Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changes/10421.pathloss.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Set the step status to "SKIPPED" for multi-slit data if no slits were corrected.
33 changes: 22 additions & 11 deletions jwst/extract_1d/tests/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,25 +38,33 @@ def simple_wcs_func():
The WCS object.
"""
shape = (50, 50)
xcenter = shape[1] // 2.0
ycenter = shape[0] // 2.0

cdelt1 = 0.1
cdelt2 = 1e-7
# Set up for a simple spatial scale of 0.1 arcsec/pix
cdelt1 = 1e-7 / 3600 # negligible in RA to avoid cos(Dec) effects
cdelt2 = 0.1 / 3600 # 0.1 arcsec / pixel in Dec
cdelt3 = 0.01

crval1 = 45.0
crval2 = 45.1
crval3 = 7.5

ra = Shift(1 - xcenter) | Scale(cdelt1) | Shift(crval1)
dec = Scale(cdelt2) | Shift(crval2)
ra = Shift(1 - ycenter) | Scale(cdelt1) | Shift(crval1)
dec = Shift(1 - ycenter) | Scale(cdelt2) | Shift(crval2)
wave = Scale(cdelt3) | Shift(crval3)
det2slit = Mapping((1, 1, 0), n_inputs=2) | Identity(2) & wave
slit2world = ra & dec & Identity(1)

input_frame = gwcs.Frame2D(name="detector")
slit_frame = gwcs.Frame2D(name="slit_frame")
output_frame = gwcs.Frame2D(name="world")
slit_frame = gwcs.CoordinateFrame(
name="slit_frame",
naxes=3,
axes_order=(0, 1, 2),
axes_type=["SPATIAL", "SPATIAL", "SPECTRAL"],
)
output_frame = gwcs.CoordinateFrame(
name="world", naxes=3, axes_order=(0, 1, 2), axes_type=["SPATIAL", "SPATIAL", "SPECTRAL"]
)
pipeline = [(input_frame, det2slit), (slit_frame, slit2world), (output_frame, None)]
wcs = gwcs.WCS(pipeline)

Expand All @@ -78,22 +86,25 @@ def simple_wcs_transpose_func():
shape = (50, 50)
xcenter = shape[1] // 2.0

cdelt1 = 0.1
cdelt2 = 1e-7
# Set up for a simple spatial scale of 0.1 arcsec/pix
cdelt1 = 1e-7 / 3600 # negligible in RA to avoid cos(Dec) effects
cdelt2 = 0.1 / 3600 # 0.1 arcsec / pixel in Dec
cdelt3 = -0.01

crval1 = 45.0
crval2 = 45.1
crval3 = 7.5

ra = Shift(1 - xcenter) | Scale(cdelt1) | Shift(crval1)
dec = Scale(cdelt2) | Shift(crval2)
dec = Shift(1 - xcenter) | Scale(cdelt2) | Shift(crval2)
wave = Scale(cdelt3) | Shift(crval3)
mapping = Mapping((0, 0, 1), n_inputs=2)
transform = mapping | ra & dec & wave

input_frame = gwcs.Frame2D(name="detector")
output_frame = gwcs.Frame2D(name="world")
output_frame = gwcs.CoordinateFrame(
name="world", naxes=3, axes_order=(0, 1, 2), axes_type=["SPATIAL", "SPATIAL", "SPECTRAL"]
)
wcs = gwcs.WCS(transform, input_frame=input_frame, output_frame=output_frame)

# Add a bounding box
Expand Down
8 changes: 4 additions & 4 deletions jwst/extract_1d/tests/test_extract.py
Original file line number Diff line number Diff line change
Expand Up @@ -997,8 +997,8 @@ def test_define_aperture_nirspec(mock_nirspec_fs_one_slit, extract_defaults, is_
exptype = "NRS_FIXEDSLIT"
result = ex.define_aperture(model, slit, extract_defaults, exptype)
ra, dec, wavelength, profile, bg_profile, nod_profile, limits = result
assert_allclose(ra, 45.05)
assert_allclose(dec, 45.1)
assert_allclose(ra, 45.0)
assert_allclose(dec, 45.100014)
assert wavelength.shape == (model.data.shape[1],)
assert profile.shape == model.data.shape

Expand All @@ -1021,8 +1021,8 @@ def test_define_aperture_miri(mock_miri_lrs_fs, extract_defaults, is_slit):
exptype = "MIR_LRS-FIXEDSLIT"
result = ex.define_aperture(model, slit, extract_defaults, exptype)
ra, dec, wavelength, profile, bg_profile, nod_profile, limits = result
assert_allclose(ra, 45.05)
assert_allclose(dec, 45.1)
assert_allclose(ra, 45.0)
assert_allclose(dec, 45.100014)
assert wavelength.shape == (model.data.shape[1],)
assert profile.shape == model.data.shape

Expand Down
4 changes: 2 additions & 2 deletions jwst/extract_1d/tests/test_source_location.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ def test_trace_from_wcs_miri(mock_miri_lrs_fs):
)

# mocked model contains some mock transforms as well - all ones are expected
np.testing.assert_allclose(trace, np.ones(model.data.shape[0]))
np.testing.assert_allclose(trace, np.ones(model.data.shape[0]), atol=1e-4)


def test_trace_from_wcs_other_horizontal():
Expand Down Expand Up @@ -317,6 +317,6 @@ def test_nod_pair_location_miri(mock_miri_lrs_fs, dispaxis):
# Nonsense values are returned for unrealistic mocked transform:
# just check values for regression purposes
if dispaxis == 2:
assert np.isclose(nod_center, -425, atol=1)
assert np.isclose(nod_center, -1.6e12, atol=1e11)
else:
assert nod_center == 0.0
Loading
Loading