Source code for iris_pipeline.background.background_step
#! /usr/bin/env python
from jwst.stpipe import Step
from jwst import datamodels
from . import background_sub
__all__ = ["BackgroundStep"]
[docs]class BackgroundStep(Step):
"""
BackgroundStep: Subtract background exposures from target exposures.
"""
spec = """
sigma = float(default=3.0) # Clipping threshold
maxiters = integer(default=None) # Number of clipping iterations
"""
[docs] def process(self, input, bkg_list):
"""
Subtract the background signal from target exposures by subtracting
designated background images from them.
Parameters
----------
input: JWST data model
input target data model to which background subtraction is applied
bkg_list: filename list
list of background exposure file names
Returns
-------
result: JWST data model
the background-subtracted target data model
"""
# Load the input data model
with datamodels.open(input) as input_model:
if input_model.meta.exposure.type in ["NIS_WFSS", "NRC_WFSS"]:
# Get the reference file names
bkg_name = self.get_reference_file(input_model, "wfssbkg")
wlrange_name = self.get_reference_file(input_model, "wavelengthrange")
self.log.info("Using WFSSBKG reference file %s", bkg_name)
self.log.info("Using WavelengthRange reference file %s", wlrange_name)
# Do the background subtraction for WFSS/GRISM data
result = background_sub.subtract_wfss_bkg(
input_model, bkg_name, wlrange_name
)
result.meta.cal_step.back_sub = "COMPLETE"
else:
# Do the background subtraction
result = background_sub.background_sub(
input_model, bkg_list, self.sigma, self.maxiters
)
result.meta.cal_step.back_sub = "COMPLETE"
return result