Metadata-Version: 2.4
Name: regpy
Version: 1.0.0
Summary: A python library to solve Inverse and Ill-Posed problems by regularization
Author-email: Thorsten Hohage <hohage@math.uni-goettingen.de>
Project-URL: Homepage, https://num.math.uni-goettingen.de/regpy/
Project-URL: github, https://github.com/regpy/regpy
Keywords: inverse problems,ill-posed problems,regularization,numerical optimization,numerical analysis
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy<3.0,>=2.2
Requires-Dist: scipy<2.0,>=1.12
Requires-Dist: pooch<2.0,>=1.8
Requires-Dist: pytest<9.0,>=8.0
Provides-Extra: ngsolve
Requires-Dist: ngsolve<=6.2.2501,>=6.2.2404.post2; extra == "ngsolve"
Requires-Dist: mkl!=2025.0.*,>=2023.0.0; extra == "ngsolve"
Dynamic: license-file

# `RegPy`: Python tools for regularization methods

[![GitHub release (latest by date)](https://img.shields.io/github/v/release/regpy/regpy?label=latest%20release&logo=github)](https://github.com/regpy/regpy)
[![DOI](https://zenodo.org/badge/215324707.svg)](https://doi.org/10.5281/zenodo.16837824)
[![Read the Docs](https://img.shields.io/readthedocs/latest?logo=read-the-docs&logoColor=white)](https://num.math.uni-goettingen.de/regpy/)


[![PyPI](https://img.shields.io/pypi/v/regpy?color=blue&label=latest%20PyPI%20version&logo=pypi&logoColor=white)](https://pypi.org/project/regpy/)
[![PyPI - Implementation](https://img.shields.io/pypi/implementation/regpy?logo=pypi&logoColor=white)](https://pypi.org/project/regpy/)

[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/regpy/regpy/pypi.yml?branch=release&label=build%20PyPI%20Release&logo=github)](https://github.com/regpy/regpy/actions/workflows/pypi.yml)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/regpy/regpy/docker-deploy.yml?branch=release&label=build%20Docker%20Image&logo=github)](https://github.com/regpy/regpy/actions/workflows/docker-deploy.yml)


[![PyPI - Downloads](https://img.shields.io/pypi/dm/regpy?label=PyPI%20downloads&logo=pypi&logoColor=white)](https://pypi.org/project/regpy/)
[![Docker Pulls](https://img.shields.io/docker/pulls/regpy/regpy?logo=docker&logoColor=white)](https://hub.docker.com/repository/docker/regpy/regpy)

`RegPy` is a Python library developed at the [Institute for Numerical and Applied Mathematics](https://num.math.uni-goettingen.de) at the University of Göttingen. It provides tools to implement custom forward models -- both linear and non-linear -- as well as a variety of regularization methods and stopping rules.

This project is currently approaching beta quality state, but remains under active development. As a result, you may run into bugs or partially undocumented features. If you run into any issues we welcome any information on our [GitHub issue tracker](https://github.com/regpy/regpy/issues).

Detailed information and documentation of the current version can be found at <https://num.math.uni-goettingen.de/regpy/>.

## Usage examples

We offer an explanation on how to use `RegPy` [here](./USAGE.md) and our website features several detailed [usage examples](https://num.math.uni-goettingen.de/regpy/examples). These examples are provided as Jupyter notebooks that serve as a tutorial-style introduction to `RegPy`.

For a more comprehensive overview of `RegPy`'s capabilities, we provide numerous examples in the [examples GitHub repository](https://github.com/regpy/regpy-examples). These examples are also part of the docker image provided on [DockerHub](https://hub.docker.com/repository/docker/regpy/regpy) (see in the installation instructions for details). Most examples include both a commented Python script and a Jupyter notebook with more detailed explanations.

## Installation

We provide different installation methods, such installation using `pip`, listed and explained in [INSTALLATION.md](./INSTALLATION.md).

### Dependencies

- `numpy >= 1.14`
- `scipy >= 1.1`

#### Optional dependencies

- [`ngsolve`](https://ngsolve.org/), for some forward operators that require solving PDEs. We provide an optional installation tag `ngsolve` when installing with `pip`.
- [`bart`](https://mrirecon.github.io/bart/) (for the MRI operator)
- `matplotlib` (for some of the examples)
- [`sphinx`](https://www.sphinx-doc.org/en/master/) (for generating the documentation) further requirements in `doc/sphinx/requirements.txt`
