# ExoIris: Transmission Spectroscopy Made Easy
[](https://exoiris.readthedocs.io)

[](CODE_OF_CONDUCT.md)
[](http://www.gnu.org/licenses/gpl-3.0.html)
[](https://pypi.org/project/EasyTS/)
**ExoIris** is a user-friendly Python package designed to simplify and accelerate the analysis of transmission
spectroscopy data for exoplanets. The package can estimate a self-consistent medium-resolution transmission spectrum
with uncertainties from JWST NIRISS data in minutes, even when using a Gaussian Process-based noise model.

## Documentation
Read the docs at [exoiris.readthedocs.io](https://exoiris.readthedocs.io).
## Key Features
- **Fast modelling of spectroscopic transit time series**: ExoIris uses PyTransit's advanced `TSModel` transit
model that is specially tailored for fast and efficient modelling of spectroscopic transit (or eclipse) time series.
- **Flexible handling of limb darkening**: The stellar limb darkening can be modelled freely either by any of the standard
limb darkening laws (quadratic, power-2, non-linear, etc.), by numerical stellar intensity profiles obtained
directly from stellar atmosphere models, or by an arbitrary ser-defined radially symmetric function.
- **Handling of Correlated noise**: The noise model can be chosen between white or time-correlated noise, where the
time-correlated noise is modelled as a Gaussian process.
- **Model saving and loading**: Seamless model saving and loading allows one to create a high-resolution analysis starting
from a saved low-resolution analysis.
- **Full control of resolution**: ExoIris represents the transmission spectrum as a cubic spline, with complete
flexibility to set and modify the number and placement of spline knots, allowing variable resolution throughout the
analysis.
## Details
ExoIris uses PyTransit's `TSModel`, a transit model that is specially optimised for transmission spectroscopy and allows
for simultaneous modelling of hundreds to thousands of spectroscopic light curves 20-30 times faster than when using
standard transit models not explicitly designed for transmission spectroscopy.
A complete posterior solution for a low-resolution transmission spectrum with a data resolution of R=100
takes 3-5 minutes to estimate assuming white noise, or 5-15 minutes if using a Gaussian process-based likelihood
model powered by the celerite2 package. A high-resolution spectrum of the JWST NIRISS WASP-39 b observations
by [Feinstein et al. (2023)](https://ui.adsabs.harvard.edu/abs/2023Natur.614..670F/abstract) with ~3800
spectroscopic light curves (as shown above) takes about 1.5 hours to optimise and sample on a three-year-old
AMD Ryzen 7 5800X with eight cores.
---
© 2024 Hannu Parviainen
Raw data
{
"_id": null,
"home_page": null,
"name": "ExoIris",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "astronomy, astrophysics, exoplanets",
"author": null,
"author_email": "Hannu Parviainen <hannu@iac.es>",
"download_url": "https://files.pythonhosted.org/packages/08/73/ff67ad15c1252480c193800e264b35296a9ea3a78594d26bb2cd1ec90cdf/exoiris-0.15.1.tar.gz",
"platform": null,
"description": "# ExoIris: Transmission Spectroscopy Made Easy\n\n[](https://exoiris.readthedocs.io)\n\n[](CODE_OF_CONDUCT.md)\n[](http://www.gnu.org/licenses/gpl-3.0.html)\n[](https://pypi.org/project/EasyTS/)\n\n**ExoIris** is a user-friendly Python package designed to simplify and accelerate the analysis of transmission \nspectroscopy data for exoplanets. The package can estimate a self-consistent medium-resolution transmission spectrum \nwith uncertainties from JWST NIRISS data in minutes, even when using a Gaussian Process-based noise model.\n\n\n\n## Documentation\n\nRead the docs at [exoiris.readthedocs.io](https://exoiris.readthedocs.io).\n\n## Key Features\n\n- **Fast modelling of spectroscopic transit time series**: ExoIris uses PyTransit's advanced `TSModel` transit \n model that is specially tailored for fast and efficient modelling of spectroscopic transit (or eclipse) time series.\n- **Flexible handling of limb darkening**: The stellar limb darkening can be modelled freely either by any of the standard \n limb darkening laws (quadratic, power-2, non-linear, etc.), by numerical stellar intensity profiles obtained\n directly from stellar atmosphere models, or by an arbitrary ser-defined radially symmetric function.\n- **Handling of Correlated noise**: The noise model can be chosen between white or time-correlated noise, where the\n time-correlated noise is modelled as a Gaussian process.\n- **Model saving and loading**: Seamless model saving and loading allows one to create a high-resolution analysis starting\n from a saved low-resolution analysis.\n- **Full control of resolution**: ExoIris represents the transmission spectrum as a cubic spline, with complete \n flexibility to set and modify the number and placement of spline knots, allowing variable resolution throughout the \n analysis.\n\n## Details\n\nExoIris uses PyTransit's `TSModel`, a transit model that is specially optimised for transmission spectroscopy and allows\nfor simultaneous modelling of hundreds to thousands of spectroscopic light curves 20-30 times faster than when using \nstandard transit models not explicitly designed for transmission spectroscopy. \n\nA complete posterior solution for a low-resolution transmission spectrum with a data resolution of R=100 \ntakes 3-5 minutes to estimate assuming white noise, or 5-15 minutes if using a Gaussian process-based likelihood\nmodel powered by the celerite2 package. A high-resolution spectrum of the JWST NIRISS WASP-39 b observations \nby [Feinstein et al. (2023)](https://ui.adsabs.harvard.edu/abs/2023Natur.614..670F/abstract) with ~3800\nspectroscopic light curves (as shown above) takes about 1.5 hours to optimise and sample on a three-year-old \nAMD Ryzen 7 5800X with eight cores.\n\n---\n© 2024 Hannu Parviainen\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Easy and robust exoplanet transmission spectroscopy.",
"version": "0.15.1",
"project_urls": {
"homepage": "https://github.com/hpparvi/ExoIris"
},
"split_keywords": [
"astronomy",
" astrophysics",
" exoplanets"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d3baeb1f2e5ff8047efd1ae80f1133ac12fe85d36b8ab471f025d918813ed4bb",
"md5": "da072e819064201bfa046874571da1c3",
"sha256": "22611d1b9acd6d83dc1770b285b848615b3430ed89610441af84d8806f8be994"
},
"downloads": -1,
"filename": "ExoIris-0.15.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "da072e819064201bfa046874571da1c3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 52801,
"upload_time": "2025-01-30T20:06:34",
"upload_time_iso_8601": "2025-01-30T20:06:34.595037Z",
"url": "https://files.pythonhosted.org/packages/d3/ba/eb1f2e5ff8047efd1ae80f1133ac12fe85d36b8ab471f025d918813ed4bb/ExoIris-0.15.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0873ff67ad15c1252480c193800e264b35296a9ea3a78594d26bb2cd1ec90cdf",
"md5": "70e4056a9488e5addefe472baa816bba",
"sha256": "6d8d9d0ab7150275c3a6537662dad71e8e2457dc3824733821a2f91a37c84b4c"
},
"downloads": -1,
"filename": "exoiris-0.15.1.tar.gz",
"has_sig": false,
"md5_digest": "70e4056a9488e5addefe472baa816bba",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 28070111,
"upload_time": "2025-01-30T20:06:42",
"upload_time_iso_8601": "2025-01-30T20:06:42.919469Z",
"url": "https://files.pythonhosted.org/packages/08/73/ff67ad15c1252480c193800e264b35296a9ea3a78594d26bb2cd1ec90cdf/exoiris-0.15.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-30 20:06:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hpparvi",
"github_project": "ExoIris",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "pytransit",
"specs": [
[
">=",
"2.6.11"
]
]
},
{
"name": "ldtk",
"specs": [
[
">=",
"1.8.5"
]
]
},
{
"name": "numpy",
"specs": []
},
{
"name": "scipy",
"specs": []
},
{
"name": "numba",
"specs": []
},
{
"name": "emcee",
"specs": []
},
{
"name": "matplotlib",
"specs": []
},
{
"name": "celerite2",
"specs": []
},
{
"name": "pandas",
"specs": []
},
{
"name": "xarray",
"specs": []
},
{
"name": "seaborn",
"specs": []
},
{
"name": "astropy",
"specs": []
},
{
"name": "uncertainties",
"specs": []
}
],
"lcname": "exoiris"
}