Source code for jwst.reset.reset_step

from stdatamodels.jwst import datamodels

from ..stpipe import Step
from . import reset_sub

__all__ = ["ResetStep"]


[docs] class ResetStep(Step): """ ResetStep: Performs a reset correction by subtracting the reset correction reference data from the input science data model. """ class_alias = "reset" reference_file_types = ['reset']
[docs] def process(self, input): # Open the input data model with datamodels.open(input) as input_model: # check the data is MIRI data detector = input_model.meta.instrument.detector if detector.startswith('MIR'): # Get the name of the reset reference file to use self.reset_name = self.get_reference_file(input_model, 'reset') self.log.info('Using RESET reference file %s', self.reset_name) # Check for a valid reference file if self.reset_name == 'N/A': self.log.warning('No RESET reference file found') self.log.warning('Reset step will be skipped') result = input_model.copy() result.meta.cal_step.reset = 'SKIPPED' return result # Open the reset ref file data model reset_model = datamodels.ResetModel(self.reset_name) # Do the reset correction subtraction result = reset_sub.do_correction(input_model, reset_model) # Close the reference file and update the step status reset_model.close() result.meta.cal_step.reset = 'COMPLETE' else: self.log.warning('Reset Correction is only for MIRI data') self.log.warning('Reset step will be skipped') result = input_model.copy() result.meta.cal_step.reset = 'SKIPPED' return result