Stripe Weighted Least Squares (SWLS) method added to the list of data fidelities. Demo with dendrites (RealData.py) demonstrates the benefit of using such method.
We apologise for the abrupt change, but starting from this version, iterative reconstruction methods will no longer be accessible through the RecToolsIR class. Only RecToolsIRCuPy will be supported going forward.
The primary reason for this decision is our intention to remove the dependency on the Regularisation Toolkit. Our goal is to move toward a fully CuPy-based solution that does not rely on pre-built external libraries, is quick to install, and remains effectively OS-agnostic. Maintaining compatibility with the pre-built Regularisation Toolkit, while simultaneously supporting two reconstruction classes — RecToolsIR (dependent on it) and RecToolsIRCuPy (independent of it) — has become increasingly time-consuming and difficult to justify. Especially as the software being in production where only methods from RecToolsIRCuPy are in use.
Moreover, the practical benefit of continuing to maintain RecToolsIR is limited, as the corresponding methods implemented in `RecToolsIRCuPy are significantly faster and more efficient.
We are actively developing `RecToolsIRCuPy, and further improvements are ongoing. Please note that additional breaking changes may occur in future releases as development progresses.
We appreciate your understanding and patience during this transition. The access to RecToolsIR still possible from older versions.
Changes:
RecToolsIRclass and all associated tests were removed. The old demos are still available inmethods_IR_legacy.- Dependency on Regularisation Toolkit is dropped.
- Significant refactoring of the
RecToolsIRCuPyclass. - Breaking change that removes
datafidelityfrom the class and one can control data fidelities from the_data_dictionary given as_data_["data_fidelity"]. OS_numberadded toRecToolsIRCuPyclass as it is a geometry related parameter.- Ordered Subsets Expectation Maximization (OSEM) and MLEM added in
RecToolsIRCuPyfor emission-type data. - Upgrade of dependencies to CuPy 14.* and numpy 2.4.
The ADMM implementation has been replaced with a new linearised variant that avoids the use of SciPy linear algebra solvers and instead relies directly on gradient-descent–type iterations. With appropriate parameter selection, this approach converges quickly and exhibits improved numerical stability.
Rewriting ADMM in this linearised form also enabled further acceleration through the use of CuPy and ordered subsets. When warm-started with an FBP reconstruction and combined with ADMM-OS and regularisation, the reconstruction can be performed very efficiently, often requiring only a few iterations (e.g., the reconstruction bellow is done with 24 subsets and 2 iterations of the method).
To better communicate breaking changes, ToMoBAR is moving from calendar versioning to semantic versioning (mixed). The initial 2026.1.0.0 release is based on the 2025.12 version.
DetectorsDimH_pad parameter works now in CuPy iterative methods available in RecToolsIRCuPy class.
This allows reconstructing without artifacts on the edges of the reconstruction grid. Especially useful for
reconstructing data that is larger than the field of view.
SIRT CuPy algorithm has been fixed.
FISTA iterative method in RecToolsIRCuPy dropped its dependency on Regularisation Toolkit. Currently two regularisers
available to use: PD_TV and ROF_TV and they were accelerated and optimised. Therefore, FISTA with CuPy is up to 3 times faster compared
to the previous version and potentially a magnitude faster compared to FISTA in RecToolsIR.
-
$\sf\color{red}Breaking$ $\sf\color{red}changes!$ The API for initializing geometry in both direct and iterative methods (theRecToolsclass) has been updated. A new parameter,DetectorsDimH_pad, has been introduced to control edge padding along the detector's horizontal dimension. This parameter can help reduce circular/arc artifacts in reconstructions, such as saturated circles or arcs. See updated Tutorials and Demos. - Log-Polar method (
FOURIER_INVinRecToolsDIRCuPy) has been further accelerated and it is significantly faster FBP.
