Skip to content

Releases: fangq/redbirdpy

RedbirdPy v0.2.0, codename Flamingo

04 Feb 06:06

Choose a tag to compare

RedbirdPy - A Model-Based Diffuse Optical Imaging Toolbox for Python

v0.2.0 (Flamingo)

Click here to register and download RedbirdPy v0.2.0

What's New

RedbirdPy v0.2.0 is the first feature-complete Python release of the Redbird diffuse optical
imaging toolbox. This release represents a comprehensive port of the original MATLAB-based
Redbird toolbox to Python, providing a fast, experimentally-validated forward solver for the
diffusion equation and advanced non-linear image reconstruction algorithms.

Notable new features include:

  • Complete Python port of the Redbird MATLAB toolbox for diffuse optical tomography (DOT)
  • Support for wide-field sources including planar, pattern, and Fourier-basis illumination
  • Analytical diffusion models for infinite, semi-infinite, and slab geometries with spherical inclusions
  • Full image reconstruction pipeline with Gauss-Newton iteration and Tikhonov regularization
  • Multiple linear solver backends: pardiso, umfpack, blqmr, qmr, minres, cg, gmres, bicgstab
  • Multi-threading support for non-blqmr solvers using multiprocessing.Pool
  • Modular solver interface with automatic backend selection
  • Comprehensive unit test suite with substantially increased code coverage
  • GitHub Actions CI pipeline supporting Python 3.6–3.14
  • Requires iso2mesh >= 0.5.4 for mesh generation

Key Features

  • Forward Modeling: FEM-based diffusion equation solver for photon fluence computation
  • Inverse Reconstruction: Iterative Gauss-Newton with multiple regularization options
  • Wide-Field Sources/Detectors: Planar, pattern, and Fourier-basis spatial modulation
  • Multi-Spectral Analysis: Wavelength-dependent simulations for chromophore estimation
  • Dual-Mesh Reconstruction: Coarse reconstruction mesh for faster inverse solving
  • Structure Priors: Laplacian, Helmholtz, and compositional prior support

The detailed updates can be found in the below change log

  • 2026-02-03 [67dc2cf] [ci] remove blocksolver for 3.7
  • 2026-02-03 [cbe5e04] [solver] use multiprocessing.Pool
  • 2026-02-03 [33b089d] [ci] debug python 3.7/3.8 13x faster than newer python
  • 2026-02-03 [e253d17] [ci] fix python3 3.14 multhprocessing error
  • 2026-02-03 [d413743] [ci] fix python 3.14 solver error, add qmr and minres solvers
  • 2026-02-02 [020aff4] [ci] fix ci error
  • 2026-02-02 [e2541c8] [ci] remove python 3.6
  • 2026-02-02 [532b4bd] [ci] allow running demo script in ci
  • 2026-02-02 [be6fea8] [doc] update README, run demo scripts in ci
  • 2026-02-02 [de03ffb] [doc] update README
  • 2026-02-02 [2c72026] [ci] add action script
  • 2026-02-02 [99ad093] [deploy] rename module name to redbirdpy
  • 2026-02-01 [eb42218] [test] substantially increase coverage with new unittests
  • 2026-02-01 [f468582] [feat] support widefield sources, all recon codes run and converges
  • 2026-02-01 [af91bfb] [feat] add analytical diffusion models
  • 2026-02-01 [234dae0] [solver] update solver interface, use iso2mesh 0.5.4
  • 2026-01-27 [1c6d837] [ci] fix recon bug
  • 2026-01-26 [e200f6a] [feat] support multi-threading in other non blqmr solvers
  • 2026-01-26 [e9fceb0] [doc] update the old redbird toolbox name
  • 2026-01-26 [4779073] [ci] separate linear solver unit, support pardiso, umfpack and blqmr
  • 2026-01-23 [5d432ca] [bug] further debug examples
  • 2026-01-23 [a48fc02] [init] initial port from matlab to Python
  • 2026-01-22 [ed7b2d6] Initial commit