pypeit.images.buildimage module
Uber object for calibration images, e.g. arc, flat
- class pypeit.images.buildimage.AlignImage(image, ivar=None, nimg=None, amp_img=None, det_img=None, rn2img=None, base_var=None, img_scale=None, fullmask=None, detector=None, spat_flexure=None, filename=None, PYP_SPEC=None, units=None, exptime=None, noise_floor=None, shot_noise=None, bpm=None, crmask=None, usermask=None, clean_mask=False)[source]
Bases:
PypeItCalibrationImageSimple DataContainer for the Alignment Image
- calib_type = 'Align'
The type of the calibration frame, primarily used to set the name of the output file.
- hdu_prefix = 'ALIGN_'
If set, all HDUs generated for this DataContainer will have this prefix. This can be set independently for each DataContainer derived class; however, it always defaults to None for the base class. Be wary of nested DataContainer’s!!
- output_to_disk = ('ALIGN_IMAGE', 'ALIGN_FULLMASK', 'ALIGN_DETECTOR')
If set, this limits the HDU extensions that are written to the output file. Note this is the name of the extension, including the hdu_prefix, not necessarily the names of specific datamodel components.
- class pypeit.images.buildimage.ArcImage(image, ivar=None, nimg=None, amp_img=None, det_img=None, rn2img=None, base_var=None, img_scale=None, fullmask=None, detector=None, spat_flexure=None, filename=None, PYP_SPEC=None, units=None, exptime=None, noise_floor=None, shot_noise=None, bpm=None, crmask=None, usermask=None, clean_mask=False)[source]
Bases:
PypeItCalibrationImageSimple DataContainer for the Arc Image
- calib_type = 'Arc'
The type of the calibration frame, primarily used to set the name of the output file.
- hdu_prefix = 'ARC_'
If set, all HDUs generated for this DataContainer will have this prefix. This can be set independently for each DataContainer derived class; however, it always defaults to None for the base class. Be wary of nested DataContainer’s!!
- output_to_disk = ('ARC_IMAGE', 'ARC_FULLMASK', 'ARC_DETECTOR', 'ARC_DET_IMG')
If set, this limits the HDU extensions that are written to the output file. Note this is the name of the extension, including the hdu_prefix, not necessarily the names of specific datamodel components.
- class pypeit.images.buildimage.BiasImage(image, ivar=None, nimg=None, amp_img=None, det_img=None, rn2img=None, base_var=None, img_scale=None, fullmask=None, detector=None, spat_flexure=None, filename=None, PYP_SPEC=None, units=None, exptime=None, noise_floor=None, shot_noise=None, bpm=None, crmask=None, usermask=None, clean_mask=False)[source]
Bases:
PypeItCalibrationImageSimple DataContainer for the Bias Image
- calib_type = 'Bias'
The type of the calibration frame, primarily used to set the name of the output file.
- hdu_prefix = 'BIAS_'
If set, all HDUs generated for this DataContainer will have this prefix. This can be set independently for each DataContainer derived class; however, it always defaults to None for the base class. Be wary of nested DataContainer’s!!
- output_to_disk = ('BIAS_IMAGE', 'BIAS_IVAR', 'BIAS_DETECTOR')
If set, this limits the HDU extensions that are written to the output file. Note this is the name of the extension, including the hdu_prefix, not necessarily the names of specific datamodel components.
- class pypeit.images.buildimage.DarkImage(image, ivar=None, nimg=None, amp_img=None, det_img=None, rn2img=None, base_var=None, img_scale=None, fullmask=None, detector=None, spat_flexure=None, filename=None, PYP_SPEC=None, units=None, exptime=None, noise_floor=None, shot_noise=None, bpm=None, crmask=None, usermask=None, clean_mask=False)[source]
Bases:
PypeItCalibrationImageSimple DataContainer for the Dark Image
- calib_type = 'Dark'
The type of the calibration frame, primarily used to set the name of the output file.
- hdu_prefix = 'DARK_'
If set, all HDUs generated for this DataContainer will have this prefix. This can be set independently for each DataContainer derived class; however, it always defaults to None for the base class. Be wary of nested DataContainer’s!!
- output_to_disk = ('DARK_IMAGE', 'DARK_IVAR', 'DARK_DETECTOR')
If set, this limits the HDU extensions that are written to the output file. Note this is the name of the extension, including the hdu_prefix, not necessarily the names of specific datamodel components.
- class pypeit.images.buildimage.ScatteredLightImage(image, ivar=None, nimg=None, amp_img=None, det_img=None, rn2img=None, base_var=None, img_scale=None, fullmask=None, detector=None, spat_flexure=None, filename=None, PYP_SPEC=None, units=None, exptime=None, noise_floor=None, shot_noise=None, bpm=None, crmask=None, usermask=None, clean_mask=False)[source]
Bases:
PypeItCalibrationImageSimple DataContainer for the Scattered Light Image
- calib_type = 'ScattLight'
The type of the calibration frame, primarily used to set the name of the output file.
- hdu_prefix = 'SCATTLIGHT_'
If set, all HDUs generated for this DataContainer will have this prefix. This can be set independently for each DataContainer derived class; however, it always defaults to None for the base class. Be wary of nested DataContainer’s!!
- output_to_disk = ('SCATTLIGHT_IMAGE', 'SCATTLIGHT_FULLMASK', 'SCATTLIGHT_DETECTOR')
If set, this limits the HDU extensions that are written to the output file. Note this is the name of the extension, including the hdu_prefix, not necessarily the names of specific datamodel components.
- class pypeit.images.buildimage.SkyRegions(image, ivar=None, nimg=None, amp_img=None, det_img=None, rn2img=None, base_var=None, img_scale=None, fullmask=None, detector=None, spat_flexure=None, filename=None, PYP_SPEC=None, units=None, exptime=None, noise_floor=None, shot_noise=None, bpm=None, crmask=None, usermask=None, clean_mask=False)[source]
Bases:
PypeItCalibrationImageSimple DataContainer for the SkyRegions Image
- calib_file_format = 'fits.gz'
The extension and file format of the output file. Should be
'fits'or'fits.gz'(for gzipped output).
- calib_type = 'SkyRegions'
The type of the calibration frame, primarily used to set the name of the output file.
- classmethod construct_file_name(calib_key, calib_dir=None, basename=None)[source]
Override the base-class filename construction to optionally include a basename.
- Parameters:
calib_key (
str) – String identifier of the calibration group. Seeconstruct_calib_key().calib_dir (
str, Path, optional) – If provided, return the full path to the file given this directory.basename (
str, optional) – If provided include this in the output file name.
- Returns:
File path or file name
- Return type:
- hdu_prefix = 'SKYREG_'
If set, all HDUs generated for this DataContainer will have this prefix. This can be set independently for each DataContainer derived class; however, it always defaults to None for the base class. Be wary of nested DataContainer’s!!
- output_to_disk = 'SKYREG_IMAGE'
If set, this limits the HDU extensions that are written to the output file. Note this is the name of the extension, including the hdu_prefix, not necessarily the names of specific datamodel components.
- class pypeit.images.buildimage.TiltImage(image, ivar=None, nimg=None, amp_img=None, det_img=None, rn2img=None, base_var=None, img_scale=None, fullmask=None, detector=None, spat_flexure=None, filename=None, PYP_SPEC=None, units=None, exptime=None, noise_floor=None, shot_noise=None, bpm=None, crmask=None, usermask=None, clean_mask=False)[source]
Bases:
PypeItCalibrationImageSimple DataContainer for the Tilt Image
- calib_type = 'Tiltimg'
The type of the calibration frame, primarily used to set the name of the output file.
- hdu_prefix = 'TILT_'
If set, all HDUs generated for this DataContainer will have this prefix. This can be set independently for each DataContainer derived class; however, it always defaults to None for the base class. Be wary of nested DataContainer’s!!
- output_to_disk = ('TILT_IMAGE', 'TILT_FULLMASK', 'TILT_DETECTOR')
If set, this limits the HDU extensions that are written to the output file. Note this is the name of the extension, including the hdu_prefix, not necessarily the names of specific datamodel components.
- class pypeit.images.buildimage.TraceImage(image, ivar=None, nimg=None, amp_img=None, det_img=None, rn2img=None, base_var=None, img_scale=None, fullmask=None, detector=None, spat_flexure=None, filename=None, PYP_SPEC=None, units=None, exptime=None, noise_floor=None, shot_noise=None, bpm=None, crmask=None, usermask=None, clean_mask=False)[source]
Bases:
PypeItCalibrationImageSimple DataContainer for the Trace Image
- calib_type = 'Trace'
The type of the calibration frame, primarily used to set the name of the output file.
- hdu_prefix = 'TRACE_'
If set, all HDUs generated for this DataContainer will have this prefix. This can be set independently for each DataContainer derived class; however, it always defaults to None for the base class. Be wary of nested DataContainer’s!!
- output_to_disk = ('TRACE_IMAGE', 'TRACE_FULLMASK', 'TRACE_DETECTOR')
If set, this limits the HDU extensions that are written to the output file. Note this is the name of the extension, including the hdu_prefix, not necessarily the names of specific datamodel components.
- pypeit.images.buildimage.buildimage_fromlist(spectrograph, det, frame_par, file_list, bias=None, bpm=None, dark=None, scattlight=None, flatimages=None, maxiters=5, ignore_saturation=True, slits=None, mosaic=None, calib_dir=None, setup=None, calib_id=None)[source]
Perform basic image processing on a list of images and combine the results. All core processing steps for each image are handled by
RawImageand image combination is handled byCombineImage. This function can be used to process both single images, lists of images, and detector mosaics.Warning
For image mosaics (when
detis a tuple) the processing behavior is hard-coded such that bias and dark frames are not reformatted into a mosaic image. They are saved in their native multi-image format. Bad-pixel masks are also expected to be in multi-image format. SeeRawImage.- Parameters:
spectrograph (
Spectrograph) – Spectrograph used to take the data.det (
int,tuple) – The 1-indexed detector number(s) to process. If a tuple, it must include detectors viable as a mosaic for the provided spectrograph; seeallowed_mosaics().frame_par (
FrameGroupPar) – Parameters that dictate the processing of the images. SeeProcessImagesParfor the defaults.file_list (
list) – List of filesbias (
BiasImage, optional) – Bias image for bias subtraction; passed directly toprocess()for all images.bpm (numpy.ndarray, optional) – Bad pixel mask; passed directly to
process()for all images.dark (
DarkImage, optional) – Dark-current image; passed directly toprocess()for all images.scattlight (
ScatteredLight, optional) – Scattered light model to be used to determine scattered light.flatimages (
FlatImages, optional) – Flat-field images for flat fielding; passed directly toprocess()for all images.maxiters (
int, optional) – Whencombine_method='mean') and sigma-clipping (sigma_clipis True), this sets the maximum number of rejection iterations. If None, rejection iterations continue until no more data are rejected; seeweighted_combine().ignore_saturation (
bool, optional) – If True, turn off the saturation flag in the individual images before stacking. This avoids having such values set to 0, which for certain images (e.g. flat calibrations) can have unintended consequences.slits (
SlitTraceSet, optional) – Edge traces for all slits. These are used to calculate spatial flexure between the image and the slits, and for constructing the slit-illumination correction. Seepypeit.images.rawimage.RawImage.process.mosaic (
bool, optional) – Flag processed image will be a mosaic of multiple detectors. By default, this is determined by the format ofdetand whether or not this is a bias or dark frame. Only used for testing purposes.calib_dir (
str, Path, optional) – The directory for processed calibration files. Required for elements offrame_image_classes, ignored otherwise.setup (
str, optional) – The setup/configuration identifier to use for this dataset. Required for elements offrame_image_classes, ignored otherwise.calib_id (
str, optional) – The string listing the set of calibration groups associated with this dataset. Required for elements offrame_image_classes, ignored otherwise.
- Returns:
PypeItImage,PypeItCalibrationImage: The processed and combined image.
- pypeit.images.buildimage.frame_image_classes = {'align': <class 'pypeit.images.buildimage.AlignImage'>, 'arc': <class 'pypeit.images.buildimage.ArcImage'>, 'bias': <class 'pypeit.images.buildimage.BiasImage'>, 'dark': <class 'pypeit.images.buildimage.DarkImage'>, 'scattlight': <class 'pypeit.images.buildimage.ScatteredLightImage'>, 'tilt': <class 'pypeit.images.buildimage.TiltImage'>, 'trace': <class 'pypeit.images.buildimage.TraceImage'>}
The list of classes that
buildimage_fromlist()should use to decorate the output for the specified frame types.All of these must subclass from
PypeItCalibrationImage.