pypeit.calibrations module

Class for guiding calibration object generation in PypeIt.

class pypeit.calibrations.Calibrations(fitstbl, par, spectrograph, caldir, qadir=None, reuse_calibs=False, show=False, user_slits=None)[source]

Bases: object

Class designed to guide the generation of calibration images and objects in PypeIt.

Parameters
  • fitstbl (PypeItMetaData) – The class holding the metadata for all the frames in this PypeIt run. If None, we are using this class as a glorified dict to hold the objects.

  • par (CalibrationsPar) – Parameter set defining optional parameters of PypeIt’s algorithms for Calibrations

  • spectrograph (Spectrograph) – Spectrograph object

  • caldir (str, Path) – Path for the processed calibration files.

  • qadir (str, optional) – Path for quality assessment output. If not provided, no QA plots are saved.

  • reuse_calibs (bool, optional) – Instead of reprocessing them, load existing calibration files from disk if they exist.

  • show (bool, optional) – Show plots of PypeIt’s results as the code progresses. Requires interaction from the user.

  • user_slits (dict, optional) – A limited set of slits selected by the user for analysis. See user_mask().

fitstbl

See instantiation arguments.

Type

PypeItMetaData

par

See instantiation arguments.

Type

CalibrationsPar

spectrograph

See instantiation arguments.

Type

Spectrograph

calib_dir

Path for the processed calibration files.

Type

Path

qa_path

Path for the QA diagnostics.

Type

Path

reuse_calibs

See instantiation arguments.

Type

bool

show

See instantiation arguments.

Type

bool

user_slits

See instantiation arguments.

Type

dict

det

The single detector or set of detectors in a mosaic to process.

Type

int, tuple

frame

The index of a raw file in fitstbl used to set the calibration group.

Type

int

calib_ID

The calibration group associated with frame.

Type

int

msarc

Arc calibration frame

Type

ArcImage

mstilt

Tilt calibration frame

Type

TiltImage

alignments

Alignment calibration frame

Type

Alignments

msbias

Bias calibration frame

Type

BiasImage

msdark

Dark calibration frame

Type

DarkImage

msbpm

Boolean array with the bad-pixel mask (pixels that should masked are set to True).

Type

numpy.ndarray

wv_calib

Wavelength calibration frame

Type

WaveCalib

slits

Slit tracing calibration frame

Type

SlitTraceSet

wavetilts

Tilts calibration frame

Type

WaveTilts

flatimages

Flat-field calibration frame

Type

FlatImages

steps

A list of strings setting the set of processing steps to be completed (not necessarily those that were successful). See the default_steps functions of each subclass.

Type

list

success

Flag that the calibrations were all generated successfully.

Type

bool

failed_step

If the calibrations were unsuccessful, this is the step that led to the fault.

Type

str

_chk_objs(items)[source]

Check that the input items exist internally as attributes

Parameters

items (list) –

Returns

True if all exist

Return type

bool

_chk_set(items)[source]

Check whether a needed attribute has previously been set

Parameters

items (list) – Attributes to check

static association_summary(ofile, fitstbl, spectrograph, caldir, subset=None, det=None, overwrite=False)[source]

Write a file listing the associations between the processed calibration frames and their source raw files for every setup and every calibration group.

Parameters
  • ofile (str, Path) – Full path to the output file.

  • fitstbl (PypeItMetaData) – The class holding the metadata for all the frames to process.

  • spectrograph (pypeit.spectrographs.spectrograph.Spectrograph) – Spectrograph object

  • caldir (str, Path) – Path for the processed calibration frames.

  • subset (numpy.ndarray, optional) – A boolean array selecting a subset of rows from fitstbl for output.

  • det (int, tuple, optional) – The specific detector (or mosaic) to use when constructing the output processed calibration group file names. If None, a placeholder is used.

  • overwrite (bool, optional) – Overwrite any existing file of the same name.

find_calibrations(frametype, frameclass)[source]

Find calibration files and identifiers.

Parameters
  • frametype (str) – Calibration frame type. Must be a valid frame type; see valid_frametype().

  • frameclass (CalibFrame) – The subclass used to store the processed calibration data.

Returns

  • raw_files (list) – The list of raw files in fitstbl with the provided frametype.

  • cal_file (Path) – The path with/for the processed calibration frame

  • calib_key (str) – The calibration identifier

  • setup (str) – The setup/configuration identifier

  • calib_id (list) – The calibration groups

  • detname (str) – The detector/mosaic identifier

get_align()[source]

Load or generate the alignment calibration frame.

Returns

The processed alignment image.

Return type

Alignments

get_arc()[source]

Load or generate the arc calibration frame.

Returns

The processed calibration image.

Return type

ArcImage

static get_association(fitstbl, spectrograph, caldir, setup, calib_ID, det, must_exist=True, subset=None, include_science=False, proc_only=False)[source]

Construct a dictionary with the association between raw files and processed calibration frames.

