|
6 | 6 | from astropy.io import fits |
7 | 7 | from astropy.io.registry import IORegistryError |
8 | 8 | from astropy.modeling import models |
9 | | -from astropy.table import Table |
| 9 | +from astropy.table import Table, QTable |
10 | 10 | from astropy.utils.exceptions import AstropyUserWarning |
| 11 | +from astropy.utils.masked import Masked |
11 | 12 | from gwcs.wcs import WCS |
12 | 13 |
|
13 | 14 | from specutils import Spectrum, SpectrumList |
@@ -93,12 +94,21 @@ def spec_multi(request): |
93 | 94 |
|
94 | 95 | def create_wfss_hdu(name='EXTRACT1D'): |
95 | 96 | # Each row contains arrays defining the spectrum of a single source |
96 | | - data = [[1, 2, 3], [[10, 20, 30] * u.um] * 3, [[2, 3, 4] * u.Jy] * 3, |
| 97 | + data = [[1, 2, 3], |
| 98 | + [Masked([10, 20, 30] * u.um, mask=[False, False, True]), |
| 99 | + Masked([10, 20, 30] * u.um, mask=[True, False, False]), |
| 100 | + Masked([10, 20, 30] * u.um, mask=[False, False, False])], |
| 101 | + [Masked([2, 3, 4] * u.Jy, mask=[False, False, True]), |
| 102 | + Masked([2, 3, 4] * u.Jy, mask=[True, False, False]), |
| 103 | + Masked([2, 3, 4] * u.Jy, mask=[False, False, False])], |
97 | 104 | [[0.1, 0.1, 0.1] * u.Jy] * 3, |
98 | | - [[2, 3, 4 ]* u.MJy/u.sr] * 3, [[0.1, 0.1, 0.1] * u.MJy/u.sr] * 3, |
| 105 | + [Masked([2, 3, 4] * u.MJy/u.sr, mask=[False, False, True]), |
| 106 | + Masked([2, 3, 4] * u.MJy/u.sr, mask=[True, False, False]), |
| 107 | + Masked([2, 3, 4] * u.MJy/u.sr, mask=[False, False, False])], |
| 108 | + [[0.1, 0.1, 0.1] * u.MJy/u.sr] * 3, |
99 | 109 | [0, 0, 0], ['POINT', 'POINT', 'EXTENDED']] |
100 | 110 |
|
101 | | - table = Table(data=data, names=['SOURCE_ID','WAVELENGTH', 'FLUX', 'FLUX_ERROR', 'SURF_BRIGHT', |
| 111 | + table = QTable(data=data, names=['SOURCE_ID','WAVELENGTH', 'FLUX', 'FLUX_ERROR', 'SURF_BRIGHT', |
102 | 112 | 'SB_ERROR', 'DQ', 'SOURCE_TYPE']) |
103 | 113 |
|
104 | 114 | hdu = fits.BinTableHDU(table, name=name) |
@@ -164,9 +174,9 @@ def test_jwst_wfss_multi_reader(tmp_path, spec_multi_new, format): |
164 | 174 | for item in data: |
165 | 175 | assert isinstance(item, Spectrum) |
166 | 176 |
|
167 | | - assert data[0].shape == (3,) |
| 177 | + assert data[0].shape == (2,) |
168 | 178 | assert data[0].flux.unit == u.Jy |
169 | | - assert data[1].shape == (3,) |
| 179 | + assert data[1].shape == (2,) |
170 | 180 | assert data[1].flux.unit == u.Jy |
171 | 181 | assert data[2].shape == (3,) |
172 | 182 | assert data[2].flux.unit == u.MJy/u.sr |
|
0 commit comments