{"id":22899627,"url":"https://github.com/deepinv/deepinv","last_synced_at":"2025-08-12T04:30:43.721Z","repository":{"id":153969570,"uuid":"599950865","full_name":"deepinv/deepinv","owner":"deepinv","description":"PyTorch library for solving imaging inverse problems using deep learning","archived":false,"fork":false,"pushed_at":"2024-10-29T09:25:21.000Z","size":104129,"stargazers_count":309,"open_issues_count":22,"forks_count":71,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-10-29T09:27:33.064Z","etag":null,"topics":["computational-imaging","computed-tomography","deblurring","deep-equilibrium-models","deep-learning","diffusion-models","image-processing","inverse-problems","mri","plug-and-play","super-resolution","unfolded"],"latest_commit_sha":null,"homepage":"https://deepinv.github.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deepinv.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-10T08:40:58.000Z","updated_at":"2024-10-29T08:36:04.000Z","dependencies_parsed_at":"2023-12-23T12:23:37.692Z","dependency_job_id":"fb7c84a0-a781-43af-a12d-e09065a9ccd5","html_url":"https://github.com/deepinv/deepinv","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepinv%2Fdeepinv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepinv%2Fdeepinv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepinv%2Fdeepinv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepinv%2Fdeepinv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deepinv","download_url":"https://codeload.github.com/deepinv/deepinv/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229633494,"owners_count":18101875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computational-imaging","computed-tomography","deblurring","deep-equilibrium-models","deep-learning","diffusion-models","image-processing","inverse-problems","mri","plug-and-play","super-resolution","unfolded"],"created_at":"2024-12-14T01:01:17.237Z","updated_at":"2025-08-12T04:30:43.684Z","avatar_url":"https://github.com/deepinv.png","language":"Python","funding_links":[],"categories":["Python","🛸 Other"],"sub_categories":["🩻 Image reconstruction"],"readme":".. image:: https://github.com/deepinv/deepinv/raw/main/docs/source/figures/deepinv_logolarge.png\n   :width: 500px\n   :alt: deepinv logo\n   :align: center\n\n\n|Test Status| |Docs Status| |Python Version| |Black| |codecov| |pip install| |discord| |colab|   \n\n\nIntroduction\n------------\nDeepInverse is an open-source PyTorch-based library for solving imaging inverse problems using deep learning. The goal of ``deepinv`` is to accelerate the development of deep learning based methods for imaging inverse problems, by combining popular learning-based reconstruction approaches in a common and simplified framework, standardizing forward imaging models and simplifying the creation of imaging datasets.\n\n``deepinv`` features\n\n\n* A large collection of `predefined imaging operators \u003chttps://deepinv.github.io/deepinv/user_guide/physics/physics.html\u003e`_ (MRI, CT, deblurring, inpainting, etc.)\n* `Training losses \u003chttps://deepinv.github.io/deepinv/user_guide/training/loss.html\u003e`_ for inverse problems (self-supervised learning, regularization, etc.)\n* Many `pretrained deep denoisers \u003chttps://deepinv.github.io/deepinv/user_guide/reconstruction/weights.html\u003e`_ which can be used for `plug-and-play restoration \u003chttps://deepinv.github.io/deepinv/user_guide/reconstruction/iterative.html\u003e`_\n* A framework for `building datasets \u003chttps://deepinv.github.io/deepinv/user_guide/training/datasets.html\u003e`_ for inverse problems\n* Easy-to-build `unfolded architectures \u003chttps://deepinv.github.io/deepinv/user_guide/reconstruction/unfolded.html\u003e`_ (ADMM, forward-backward, deep equilibrium, etc.)\n* `Sampling algorithms \u003chttps://deepinv.github.io/deepinv/user_guide/reconstruction/sampling.html\u003e`_ for uncertainty quantification (Langevin, diffusion, etc.)\n* A large number of well-explained `examples \u003chttps://deepinv.github.io/deepinv/auto_examples/index.html\u003e`_, from basics to state-of-the-art methods\n\n.. image:: https://github.com/deepinv/deepinv/raw/main/docs/source/figures/deepinv_schematic.png\n   :width: 1000px\n   :alt: deepinv schematic\n   :align: center\n\n\nDocumentation\n-------------\n\nRead the documentation and examples at `https://deepinv.github.io \u003chttps://deepinv.github.io\u003e`_.\n\nInstall\n-------\n\nTo install the latest stable release of ``deepinv``, you can simply do:\n\n.. code-block:: bash\n\n    pip install deepinv\n\n    # or using uv for faster installation\n\n    uv pip install deepinv\n\nYou can also install the latest version of ``deepinv`` directly from github:\n\n.. code-block:: bash\n\n    pip install git+https://github.com/deepinv/deepinv.git#egg=deepinv\n\nYou can also install additional dependencies needed for some modules in deepinv.datasets and deepinv.models:\n\n.. code-block:: bash\n\n    pip install deepinv[dataset,denoisers]\n\n    # or\n\n    pip install git+https://github.com/deepinv/deepinv.git#egg=deepinv[dataset,denoisers]\n\nSince ``deepinv`` is under active development, you can update to the latest version easily using:\n\n.. code-block:: bash\n\n    pip install --upgrade --force-reinstall --no-deps git+https://github.com/deepinv/deepinv.git#egg=deepinv\n\n\nQuickstart\n----------\nTry out the following plug-and-play image inpainting example:\n\n.. code-block:: python\n\n   import deepinv as dinv\n   from deepinv.utils import load_example\n\n   x = load_example(\"cameraman.png\", img_size=512, grayscale=True, device='cpu')\n\n   physics = dinv.physics.Inpainting((1, 512, 512), mask = 0.5, \\\n                                       noise_model=dinv.physics.GaussianNoise(sigma=0.01))\n\n   data_fidelity = dinv.optim.data_fidelity.L2()\n   prior = dinv.optim.prior.PnP(denoiser=dinv.models.MedianFilter())\n   model = dinv.optim.optim_builder(iteration=\"HQS\", prior=prior, data_fidelity=data_fidelity, \\\n                                    params_algo={\"stepsize\": 1.0, \"g_param\": 0.1})\n   y = physics(x)\n   x_hat = model(y, physics)\n   dinv.utils.plot([x, y, x_hat], [\"signal\", \"measurement\", \"estimate\"], rescale_mode='clip')\n\n\nAlso try out `one of the examples \u003chttps://deepinv.github.io/deepinv/auto_examples/index.html\u003e`_ to get started or check out our comprehensive `User Guide \u003chttps://deepinv.github.io/deepinv/user_guide.html\u003e`_.\n\nContributing\n------------\n\nDeepInverse is a community-driven project and welcomes contributions of all forms.\nWe are building a comprehensive library of inverse problems and deep learning,\nand we need your help to get there!\n\nPlease contribute to ``deepinv`` by forking the `main\nrepository \u003chttps://github.com/deepinv/deepinv/\u003e`_ on GitHub,\nthen submit a \"Pull Request\" (PR). See our `contributing guide \u003chttps://deepinv.github.io/deepinv/contributing.html\u003e`_\nfor full instructions on how to contribute.\n\n\nFinding help\n------------\n\nIf you have any questions or suggestions, please join the conversation in our\n`Discord server \u003chttps://discord.gg/qBqY5jKw3p\u003e`_. The recommended way to get in touch with the developers is to open an issue on the\n`issue tracker \u003chttps://github.com/deepinv/deepinv/issues\u003e`_.\n\nMaintainers\n-----------\n\nView our current and former maintainers, and how to get in touch, at `MAINTAINERS \u003chttps://github.com/deepinv/deepinv/blob/main/MAINTAINERS.md\u003e`_.\n\n\nCitation\n--------\nIf you use DeepInverse in your research, please cite the following paper (available on `arXiv \u003chttps://arxiv.org/abs/2505.20160\u003e`_):\n\n\n.. code-block:: bash\n\n    @software{tachella2025deepinverse,\n          title={DeepInverse: A Python package for solving imaging inverse problems with deep learning},\n          author={Julián Tachella and Matthieu Terris and Samuel Hurault and Andrew Wang and Dongdong Chen and Minh-Hai Nguyen and Maxime Song and Thomas Davies and Leo Davy and Jonathan Dong and Paul Escande and Johannes Hertrich and Zhiyuan Hu and Tobías I. Liaudat and Nils Laurent and Brett Levac and Mathurin Massias and Thomas Moreau and Thibaut Modrzyk and Brayan Monroy and Sebastian Neumayer and Jérémy Scanvic and Florian Sarron and Victor Sechaud and Georg Schramm and Romain Vo and Pierre Weiss},\n          year={2025},\n          eprint={2505.20160},\n          archivePrefix={arXiv},\n          primaryClass={eess.IV},\n          url={https://arxiv.org/abs/2505.20160},\n    }\n\n\nStar history\n------------\n\n.. image:: https://api.star-history.com/svg?repos=deepinv/deepinv\u0026type=Date\n   :alt: Star History Chart\n   :target: https://www.star-history.com/#deepinv/deepinv\u0026Date\n\n\n.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :target: https://github.com/psf/black\n.. |Test Status| image:: https://github.com/deepinv/deepinv/actions/workflows/test.yml/badge.svg\n   :target: https://github.com/deepinv/deepinv/actions/workflows/test.yml\n.. |Docs Status| image:: https://github.com/deepinv/deepinv/actions/workflows/documentation.yml/badge.svg\n   :target: https://github.com/deepinv/deepinv/actions/workflows/documentation.yml\n.. |Python Version| image:: https://img.shields.io/badge/python-3.10%2B-blue\n   :target: https://www.python.org/downloads/release/python-3100/\n.. |codecov| image:: https://codecov.io/gh/deepinv/deepinv/branch/main/graph/badge.svg?token=77JRvUhQzh\n   :target: https://codecov.io/gh/deepinv/deepinv\n.. |pip install| image:: https://img.shields.io/pypi/dm/deepinv.svg?logo=pypi\u0026label=pip%20install\u0026color=fedcba\n   :target: https://pypistats.org/packages/deepinv\n.. |discord| image:: https://dcbadge.limes.pink/api/server/qBqY5jKw3p?style=flat\n   :target: https://discord.gg/qBqY5jKw3p\n.. |colab| image:: https://colab.research.google.com/assets/colab-badge.svg\n   :target: https://colab.research.google.com/drive/1XhCO5S1dYN3eKm4NEkczzVU7ZLBuE42J\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepinv%2Fdeepinv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeepinv%2Fdeepinv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepinv%2Fdeepinv/lists"}