songpipe
is the new default extraction pipeline for SONG (Stellar Observations Network Group), currently supporting the Tenerife and Australia nodes.
songpipe
runs in Python (version 3.8 or higher) and works as a wrapper around the core routines of PyReduce (Piskunov & Valenti (2002), Piskunov, Wehrhahn & Marquart (2020)). As PyReduce was not being actively maintained for a period, and some adjustments of the code were necessary, songpipe
uses a fork of the PyReduce repository, located here. Most of our changes have since been implemented in the official PyReduce
repository, except some changes in header keywords that are difficult to resolve without breaking compatibility (see pull request).
songpipe
is still being developed (see below).
- Create and enter a virtual environment (
venv /path/to/new/virtual/environment
) - Download the modified version of
PyReduce
(https://github.com/tronsgaard/PyReduce) and install it usingpip install --editable .
from within the folder (the--editable
flag can be omitted, but it makes it easier to update the code). - Download the latest release of
songpipe
or simply checkout this repository (git checkout https://github.com/tronsgaard/songpipe.git
). - Install required packages listed in requirements.txt.
- Note: Packages
dill
andcolorlog
are optional and only required for FITS header caching and colored terminal output, respectively.
- Note: Packages
songpipe
runs from the terminal, just execute run_australia.py
or run_tenerife.py
located in the root of the repository. For full syntax, call the script with --help
.
The scripts must be called with a date string (YYYYMMDD
) as the first argument. The keywords --rawdir DIRPATH
and --outdir DIRPATH
speficiy the location of the input and output directories. If called with --confirm
, the script will pause and ask the user to confirm the settings and directory structure before proceeding.
astropy.io.fits
regularly complains about truncated FITS files, but no actual issues with the files have been found.- Extraction of single files using
--extract
keyword is currently not working as expected.
- Include subtraction of scattered light
- Include order curvature for Tenerife
- Include bad pixel mask
- Support pre-CMOS Tenerife data
- Multiprocessing support
- Automatic deletion of intermediate files (
prep/
directory) - Easier installation with pip (create setup.py)
- A more detailed description of how
songpipe
works - Instructions for setting up a new instrument
PyReduce
documentation