RampFitStep

class romancal.ramp_fitting.RampFitStep(name=None, parent=None, config_file=None, _validate_kwds=True, **kws)[source]

Bases: RomanStep

This step fits a straight line to the value of counts vs. time to determine the mean count rate for each pixel.

Create a Step instance.

Parameters:
  • name (str, optional) – The name of the Step instance. Used in logging messages and in cache filenames. If not provided, one will be generated based on the class name.

  • parent (Step instance, optional) – The parent step of this step. Used to determine a fully-qualified name for this step, and to determine the mode in which to run this step.

  • config_file (str or pathlib.Path, optional) – The path to the config file that this step was initialized with. Use to determine relative path names of other config files.

  • **kws (dict) – Additional parameters to set. These will be set as member variables on the new Step instance.

Attributes Summary

reference_file_types

spec

weighting

Methods Summary

ols(input_model, readnoise_model, gain_model)

Perform Optimal Linear Fitting on evenly-spaced resultants

ols_cas22(input_model, readnoise_model, ...)

Peform Optimal Linear Fitting on arbitrarily space resulants

process(input)

This is where real work happens.

Attributes Documentation

reference_file_types: ClassVar = ['readnoise', 'gain', 'dark']
spec
algorithm = option('ols','ols_cas22', default='ols_cas22')  # Algorithm to use to fit.
save_opt = boolean(default=False) # Save optional output
opt_name = string(default='')
maximum_cores = option('none','quarter','half','all',default='none') # max number of processes to create
suffix = string(default='rampfit')  # Default suffix of results
use_ramp_jump_detection = boolean(default=True) # Use jump detection during ramp fitting
threshold_intercept = float(default=None) # Override the intercept parameter for the threshold function in the jump detection algorithm.
threshold_constant = float(default=None) # Override the constant parameter for the threshold function in the jump detection algorithm.
weighting = 'optimal'

Methods Documentation

ols(input_model, readnoise_model, gain_model)[source]

Perform Optimal Linear Fitting on evenly-spaced resultants

The OLS algorithm used is the same used by JWST for it’s ramp fitting.

Parameters:
  • input_model (RampModel) – Model containing ramps.

  • readnoise_model (ReadnoiseRefModel) – Model with the read noise reference information.

  • gain_model (GainRefModel) – Model with the gain reference information.

Returns:

out_model – Model containing a count-rate image.

Return type:

ImageModel

ols_cas22(input_model, readnoise_model, gain_model, dark_model)[source]

Peform Optimal Linear Fitting on arbitrarily space resulants

Parameters:
  • input_model (RampModel) – Model containing ramps.

  • readnoise_model (ReadnoiseRefModel) – Model with the read noise reference information.

  • gain_model (GainRefModel) – Model with the gain reference information.

  • dark_model (DarkRefModel) – Model with the dark reference information

Returns:

out_model – Model containing a count-rate image.

Return type:

ImageModel

process(input)[source]

This is where real work happens. Every Step subclass has to override this method. The default behaviour is to raise a NotImplementedError exception.