Giter Club home page Giter Club logo

aspired's Introduction

Automated SpectroPhotometric Image REDuction (ASPIRED) -- A Python-based spectral data reduction toolkit

Python package Coverage Status Readthedocs Status arXiv PyPI version DOI Downloads Lines of code Code style: black

We aim to provide a suite of publicly available spectral data reduction software to facilitate rapid scientific outcomes from time-domain observations. For time resolved observations, an automated pipeline frees astronomers from performance of the routine data analysis tasks to concentrate on interpretation, planning future observations and communication with international collaborators. Part of the OPTICON project coordinates the operation of a network of largely self-funded European robotic and conventional telescopes, coordinating common science goals and providing the tools to deliver science-ready photometric and spectroscopic data. As part of this activity is SPRAT, a compact, reliable, low-cost and high-throughput spectrograph and appropriate for deployment on a wide range of 1-4m class telescopes. Installed on the Liverpool Telescope since 2014, the deployable slit and grating mechanism and optical fibre based calibration system make the instrument self-contained.

ASPIRED is written for use with python 3.7, 3.8 and 3.9 (will revisit 3.10 in the future when it becomes available with github actions), and is intentionally developed as a self-consistent reduction pipeline with its own diagnostics and error handling. The pipeline should be able to reduce 2D spectral data from raw image to wavelength and flux calibrated 1D spectrum automatically without any user input (quicklook quality). However, the real goal is to provide a set of easily configurable routines to build pipelines for long slit spectrographs on different telescopes (science quality). We use SPRAT as a test case for this development, but our aim is to support a much wider range of instruments. By delivering near real-time data reduction we will facilitate automated or interactive decision making, allowing "on-the-fly" modification of observing strategies and rapid triggering of other facilities.

Further information can be referred to this arXiv article.

Early stage development efforts can be referred to this ASPC article and this arXiv article. This is in concurrent development with the automated wavelength calibration software RASCAL, further information can be referred to this ASPC article and it will appear in the same volume of ASPCS.

Example notebooks and scripts can be found here.

Use cases

We are to cover as many use cases as possible. If you would like to apply some reduction techniques that we have overseen, please use the issue tracker to request new features. The following is the list of scenarios that we can handle:

Spectrum - full reduction

  1. Dataset with science and standard field-flattened images and the respective arc image.

Spectrum - ADU spectrum extraction only (No flux calibration)

  1. Dataset with science field-flattened image and the arc image only.

Spectrum - wavelength calibration only (Pre wavelength-calibrated)

  1. Dataset with science and standard field-flattened images only.

Spectrum - other cases for full or partial reduction

  1. User supplied trace(s) for light spectrum extraction (only to extract ADU/s of the spectra).
  2. User supplied trace(s) for arc extraction (only to get wavelength calibration polynomial).
  3. User supplied wavelength calibration polynomial coefficients.
  4. User supplied line list.
  5. User supplied pixel-to-wavelength mapping (not fitted).
  6. User supplied sensitivity curve.
  7. Flux calibration for user supplied wavelength calibrated science and standard 1D spectra.
  8. Apply atmospheric extinction correction.
  9. Apply basic telluric absorption correction.

Output

  1. Save diagnostic plots in these formats.
  2. Save data in FITS (with header information) or ascii (csv).

See the examples of these use cases at aspired-example.

Dependencies

  • python >= 3.8 (It should work on 3.6 and 3.7 if you can sort out the astropy (>=5.0) requirement of >=3.8)
  • numpy >= 1.18 (It should work with much older numpy if you can sort out the astropy (>=5.0) requirement of >=1.18)
  • scipy >= 1.7
  • astropy >= 4.3
  • astroscrappy >= 1.1
  • ccdproc
  • plotly >= 5.0
  • rascal >= 0.3.4
  • spectres >= 2.1.1
  • statsmodels >= 0.13

Installation

Instructions can be found here.

Reporting issues/feature requests

Please use the issue tracker to report any issues or support questions.

Getting started

The quickstart guide will show you how to reduce the example dataset.

Contributing Code/Documentation

If you are interested in contributing code to the project, thank you! For those unfamiliar with the process of contributing to an open-source project, you may want to read through Github’s own short informational section on how to submit a contribution or send me a message.

Style -- black. See the .pre-commit-config.yaml for the other requirements.

Funding bodies

  1. European Union’s Horizon 2020 research and innovation programme (grant agreement No. 730890) (January 2019 - March 2020)
  2. Polish NCN grant Daina No. 2017/27/L/ST9/03221 (May - June 2020)
  3. European Research Council Starting Grant (grant agreement No. 852097) (Sept 2020 - Current)

Citation

If you make use of the ASPIRED toolkit, we would appreciate if you can refernce the two articles and two pieces of software listed below:

  1. ASPIRED arXiv article
  2. ASPIRED Zenodo
  3. RASCAL arXiv article
  4. RASCAL Zenodo

aspired's People

Contributors

cylammarco avatar dependabot-preview[bot] avatar dependabot[bot] avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.