Source code for iris_pipeline.assign_wcs.assign_wcs_step
#! /usr/bin/env python
from jwst.stpipe import Step
from jwst import datamodels
from ..datamodels import IRISImageModel
import logging
from .assign_wcs import load_wcs
log = logging.getLogger(__name__)
log.setLevel(logging.DEBUG)
__all__ = ["AssignWcsStep"]
[docs]class AssignWcsStep(Step):
"""
AssignWcsStep: Create a gWCS object and store it in ``Model.meta``.
Reference file types:
distortion Spatial distortion model (FGS, MIRI, NIRCAM, NIRISS)
specwcs Wavelength calibration models (MIRI, NIRCAM, NIRISS)
wavelengthrange Typical wavelength ranges (MIRI, NIRCAM, NIRISS, NIRSPEC)
Parameters
----------
input : `~jwst.datamodels.IRISImageModel`
Input exposure.
"""
reference_file_types = [] # 'distortion' , 'specwcs', 'wavelengthrange']
[docs] def process(self, input, *args, **kwargs):
reference_file_names = {}
with datamodels.open(input) as input_model:
# If input type is not supported, log warning, set to 'skipped', exit
if not (isinstance(input_model, IRISImageModel)):
log.warning("Input dataset type is not supported.")
log.warning("assign_wcs expects IRISImageModel as input.")
log.warning("Skipping assign_wcs step.")
result = input_model.copy()
result.meta.cal_step.assign_wcs = "SKIPPED"
return result
for reftype in self.reference_file_types:
reffile = self.get_reference_file(input_model, reftype)
reference_file_names[reftype] = reffile if reffile else ""
log.debug(f"reference files used in assign_wcs: {reference_file_names}")
result = load_wcs(input_model, reference_file_names)
return result