Skip to main content

Strong lens substructure package.

Project description

pypi ci coverage Documentation Status arxiv license

paltas is a package for conducting simulation-based inference on strong gravitational lensing images. The package builds on lenstronomy to create large datasets of strong lensing images with realistic low-mass halos, Hubble Space Telescope (HST) observational effects, and galaxy light from HST’s COSMOS field. paltas also includes the capability to easily train neural posterior estimators of the parameters of the lensing system and to run hierarchical inference on test populations.

Installation

paltas is installable via pip:

$ pip install paltas

The default paltas requirements do not include tensorflow, but if you are interested in using the modules contained in the Analysis folder, you will have to install tensorflow:

$ pip install tensorflow

Usage

The main functionality of paltas is to generate realistic datasets of strong gravitational lenses in a way that’s modular, scalable, and user-friendly. To make a dataset with paltas all you need is a configuration file which you can then pass to the generate.py script:

$ python generate.py path/to/config/file path/to/output/folder --n 100

Running the line of code above would generate 100 lenses and output them in the specified folder. paltas comes preloaded with a number of configuration files which are described in Configs/Examples/README.rst. For example, to create a dataset with HST observational effects, subhalos, and line-of-sight halos run:

$ python generate.py Configs/Examples/config_all.py example --n 100

We provide a tutorial notebook that describes how to generate your own config file.

Demos

paltas comes with a tutorial notebook for users interested in modifying the simulation classes.

Figures

Code for generating the plots included in some of the publications using paltas can be found under the corresponding arxiv number in the notebooks/papers/ folder.

Contributing

We welcome improvements via GitHub pull request! The workflow for contributing to paltas is the same as it is for lenstronomy, please see the lenstronomy CONTRIBUTING guidelines. for the rundown.

In brief, to contribute to paltas you will need to fork the repo on GitHub, clone it, and pip install with editable option, like this:

$ git clone git@github.com:<your-account>/paltas.git
$ cd paltas
$ pip install -e .

You should then work in a local development branch, while keeping your main branch up to date with the base repo on GitHub. (That means you’ll need to git remote add base https://github.com/swagnercarena/paltas.git so that you can git pull base main from your main branch).

See the lenstronomy CONTRIBUTING guidelines. for help with python style, docstring formats, creating pull requests, and so on. We recommend that you start your pull request (PR) when you _begin_ work on a new feature or bug fix, so that the rest of the paltas community can see what you are doing and coordinate with you - when your improvement is ready you can request code review from others via the PR interface. Try and restrict PRs to one feature per branch, to help keep them small and manageable. (Note that paltas uses Google docstring style.)

Attribution

If you use paltas or its datasets for your own research, please cite the paltas package (Wagner-Carena et al. 2022) as well as the lenstronomy package (Birrer & Amara 2018, Birrer et al. 2021).

Zenodo Uploads

The following is a list of the zenodo uploads associated to papers using paltas. These uploads will include additional chains, test sets, and model weights required to reproduce the paper results.

https://zenodo.org/badge/DOI/10.5281/zenodo.6326743.svg

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

paltas-0.2.0.tar.gz (79.5 kB view details)

Uploaded Source

Built Distribution

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

paltas-0.2.0-py3-none-any.whl (105.1 kB view details)

Uploaded Python 3

File details

Details for the file paltas-0.2.0.tar.gz.

File metadata

  • Download URL: paltas-0.2.0.tar.gz
  • Upload date:
  • Size: 79.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for paltas-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7add59a55f48803846a67b8a14e7df1ca623731e1da0cca65cacade97daaf930
MD5 d9479cf1405b9d8ae5d2770d3919aaaf
BLAKE2b-256 8de9c7a367bff5c4d28a644be79e70bb78eebcd950295edf82472157d5882060

See more details on using hashes here.

File details

Details for the file paltas-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: paltas-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 105.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for paltas-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5a2d5b416c5c2ba61359cd0b022aa334c76433a3ad7ebc881aa67ee86619e22b
MD5 a46fe392148d4cf93f84664009aa83e2
BLAKE2b-256 feae19f4a65c1f9c4ea9533786e273bc44b13a8a9fb39fc62edc94b07686f595

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