Package: aspired
Automated SpectroPhotometric Image REDuction (ASPIRED) -- A Python-based spectral data reduction toolkitWe 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 isSPRAT, 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, 3.9, 3.10 and 3.11, 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 thisAJ article.Early stage development efforts can be referred to thisASPC articleand thisarXiv article. This is in concurrent development with the automated wavelength calibration softwareRASCAL, further information can be referred to thisASPC articleand it will appear in the same volume of ASPCS.Example notebooks and scripts can be found ataspired-example. More examples can be found at the github repository of the journal articlehere, e.g.:Use casesWe are to cover as many use cases as possible. If you would like to apply some reduction techniques that we have overseen, please use theissue trackerto request new features. The following is the list of scenarios that we can handle:Spectrum - full reductionDataset with science and standard field-flattened images and the respective arc image.Spectrum - ADU spectrum extraction only (No flux calibration)Dataset with science field-flattened image and the arc image only.Spectrum - wavelength calibration only (Pre wavelength-calibrated)Dataset with science and standard field-flattened images only.Spectrum - other cases for full or partial reductionUser supplied trace(s) for light spectrum extraction (only to extract ADU/s of the spectra).User supplied trace(s) for arc extraction (only to get wavelength calibration polynomial).User supplied wavelength calibration polynomial coefficients.User supplied line list.User supplied pixel-to-wavelength mapping (not fitted).User supplied sensitivity curve.Flux calibration for user supplied wavelength calibrated science and standard 1D spectra.Apply atmospheric extinction correction.Apply basic telluric absorption correction.OutputSave diagnostic plots inthese formats.Save data in FITS (with header information) or ascii (csv).See the examples of these use cases ataspired-example.Dependenciespython >= 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.21scipy>= 1.7astropy>= 4.3astroscrappy>= 1.1ccdprocplotly>= 5.0rascal>= 0.3.10, < 4.0spectresc>= 1.0.2statsmodels>= 0.13InstallationInstructions can be foundhere.Reporting issues/feature requestsPlease use theissue trackerto report any issues or support questions.Getting startedThequickstart guidewill show you how to reduce the example dataset.Contributing Code/DocumentationIf 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 acontributionor send me a message.Style -- black. See the .pre-commit-config.yaml for the other requirements.Funding bodiesEuropean Union’s Horizon 2020 research and innovation programme (grant agreement No. 730890)
(January 2019 - March 2020)Polish NCN grant Daina No. 2017/27/L/ST9/03221
(May - June 2020)European Research Council Starting Grant (grant agreement No. 852097)
(Sept 2020 - Current)CitationIf you make use of the ASPIRED toolkit, we would appreciate if you can refernce the two articles and two pieces of software listed below:ASPIRED AJ articleASPIRED ZenodoRASCAL arXiv articleRASCAL Zenodo