All Projects → odlgroup → Odl

odlgroup / Odl

Licence: mpl-2.0
Operator Discretization Library https://odlgroup.github.io/odl/

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Odl

okama
Investment portfolio and stocks analyzing tools for Python with free historical data
Stars: ✭ 87 (-56.06%)
Mutual labels:  optimization, mathematics
Cppnumericalsolvers
a lightweight C++17 library of numerical optimization methods for nonlinear functions (Including L-BFGS-B for TensorFlow)
Stars: ✭ 638 (+222.22%)
Mutual labels:  mathematics, optimization
autodiff
A .NET library that provides fast, accurate and automatic differentiation (computes derivative / gradient) of mathematical functions.
Stars: ✭ 69 (-65.15%)
Mutual labels:  optimization, mathematics
Casadi
CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs. It supports self-contained C-code generation and interfaces state-of-the-art codes such as SUNDIALS, IPOPT etc. It can be used from C++, Python or Matlab/Octave.
Stars: ✭ 714 (+260.61%)
Mutual labels:  mathematics, optimization
Teaching
Teaching Materials for Dr. Waleed A. Yousef
Stars: ✭ 435 (+119.7%)
Mutual labels:  mathematics, optimization
Bfgs Neldermead Trustregion
Python implementation of some numerical (optimization) methods
Stars: ✭ 8 (-95.96%)
Mutual labels:  mathematics, optimization
Optaplanner
AI constraint solver in Java to optimize the vehicle routing problem, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.
Stars: ✭ 2,454 (+1139.39%)
Mutual labels:  optimization
Devtools Playground
Standalone Devtools for prototyping & debugging
Stars: ✭ 190 (-4.04%)
Mutual labels:  prototyping
Motorhead
A Rails Engine framework that helps safe and rapid feature prototyping
Stars: ✭ 182 (-8.08%)
Mutual labels:  prototyping
Quant Notes
Quantitative Interview Preparation Guide, updated version here ==>
Stars: ✭ 180 (-9.09%)
Mutual labels:  optimization
Ompr
R package to model Mixed Integer Linear Programs
Stars: ✭ 198 (+0%)
Mutual labels:  optimization
Peroxide
Rust numeric library with R, MATLAB & Python syntax
Stars: ✭ 191 (-3.54%)
Mutual labels:  optimization
Coz
Coz: Causal Profiling
Stars: ✭ 2,719 (+1273.23%)
Mutual labels:  optimization
Hyperactive
A hyperparameter optimization and data collection toolbox for convenient and fast prototyping of machine-learning models.
Stars: ✭ 182 (-8.08%)
Mutual labels:  optimization
Pybotics
The Python Toolbox for Robotics
Stars: ✭ 192 (-3.03%)
Mutual labels:  mathematics
Ml Systems
papers on scalable and efficient machine learning systems
Stars: ✭ 182 (-8.08%)
Mutual labels:  optimization
Pygpgo
Bayesian optimization for Python
Stars: ✭ 196 (-1.01%)
Mutual labels:  optimization
Swiftymath
Pure Math in Pure Swift.
Stars: ✭ 182 (-8.08%)
Mutual labels:  mathematics
Flips
Fsharp LInear Programming System
Stars: ✭ 188 (-5.05%)
Mutual labels:  optimization
Protovue
A prototyping component library
Stars: ✭ 195 (-1.52%)
Mutual labels:  prototyping

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

  • 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

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.

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). 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 [email protected].

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].