Skip to content

Commit 1fc574b

Browse files
committed
use SpectralCoord instead of Quantity in world_axis_object_components
1 parent 8407999 commit 1fc574b

3 files changed

Lines changed: 14 additions & 13 deletions

File tree

astropy/wcs/wcsapi/fitswcs.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from astropy.coordinates import ICRS, Galactic, SpectralCoord
1313
from astropy.coordinates.spectral_coordinate import (
1414
attach_zero_velocities,
15+
SpectralCoord,
1516
update_differentials_to_match,
1617
)
1718
from astropy.units import allclose as quantity_allclose
@@ -605,7 +606,7 @@ def redshift_from_spectralcoord(spectralcoord):
605606
- 1.0
606607
)
607608

608-
classes["spectral"] = (u.Quantity, (), {}, spectralcoord_from_redshift)
609+
classes["spectral"] = (SpectralCoord, (), {}, spectralcoord_from_redshift)
609610
components[self.wcs.spec] = ("spectral", 0, redshift_from_spectralcoord)
610611

611612
elif ctype == "BETA":
@@ -652,7 +653,7 @@ def beta_from_spectralcoord(spectralcoord):
652653
/ C_SI
653654
)
654655

655-
classes["spectral"] = (u.Quantity, (), {}, spectralcoord_from_beta)
656+
classes["spectral"] = (SpectralCoord, (), {}, spectralcoord_from_beta)
656657
components[self.wcs.spec] = ("spectral", 0, beta_from_spectralcoord)
657658

658659
else:
@@ -732,7 +733,7 @@ def value_from_spectralcoord(spectralcoord):
732733
observer
733734
).to_value(**kwargs)
734735

735-
classes["spectral"] = (u.Quantity, (), {}, spectralcoord_from_value)
736+
classes["spectral"] = (SpectralCoord, (), {}, spectralcoord_from_value)
736737
components[self.wcs.spec] = ("spectral", 0, value_from_spectralcoord)
737738

738739
# We can then make sure we correctly return Time objects where appropriate

astropy/wcs/wcsapi/tests/test_fitswcs.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ def test_spectral_cube():
277277
assert isinstance(wcs.world_axis_object_classes["celestial"][2]["frame"], Galactic)
278278
assert wcs.world_axis_object_classes["celestial"][2]["unit"] == (u.deg, u.deg)
279279

280-
assert wcs.world_axis_object_classes["spectral"][0] is Quantity
280+
assert wcs.world_axis_object_classes["spectral"][0] is SpectralCoord
281281
assert wcs.world_axis_object_classes["spectral"][1] == ()
282282
assert wcs.world_axis_object_classes["spectral"][2] == {}
283283

@@ -397,7 +397,7 @@ def test_spectral_cube_nonaligned():
397397
assert isinstance(wcs.world_axis_object_classes["celestial"][2]["frame"], Galactic)
398398
assert wcs.world_axis_object_classes["celestial"][2]["unit"] == (u.deg, u.deg)
399399

400-
assert wcs.world_axis_object_classes["spectral"][0] is Quantity
400+
assert wcs.world_axis_object_classes["spectral"][0] is SpectralCoord
401401
assert wcs.world_axis_object_classes["spectral"][1] == ()
402402
assert wcs.world_axis_object_classes["spectral"][2] == {}
403403

astropy/wcs/wcsapi/wrappers/tests/test_sliced_wcs.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from numpy.testing import assert_allclose, assert_equal
66

77
import astropy.units as u
8-
from astropy.coordinates import ICRS, Galactic, SkyCoord
8+
from astropy.coordinates import ICRS, Galactic, SkyCoord, SpectralCoord
99
from astropy.io.fits import Header
1010
from astropy.io.fits.verify import VerifyWarning
1111
from astropy.time import Time
@@ -148,7 +148,7 @@ def test_ellipsis():
148148
assert isinstance(wcs.world_axis_object_classes["celestial"][2]["frame"], Galactic)
149149
assert wcs.world_axis_object_classes["celestial"][2]["unit"] == (u.deg, u.deg)
150150

