PyLongslit’s documentation page

PyLongslit is a simple manual Python pipeline for processing of astronomical long-slit spectra recorded with CCD detectors. At the current version, the software can produce following products:

  1. A calibrated 2D spectrum in counts/wavelength.

  2. A 1D spectrum extracted from the 2D spectrum in counts/wavelength (for point-like objects).

  3. A flux-calibrated 1D spectrum in \(\text{erg}/\text{s}/\text{cm}^2/\text{Å}\) (for point-like objects).

The software is designed to be instrument-independent, and is designed to work with data that has the following characteristics:

  1. The data is taken by a long-slit spectrograph. I.e. the data is 2D, with spatial information along one axis and spectral information along the other.

  2. The data is recorded with a single CCD detector (or a mosaic of CCD detectors that are treated as one).

  3. The data is in FITS format.

  4. The data is in counts, and has not been reduced in any way.

  5. Bias, flat-field and arc-lamp calibration frames are available. For the arc-lamp, accompanying data is available with a list of lines and their wavelengths, with the lines identified in the arc-lamp spectrum. (Wavelength-calibrating using sky-lines should be fine aswell, but it is not yet a tested approach).

If these conditions are met, the software should be able to reduce the data to 2D and 1D spectra in counts/wavelength. For further processing, you will also need to acquire a standard star observation with a reference spectrum, and an extinction curve for your observatory.

If your data does not meet these conditions, you can still try to use the software, but please know that the software is not designed/tested for data does not meet the above conditions.

Principles behind the software:

  1. We strive for simplicity. The main motivation for the software is to create a tool that is easy to understand and use, specially for novice astronomers and students. There are many high-fidelity software solutions that are more sophisticated and precise than PyLongslit, and we do not aim to out-perform them. Our goal is to create an entry-level pipeline that is approachable.

  2. We prioritize manual execution over automation. We believe that a manual pipeline is easier to understand and troubleshoot than an automated one. We also believe that manual execution is more educational, as it forces the user to understand the steps that are being taken. We accept the trade-off of this pipeline being only useful for single-object-at-a-time processing, and do not compromise on this principle.

  3. We strive for transparency. We look at documentation as an active part of the code. No line of code is deemed complete if it is not documented appropriately. We specially aim to disclose the limitations of the software, and to provide guidance on how to interpret the results - specially through carefully designed quality-assesment plots.

  4. We strive for robustness. We pay special attention to error handling and to providing guidance on how to troubleshoot common issues. We commit to providing support to users who are struggling with the software to our best ability.

In this documentation, we provide guidance on installation and usage of the software.