Parameters
  • fitstbl (PypeItMetaData) – The class holding the metadata for all the frames to process.

  • spectrograph (pypeit.spectrographs.spectrograph.Spectrograph) – Spectrograph object

  • caldir (str, Path) – Path for the processed calibration frames.

  • setup (str) – The setup/configuration of the association.

  • calib_ID (str, int) – The single calibration group of the association.

  • det (int, tuple) – The detector/mosaic of the association.

  • must_exist (bool, optional) – If True, only existing calibration frames in the association are included. If False, the nominal set of processed calibration frame file names are returned, regardless of whether or not they exist.

  • subset (numpy.ndarray, optional) – A boolean array selecting a subset of rows from fitstbl for output.

  • include_science (bool, optional) – Include science and standard frames in the association. This parameter is mutually exclusive with proc_only; if both are true, proc_only takes precedence.

  • proc_only (bool, optional) – If True, only return a dictionary with the names of the processed calibration frames. The dictionary sets the calibration directory to DIR, and the other keys are the capitalized versions of the calibration type keywords; e.g., asn['ARC'] is the processed arc frame. This parameter is mutually exclusive with include_science; if both are true, proc_only takes precedence.

Returns

The set of raw and processed calibration frames associated with the selected calibration group. This only includes the processed frames if proc_only is True, and it includes the science/standard frames if include_science is True.

Return type

dict

get_bias()[source]

Load or generate the bias calibration frame.

Returns

The processed calibration image.

Return type

BiasImage

get_bpm()[source]

Load or generate the bad pixel mask.

This is primarily a wrapper for bpm().

Returns

The bad pixel mask, which should match the shape and orientation of a trimmed and PypeIt-oriented science image!

Return type

numpy.ndarray

get_dark()[source]

Load or generate the dark calibration frame.

Returns

The processed calibration image.

Return type

DarkImage

get_flats()[source]

Load or generate the flat-field calibration images.

Returns

The processed calibration image.

Return type

FlatImages

static get_instance(fitstbl, par, spectrograph, caldir, **kwargs)[source]

Get the instance of the appropriate subclass of Calibrations to use for reducing data from the provided spectrograph. For argument descriptions, see Calibrations.

get_slits()[source]

Load or generate the definition of the slit boundaries.

Returns

Traces of the slit edges; also kept internally as slits.

Return type

SlitTraceSet

get_tiltimg()[source]

Load or generate the tilt calibration frame.

Returns

The processed calibration image.

Return type

TiltImage

get_tilts()[source]

Load or generate the wavelength tilts calibration frame

Returns

Object containing the wavelength tilt calibration.

Return type

WaveTilts

get_wv_calib()[source]

Load or generate the 1D wavelength calibrations

Returns

Object containing wavelength calibrations and the updated slit mask array.

Return type

WaveCalib

run_the_steps()[source]

Run full the full recipe of calibration steps.

set_config(frame, det, par=None)[source]

Specify the critical attributes of the class to perform a set of calibrations.

Operations are:

  • Set the frame

  • Use the frame to find the calibration group

  • Set the detector/mosaic

  • Set the parameters

Parameters
  • frame (int) – The row index in fitstbl with the frame to calibrate.

  • det (int) – Detector number.

  • par (CalibrationsPar, optional) – Parameters used by the calibration procedures. If None, use par.

class pypeit.calibrations.IFUCalibrations(fitstbl, par, spectrograph, caldir, qadir=None, reuse_calibs=False, show=False, user_slits=None)[source]

Bases: Calibrations

Child of Calibrations class for performing IFU calibrations. See Calibrations for arguments.

static default_steps()[source]

This defines the steps for calibrations and their order

Returns

Calibration steps, in order of execution

Return type

list

class pypeit.calibrations.MultiSlitCalibrations(fitstbl, par, spectrograph, caldir, qadir=None, reuse_calibs=False, show=False, user_slits=None)[source]

Bases: Calibrations

Calibration class for performing multi-slit calibrations (and also long-slit and echelle). See Calibrations for arguments.

Note

Calibrations are not sufficiently different yet to warrant a different class for echelle reductions. This may change if a different order is eventually required for the set of processing steps (see default_steps()).

static default_steps()[source]

This defines the calibration steps and their order.

Returns

Calibration steps, in order of execution.

Return type

list

pypeit.calibrations.check_for_calibs(par, fitstbl, raise_error=True, cut_cfg=None)[source]

Perform a somewhat quick and dirty check to see if the user has provided all of the calibration frametype’s to reduce the science frames

Parameters
  • par (PypeItPar) –

  • fitstbl (PypeItMetaData, None) – The class holding the metadata for all the frames in this PypeIt run.

  • raise_error (bool, optional) – If True, crash out

  • cut_cfg (numpy.ndarray, optional) – Also cut on this restricted configuration (mainly for chk_calibs)

Returns

True if we passed all checks

Return type

bool