Metadata-Version: 2.1
Name: pxmcmc
Version: 1.0.0
Summary: Proximal Markov Chain Monte Carlo
Home-page: https://github.com/auggiemarignier/pxmcmc
License: GPL-3.0-or-later
Author: Auggie Marignier
Author-email: augustin.marignier.14@ucl.ac.uk
Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Provides-Extra: cartopy
Provides-Extra: docs
Requires-Dist: Cartopy (>=0.19.0,<0.20.0) ; extra == "cartopy"
Requires-Dist: astropy (>=5.0.4,<6.0.0)
Requires-Dist: greatcirclepaths (>=1.1.0,<2.0.0)
Requires-Dist: h5py (>=3.3.0,<4.0.0)
Requires-Dist: matplotlib (>=3.4.2,<4.0.0)
Requires-Dist: numpy (>=1.21.1,<2.0.0)
Requires-Dist: pys2let (>=2.2.3,<3.0.0)
Requires-Dist: pyssht (>=1.4.0,<2.0.0)
Requires-Dist: scipy (>=1.9.2,<2.0.0)
Requires-Dist: sphinx (>=4,<5) ; extra == "docs"
Requires-Dist: sphinx-rtd-theme (>=1.0.0,<2.0.0) ; extra == "docs"
Project-URL: Documentation, https://pxmcmc.readthedocs.io/en/latest/index.html
Project-URL: Repository, https://github.com/auggiemarignier/pxmcmc
Description-Content-Type: text/markdown

[![PyPI version](https://badge.fury.io/py/pxmcmc.svg)](https://badge.fury.io/py/pxmcmc) [![Documentation Status](https://readthedocs.org/projects/pxmcmc/badge/?version=latest)](https://pxmcmc.readthedocs.io/en/latest/?badge=latest) [![test](https://github.com/auggiemarignier/pxmcmc/actions/workflows/python-app.yml/badge.svg)](https://github.com/auggiemarignier/pxmcmc/actions/workflows/python-app.yml) [![status](https://joss.theoj.org/papers/ed274b8490fbc89365e6e0a993f73d86/status.svg)](https://joss.theoj.org/papers/ed274b8490fbc89365e6e0a993f73d86)

# Python ProxMCMC

## Installation

Available on [pypi](https://pypi.org/project/pxmcmc/)

```bash
pip install pxmcmc
```

If installing from source it recommended to use [poetry](https://python-poetry.org/)

```bash
git clone https://github.com/auggiemarignier/pxmcmc
cd pxmcmc
poetry install
source <ENVIRONMENT_LOCATION>/bin/activate
pytest
```

## Documentation

Full documentation available on [readthedocs](https://pxmcmc.readthedocs.io/en/latest/?badge=latest).

## Examples

Examples of how to use this code with sample data are found in the `experiments` directory.
Please start with the `earthtopography` example, which will quickly run something to get you going!

```bash
cd experiments/earthtopography
python main.py --infile ETOPO1_Ice_hpx_256.fits
python plot.py myula_synthesis_<timestamp>.hdf5 .
```

The `phasevel` and `weaklensing` examples replicate the work shown [in this paper](https://doi.org/10.1093/rasti/rzac010).

## Contributing

Contributions to the package are encouraged! If you wish to contribute, are experiencing problems with the code or need further support, please open an [issue](https://github.com/auggiemarignier/pxmcmc/issues/new) to start a discussion.  Changes will be integrated via pull requests.

## CITATION
If you use this package in your work please cite the following papers

Marignier (2023) PxMCMC: A Python package for proximal Markov Chain Monte Carlo, Journal of Open Source Software, 0(0), 5582. https://doi.org/10.xxxxxx

Marignier et al., Posterior sampling for inverse imaging problems on the sphere in seismology and cosmology, RAS Techniques and Instruments, Volume 2, Issue 1, January 2023, Pages 20–32, https://doi.org/10.1093/rasti/rzac010

