liger_iris_pipeline.combine_frames.combine_frames_step

Functions

combine_frames(input, **kwargs)

Combine a stack of 2D frames.

make_cubes(input, attrs[, copy])

Create a cube from a list of input frames.

mask_outliers(x, M, stddev, mask[, ...])

meaure_error_cube(data_cube, error_cube, dq_cube)

propagate_error_cube(error_cube, dq_cube)

sigma_clip(x, mask[, sigma_thresh_low, ...])

sigma_clip_cube(data_cube, mask_cube[, ...])

weighted_quantile_cube(cube, weights, image_out)

Classes

CombineFramesStep([config_file])

CombineFramesStep: Combines a set of 2D frames.

class liger_iris_pipeline.combine_frames.combine_frames_step.CombineFramesStep(config_file: str | None = None, **kwargs)[source]

Bases: LigerIRISStep

CombineFramesStep: Combines a set of 2D frames.

class_alias = 'combine_frames'
process(input: list[str | LigerIRISDataModel])[source]

This is where real work happens. Every Step subclass has to override this method. The default behaviour is to raise a NotImplementedError exception. The signature must be process(self, input : str | LigerIRISDataModel).

spec = "\n        method = string(default = 'mean') # Method for combining the frames - 'mean', 'wmean', 'median', 'wmedian'.\n        do_sigma_clip = boolean(default = True) # Whether to do sigma clipping. Sigma clipping is based on the biweight location and biweight midvariance (both unweighted), regardless of the 'method' parameter.\n        sigma_thresh_low = float(default = 4) # Number of sigma for low outlier rejection.\n        sigma_thresh_high = float(default = 4) # Number of sigma for high outlier rejection.\n        thresh_low = float(default = None) # Low threshold for outlier rejection.\n        thresh_high = float(default = None) # High threshold for outlier rejection.\n        num_mask_low = integer(default = None) # Number of low outliers to mask.\n        num_mask_high = integer(default = None) # Number of high outliers to mask.\n        min_batch_size = integer(default = 3) # Minimum batch size for sigma clipping.\n        maxiters = integer(default = 50) # Maximum number of iterations for sigma clipping.\n        error_calc = string(default = 'measure') # Method for calculating the error - 'measure' or 'propagate'. Default is 'measure'.\n        target_model = string(default = None) # Model type for the output. Default is the same as the input.\n    "
liger_iris_pipeline.combine_frames.combine_frames_step.combine_frames(input: list[str | LigerIRISDataModel], **kwargs) dict[str, ndarray][source]

Combine a stack of 2D frames.

Parameters:
  • input (list[str | datamodels.LigerIRISDataModel]) – List of input frames to combine.

  • method (str) – Method to use for combining the frames: - ‘mean’ : Unweighted mean. - ‘wmean’ : Weighted mean. - ‘median’ : Unweighted median. - ‘wmedian’ : Weighted median. - ‘sigma_clip’ : Sigma clipping (see cenfunc, stdfunc, and sigma).

  • sigma (float) – Number of sigmas for sigma-clipping.

  • cenfunc (str) – Function to use for calculating the center of the data: - ‘mean’ : Unweighted mean. - ‘wmean’ : Weighted mean. - ‘median’ : Unweighted median. - ‘wmedian’ : Weighted median.

  • error_calc (str) – Method to use for calculating the error (‘measure’ or ‘propagate’). - ‘measure’ : Error is calcualted from the distribution (stddev) of the data relative to the final mean. - ‘propagate’ : Error is calculated by coadding the individual errors. Default is ‘measure’.

Returns:

dict – Dictionary of combined frames.