pypeit.pypeit module

Main driver class for PypeIt run

class pypeit.pypeit.PypeIt(pypeit_file, verbosity=2, overwrite=True, reuse_calibs=False, logname=None, show=False, redux_path=None, calib_only=False)[source]

Bases: object

This class runs the primary calibration and extraction in PypeIt

Todo

Fill in list of attributes!

Parameters
  • pypeit_file (str) – PypeIt filename.

  • verbosity (int, optional) –

    Verbosity level of system output. Can be:

    • 0: No output

    • 1: Minimal output (default)

    • 2: All output

  • overwrite (bool, optional) – Flag to overwrite any existing files/directories.

  • reuse_calibs (bool, optional) – Reuse any pre-existing calibration files

  • logname (str, optional) – The name of an ascii log file with the details of the reduction.

  • show – (bool, optional): Show reduction steps via plots (which will block further execution until clicked on) and outputs to ginga. Requires remote control ginga session via ginga --modules=RC,SlitWavelength &

  • redux_path (str, optional) – Over-ride reduction path in PypeIt file (e.g. Notebook usage)

  • calib_only – (bool, optional): Only generate the calibration files that you can

pypeit_file

Name of the pypeit file to read. PypeIt files have a specific set of valid formats. A description can be found PypeIt Reduction File.

Type

str

fitstbl

holds the meta info

Type

pypeit.metadata.PypeItMetaData

build_qa()[source]

Generate QA wrappers

calib_all()[source]

Process all calibration frames.

Provides an avenue to reduce a dataset without (or omitting) any science/standard frames.

calib_one(frames, det)[source]

Run Calibration for a single exposure/detector pair

Parameters
  • frames (list) – List of frames to extract; stacked if more than one is provided

  • det (int) – Detector number (1-indexed)

Returns

caliBrate (pypeit.calibrations.Calibrations)

extract_one(frames, det, sciImg, objFind, initial_sky, sobjs_obj)[source]

Extract Objects in a single exposure/detector pair

sci_ID and det need to have been set internally prior to calling this method

Parameters
  • frames (list) – List of frames to extract; stacked if more than one is provided

  • det (int) – Detector number (1-indexed)

  • sciImg (PypeItImage) – Data container that holds a single image from a single detector its related images (e.g. ivar, mask)

  • objFindFindObjects Object finding object

  • initial_sky (numpy.ndarray) – Initial global sky model

  • sobjs_obj (pypeit.specobjs.SpecObjs) – List of objects found during run_objfind

Returns

Returns six numpy.ndarray objects and a pypeit.specobjs.SpecObjs object with the extracted spectra from this exposure/detector pair. The six numpy.ndarray objects are (1) the science image, (2) its inverse variance, (3) the sky model, (4) the object model, (5) the model inverse variance, and (6) the mask.

Return type

tuple

get_sci_metadata(frame, det)[source]

Grab the meta data for a given science frame and specific detector

Parameters
  • frame (int) – Frame index

  • det (int) – Detector index

Returns

5 objects are returned::
  • str: Object type; science or standard

  • str: Setup/configuration string

  • astropy.time.Time: Time of observation

  • str: Basename of the frame

  • str: Binning of the detector

static get_spec_file_name(science_path, basename, twod=False)[source]
get_std_outfile(standard_frames)[source]

Return the spec1d file name for a reduced standard to use as a tracing crutch.

The file is either constructed using the provided standard frame indices or it is directly pulled from the FindObjPar parameters in par. The latter takes precedence. If more than one row is provided by standard_frames, the first index is used.

Parameters

standard_frames (array-like) – Set of rows in fitstbl with standards.

Returns

Full path to the standard spec1d output file to use.

Return type

str

load_skyregions(initial_slits=False, scifile=None, frame=None, spat_flexure=None)[source]

Generate or load sky regions, if defined by the user.

Sky regions are defined by the internal provided parameters; see user_regions in SkySubPar. If included in the pypeit file like so,

