Home

Awesome

PyPI version Build Status Coverage Status license DOI

ODL

Operator Discretization Library (ODL) is a Python library that enables research in inverse problems on realistic or real data. The framework allows to encapsulate a physical model into an Operator that can be used like a mathematical object in, e.g., optimization methods. Furthermore, ODL makes it easy to experiment with reconstruction methods and optimization algorithms for variational regularization, all without sacrificing performance.

For more details and an introduction into the inner workings of ODL, please refer to the documentation.

Highlights

Installation

Installing ODL should be as easy as

conda install -c odlgroup odl

or

pip install odl

For more detailed instructions, check out the Installation guide.

ODL is compatible with Python 2/3 and all major platforms (GNU/Linux / Mac / Windows).

Resources

Applications

This is an incomplete list of articles and projects using ODL. If you want to add your project to the list, contact the maintainers or file a pull request.

ArticleCode
Learning to solve inverse problems using Wasserstein loss. NIPS OMT Workshop 2017. arXiv<img src="https://github.com/favicon.ico" width="24">
Faster PET Reconstruction with a Stochastic Primal-Dual Hybrid Gradient Method. Article
Stochastic Primal-Dual Hybrid Gradient Algorithm with Arbitrary Sampling and Imaging Applications. arXiv<img src="https://github.com/favicon.ico" width="24">
Learned Primal-Dual Reconstruction. arXiv, blog<img src="https://github.com/favicon.ico" width="24">
Indirect Image Registration with Large Diffeomorphic Deformations. arXiv<img src="https://github.com/favicon.ico" width="24">
High-level algorithm prototyping: an example extending the TVR-DART algorithm. DGCI, 2017. DOI<img src="https://github.com/favicon.ico" width="24">
GPUMCI, a flexible platform for x-ray imaging on the GPU. Fully3D, 2017
Spectral CT reconstruction with anti-correlated noise model and joint prior. Fully3D, 2017<img src="https://github.com/favicon.ico" width="24">
Solving ill-posed inverse problems using iterative deep neural networks. Inverse Problems, 2017 arXiv, DOI<img src="https://github.com/favicon.ico" width="24">
Total variation regularization with variable Lebesgue prior. arXiv<img src="https://github.com/favicon.ico" width="24">
Generalized Sinkhorn iterations for regularizing inverse problems using optimal mass transport. SIAM Journal on Imaging Sciences, 2017. arXiv, DOI<img src="https://github.com/favicon.ico" width="24">
A modified fuzzy C means algorithm for shading correction in craniofacial CBCT images. CMBEBIH, 2017<img src="https://github.com/favicon.ico" width="24">
The MAX IV imaging concept. Article
Shape Based Image Reconstruction Using Linearized Deformations. Inverse Problems, 2017. DOI<img src="https://github.com/favicon.ico" width="24">
ProjectCode
Multigrid CT reconstruction<img src="https://github.com/favicon.ico" width="24">
Inverse problems over Lie groups<img src="https://github.com/favicon.ico" width="24">
Bindings for the EMRecon package for PET<img src="https://github.com/favicon.ico" width="24">
ADF-STEM reconstruction using nuclear norm regularization<img src="https://github.com/favicon.ico" width="24">

License

Mozilla Public License version 2.0 or later. See the LICENSE file.

ODL developers

Development of ODL started in 2014 as part of the project "Low complexity image reconstruction in medical imaging” by Ozan Öktem (@ozanoktem), Jonas Adler (@adler-j) and Holger Kohr (@kohr-h). Several others have made significant contributions, see the contributors list.

To contact the developers either open an issue on the issue tracker or send an email to odl@math.kth.se.

Funding

ODL has primarily been developed at KTH Royal Institute of Technology, Stockholm and Centrum Wiskunde & Informatica (CWI), Amsterdam. It is financially supported by the Swedish Foundation for Strategic Research as part of the project "Low complexity image reconstruction in medical imaging".

Some development time has also been financed by Elekta.