Skip to main content

A two-channel deconvolution method with Starlet regularization

Project description

STARRED: STARlet REgularized Deconvolution

pipeline status coverage report Python 3.9 License: GPL v3 DOI pypi

STARlet REgularized Deconvolution (STARRED) is a Python deconvolution method powered by Starlet regularization and JAX automatic differentiation. It uses a Point Spread Function (PSF) narrower than the original one as kernel.

Installation

Through PyPI

STARRED releases are distributed through the Python Package Index (PyPI). To install the latest version use pip:

$ pip install starred-astro

Through Anaconda

We provide an Anaconda environment that satisfies all the dependencies in starred-env.yml.

$ git clone https://gitlab.com/cosmograil/starred.git
$ cd starred
$ conda env create -f starred-env.yml
$ conda activate starred-env
$ pip install .

In case you have an NVIDIA GPU, this should automatically download the right version of JAX as well as cuDNN. Next, you can run the tests to make sure your installation is working correctly.

# While still in the STARRED directory:
$ pytest . 

Manually handling the dependencies

If you want to use an existing environment, just omit the Anaconda commands above:

$ git clone https://gitlab.com/cosmograil/starred
$ cd starred 
$ pip install .

or if you need to install it for your user only:

$ python setup.py install --user 

STARRED runs much faster on GPUs, so make sure you install a version of JAX that is compatible with your version of CUDA and cuDNN. Refer to the installation page of the JAX documentation.

Requirements

STARRED requires the following Python packages:

  • astropy
  • dill
  • jax
  • jaxlib
  • jaxopt
  • matplotlib
  • numpy
  • scipy
  • optax
  • tqdm
  • h5py

Additionnaly, the following package needs to be installed if you want to sample posterior distribution:

  • emcee
  • mclmc

Other optional dependencies are required for specific functionalities:

  • scikit-image for the reconstruction of the narrow PSF from a PSF model.
  • pyregion for the reading of DS9 region files.

Example Notebooks and Documentation

We provide several notebooks to help you get started.

Start here to grasp the basic STARRED workflow.

More example notebooks going in more detail of how the internals work can be found in the notebooks directory:

The mathematical formalism along with further examples are also presented in Millon et al. (2024). All the examples and tests presented in this paper can be reproduced from this repository:

You can also run STARRED from the command line by following these instructions.

Finally, the full documentation can be found here and a video presentation of STARRED is accessible on Youtube.

STARRED users community

If you want to join the STARRED users community on Slack to ask questions, propose future developments or share your latest results, please send an email to this address to get an invitation link.

Attribution

If you use this code, please cite Michalewicz et al. 2023 and Millon et al. 2024 as indicated in the documentation.

License

STARRED is a free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation.

STARRED is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details (LICENSE.txt).

Project details


Download files

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

Source Distribution

starred_astro-1.4.4.tar.gz (101.2 kB view details)

Uploaded Source

Built Distribution

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

starred_astro-1.4.4-py3-none-any.whl (117.6 kB view details)

Uploaded Python 3

File details

Details for the file starred_astro-1.4.4.tar.gz.

File metadata

  • Download URL: starred_astro-1.4.4.tar.gz
  • Upload date:
  • Size: 101.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.3

File hashes

Hashes for starred_astro-1.4.4.tar.gz
Algorithm Hash digest
SHA256 b7cb3061bfa5ceb672dce65f6cd33fe60c3544ecbad91f1630376ecc98dff097
MD5 1ad28f2a6cab9a36004c45f14941b0c5
BLAKE2b-256 31a7062dedce8c4a9c5391a81652993208d513cf21a51066505b77ad33a5c4ba

See more details on using hashes here.

File details

Details for the file starred_astro-1.4.4-py3-none-any.whl.

File metadata

  • Download URL: starred_astro-1.4.4-py3-none-any.whl
  • Upload date:
  • Size: 117.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.3

File hashes

Hashes for starred_astro-1.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 bdc37003028e6c1d0cc5cba34f40e13951b11f4ee6414d3b8a22e0723e3376cd
MD5 b4bda1b2b95e4ed7ab7e9cf195c26a31
BLAKE2b-256 fe2d1f56619e78db9ac53ce625c9094660bf0e0b8167da366215388fa1b45257

See more details on using hashes here.

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