[reduce]
    [[skysub]]
        user_regions = :25,75:

The first and last 25% of all slits are used as sky. If the user has used the pypeit_skysub_regions GUI to generate a sky mask for a given frame, this can be searched for and loaded by setting the parameter to user:

[reduce]
    [[skysub]]
        user_regions = user
Parameters
  • initial_slits (bool, optional) – Flag to use the initial slits before any tweaking based on the slit-illumination profile; see select_edges().

  • scifile (str, optional) – The file name used to define the user-based sky regions. Only used if user_regions = user.

  • frame (int, optional) – The index of the frame used to construct the calibration key. Only used if user_regions = user.

  • spat_flexure (float, None, optional) – The spatial flexure (measured in pixels) of the science frame relative to the trace frame.

Returns

skymask – A boolean array used to select sky pixels; i.e., True is a pixel that corresponds to a sky region. If the user_regions parameter is not set (or an empty string), the returned value is None.

Return type

numpy.ndarray

msgs_reset()[source]

Reset the msgs object

objfind_one(frames, det, bg_frames=None, std_outfile=None)[source]

Reduce + Find Objects in a single exposure/detector pair

sci_ID and det need to have been set internally prior to calling this method

Parameters
  • frames (list) – List of frames to extract; stacked if more than one is provided

  • det (int) – Detector number (1-indexed)

  • bg_frames (list, optional) – List of frames to use as the background. Can be empty.

  • std_outfile (str, optional) – Filename for the standard star spec1d file. Passed directly to get_std_trace().

Returns

outfile_exists(frame)[source]

Check whether the 2D outfile of a given frame already exists

Parameters

frame (int) – Frame index from fitstbl

Returns

True if the 2d file exists, False if it does not exist

Return type

bool

print_end_time()[source]

Print the elapsed time

property qa_path

Return the path to the top-level QA directory.

reduce_all()[source]

Main driver of the entire reduction

Calibration and extraction via a series of calls to reduce_exposure().

reduce_exposure(frames, bg_frames=None, std_outfile=None)[source]

Reduce a single exposure

Parameters
  • frames (list) – List of 0-indexed rows in fitstbl with the frames to reduce.

  • bg_frames (list, optional) – List of frame indices for the background.

  • std_outfile (str, optional) – File with a previously reduced standard spectrum from PypeIt.

Returns

The dictionary containing the primary outputs of extraction.

Return type

dict

save_exposure(frame, all_spec2d, all_specobjs, basename, history=None)[source]

Save the outputs from extraction for a given exposure

Parameters
  • frame (int) – 0-indexed row in the metadata table with the frame that has been reduced.

  • all_spec2d (pypeit.spec2dobj.AllSpec2DObj) –

  • sci_dict (dict) – Dictionary containing the primary outputs of extraction

  • basename (str) – The root name for the output file.

  • history (pypeit.history.History) – History entries to be added to fits header

Returns

All of the objects saved to disk

Return type

None or SpecObjs

property science_path

Return the path to the science directory.

static select_detectors(spectrograph, detnum, slitspatnum=None)[source]

Get the set of detectors to be reduced.

This is mostly a wrapper for select_detectors(), except that it applies any limitations set by the ReduxPar parameters.

Parameters
  • spectrograph (Spectrograph) – Spectrograph instance that defines the allowed detectors/mosaics.

  • detnum (int, tuple) – The detectors/mosaics to parse

  • slitspatnum (str, optional) – Used to restrict the reduction to a specified slit. See ReduxPar.

Returns

List of unique detectors or detector mosaics to be reduced.

Return type

list

show_science()[source]

Simple print of science frames

spec_output_file(frame, twod=False)[source]

Return the path to the spectral output data file.

Parameters
  • frame (int) – Frame index from fitstbl.

  • twod (bool) – Name for the 2D output file; 1D file otherwise.

Returns

The path for the output file

Return type

str