Skip to main content

Operator Discretization Library

Project description

Anaconda-Server Badge 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

  • A versatile and efficient library of optimization routines for smooth and non-smooth problems, such as CGLS, BFGS, PDHG and Douglas-Rachford splitting.
  • Support for tomographic imaging with a unified geometry representation and bindings to external libraries for efficient computation of projections and back-projections.
  • And much more, including support for deep learning libraries, figures of merits, phantom generation, data handling, etc.

Installation

Installing ODL should be as easy as

pip install odl==1.0.0b1

For more detailed instructions, check out the Installation guide.

ODL is compatible with Python 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.

Article Code
Learning to solve inverse problems using Wasserstein loss. NIPS OMT Workshop 2017. arXiv
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
Learned Primal-Dual Reconstruction. arXiv, blog
Indirect Image Registration with Large Diffeomorphic Deformations. arXiv
High-level algorithm prototyping: an example extending the TVR-DART algorithm. DGCI, 2017. DOI
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
Solving ill-posed inverse problems using iterative deep neural networks. Inverse Problems, 2017 arXiv, DOI
Total variation regularization with variable Lebesgue prior. arXiv
Generalized Sinkhorn iterations for regularizing inverse problems using optimal mass transport. SIAM Journal on Imaging Sciences, 2017. arXiv, DOI
A modified fuzzy C means algorithm for shading correction in craniofacial CBCT images. CMBEBIH, 2017
The MAX IV imaging concept. Article
Shape Based Image Reconstruction Using Linearized Deformations. Inverse Problems, 2017. DOI
Project Code
Multigrid CT reconstruction
Inverse problems over Lie groups
Bindings for the EMRecon package for PET
ADF-STEM reconstruction using nuclear norm regularization

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). Since 2023, Justus Sagemüller (@leftaroundabout) and Emilien Valat (@Emvlt) have been ODL's main developers. 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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

odl-1.0.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

odl-1.0.0-py3-none-any.whl (824.9 kB view details)

Uploaded Python 3

File details

Details for the file odl-1.0.0.tar.gz.

File metadata

  • Download URL: odl-1.0.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for odl-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d0f43a03a9c1d3329c58c5a56117cc0e3dd933b52de9e034068308b55e0cab9c
MD5 838ebf5e50eecf43d5c2559f9f0d5d88
BLAKE2b-256 fffb818471611eea06e4f9c94f98aed288b7330a06e563364e70b2b54c87b4de

See more details on using hashes here.

Provenance

The following attestation bundles were made for odl-1.0.0.tar.gz:

Publisher: python-publish.yml on odlgroup/odl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odl-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: odl-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 824.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for odl-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b7ebf6725b3f200e5b4b86f60d219b78d0bfcb5c2ae6b621860f975441249f29
MD5 c4dde70e54142ca38859e2ee2df18074
BLAKE2b-256 a777b6e9138a77b0f78139756f930cd50ecc7228e44b00c44d724bec4c2c053a

See more details on using hashes here.

Provenance

The following attestation bundles were made for odl-1.0.0-py3-none-any.whl:

Publisher: python-publish.yml on odlgroup/odl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page