diff --git a/changes/697.feature.rst b/changes/697.feature.rst new file mode 100644 index 000000000..571dfa9cf --- /dev/null +++ b/changes/697.feature.rst @@ -0,0 +1 @@ +Add a trace model image to slit datamodels. diff --git a/src/stdatamodels/jwst/datamodels/schemas/ifuimage.schema.yaml b/src/stdatamodels/jwst/datamodels/schemas/ifuimage.schema.yaml index f9d3ed3aa..8b48efe3a 100644 --- a/src/stdatamodels/jwst/datamodels/schemas/ifuimage.schema.yaml +++ b/src/stdatamodels/jwst/datamodels/schemas/ifuimage.schema.yaml @@ -41,6 +41,7 @@ allOf: title: Trace model fits_hdu: TRACEMODEL datatype: float32 + ndim: 2 - $ref: variance.schema - type: object properties: diff --git a/src/stdatamodels/jwst/datamodels/schemas/slitdata.schema.yaml b/src/stdatamodels/jwst/datamodels/schemas/slitdata.schema.yaml index a95b26c95..03b1f4df2 100644 --- a/src/stdatamodels/jwst/datamodels/schemas/slitdata.schema.yaml +++ b/src/stdatamodels/jwst/datamodels/schemas/slitdata.schema.yaml @@ -47,6 +47,11 @@ allOf: fits_hdu: CON default: 0 datatype: int32 + trace_model: + title: Trace model + fits_hdu: TRACEMODEL + datatype: float32 + ndim: 2 - $ref: variance.schema - $ref: flatcorr.schema - $ref: pathlosscorr.schema diff --git a/src/stdatamodels/jwst/datamodels/slit.py b/src/stdatamodels/jwst/datamodels/slit.py index 06dc437bc..95102b0d0 100644 --- a/src/stdatamodels/jwst/datamodels/slit.py +++ b/src/stdatamodels/jwst/datamodels/slit.py @@ -39,6 +39,8 @@ class SlitDataModel(JwstDataModel): photom array for uniform source area : numpy float32 array Pixel area map array + trace_model : numpy float32 array + Trace model array """ schema_url = "http://stsci.edu/schemas/jwst_datamodel/slitdata.schema" @@ -91,6 +93,8 @@ class SlitModel(JwstDataModel): Photom array for uniform source area : numpy float32 array Pixel area map array + trace_model : numpy float32 array + Trace model array int_times : numpy table Table of times for each integration """ diff --git a/tests/jwst/datamodels/test_multislit.py b/tests/jwst/datamodels/test_multislit.py index d66fe78a3..8e277b3db 100644 --- a/tests/jwst/datamodels/test_multislit.py +++ b/tests/jwst/datamodels/test_multislit.py @@ -65,12 +65,19 @@ def test_multislit(): slit.data = rng.random((5, 5)) slit.dm = rng.random((5, 5)) slit.err = rng.random((5, 5)) - for attr in ["wavelength", "pathloss_point", "pathloss_uniform", "barshadow"]: + for attr in [ + "wavelength", + "pathloss_point", + "pathloss_uniform", + "barshadow", + "trace_model", + ]: setattr(dm.slits[-1], attr, dm.slits[-1].get_default(attr)) assert slit.wavelength.shape == (0, 0) assert slit.pathloss_point.shape == (0, 0) assert slit.pathloss_uniform.shape == (0, 0) assert slit.barshadow.shape == (0, 0) + assert slit.trace_model.shape == (0, 0) def test_multislit_from_image():