151-
assert wcs.world_axis_object_classes["spectral"][0] is Quantity
151+
assert wcs.world_axis_object_classes["spectral"][0] is SpectralCoord
152152
assert wcs.world_axis_object_classes["spectral"][1] == ()
153153
assert wcs.world_axis_object_classes["spectral"][2] == {}
154154

@@ -307,7 +307,7 @@ def test_spectral_range():
307307
assert isinstance(wcs.world_axis_object_classes["celestial"][2]["frame"], Galactic)
308308
assert wcs.world_axis_object_classes["celestial"][2]["unit"] == (u.deg, u.deg)
309309

310-
assert wcs.world_axis_object_classes["spectral"][0] is Quantity
310+
assert wcs.world_axis_object_classes["spectral"][0] is SpectralCoord
311311
assert wcs.world_axis_object_classes["spectral"][1] == ()
312312
assert wcs.world_axis_object_classes["spectral"][2] == {}
313313

@@ -387,7 +387,7 @@ def test_celestial_slice():
387387
assert isinstance(wcs.world_axis_object_classes["celestial"][2]["frame"], Galactic)
388388
assert wcs.world_axis_object_classes["celestial"][2]["unit"] == (u.deg, u.deg)
389389

390-
assert wcs.world_axis_object_classes["spectral"][0] is Quantity
390+
assert wcs.world_axis_object_classes["spectral"][0] is SpectralCoord
391391
assert wcs.world_axis_object_classes["spectral"][1] == ()
392392
assert wcs.world_axis_object_classes["spectral"][2] == {}
393393

@@ -469,7 +469,7 @@ def test_celestial_range():
469469
assert isinstance(wcs.world_axis_object_classes["celestial"][2]["frame"], Galactic)
470470
assert wcs.world_axis_object_classes["celestial"][2]["unit"] == (u.deg, u.deg)
471471

472-
assert wcs.world_axis_object_classes["spectral"][0] is Quantity
472+
assert wcs.world_axis_object_classes["spectral"][0] is SpectralCoord
473473
assert wcs.world_axis_object_classes["spectral"][1] == ()
474474
assert wcs.world_axis_object_classes["spectral"][2] == {}
475475

@@ -560,7 +560,7 @@ def test_celestial_range_rot():
560560
assert isinstance(wcs.world_axis_object_classes["celestial"][2]["frame"], Galactic)
561561
assert wcs.world_axis_object_classes["celestial"][2]["unit"] == (u.deg, u.deg)
562562

563-
assert wcs.world_axis_object_classes["spectral"][0] is Quantity
563+
assert wcs.world_axis_object_classes["spectral"][0] is SpectralCoord
564564
assert wcs.world_axis_object_classes["spectral"][1] == ()
565565
assert wcs.world_axis_object_classes["spectral"][2] == {}
566566

@@ -1015,7 +1015,7 @@ def test_dropped_dimensions_4d(cube_4d_fitswcs):
10151015
assert wao_classes["celestial"][1] == ()
10161016
assert isinstance(wao_classes["celestial"][2]["frame"], ICRS)
10171017
assert wao_classes["celestial"][2]["unit"] == (u.deg, u.deg)
1018-
assert wao_classes["spectral"][0:3] == (u.Quantity, (), {})
1018+
assert wao_classes["spectral"][0:3] == (SpectralCoord, (), {})
10191019

10201020
assert wao_components[0] == ("celestial", 0, "spherical.lon.degree")
10211021
assert wao_components[1] == ("celestial", 1, "spherical.lat.degree")
@@ -1040,7 +1040,7 @@ def test_dropped_dimensions_4d(cube_4d_fitswcs):
10401040
assert wao_components[1][0] == "time"
10411041
assert wao_components[1][1] == 0
10421042

1043-
assert wao_classes["spectral"][0:3] == (u.Quantity, (), {})
1043+
assert wao_classes["spectral"][0:3] == (SpectralCoord, (), {})
10441044
assert wao_classes["time"][0:3] == (Time, (), {})
10451045

10461046

0 commit comments

Comments
 (0)