Skip to content

Commit e177c2e

Browse files
committed
Support FITS files with distortion maps when given as file name
1 parent eea4465 commit e177c2e

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed
Binary file not shown.

reproject/tests/test_utils.py

+7
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import numpy as np
33
import pytest
44
from astropy.io import fits
5+
from astropy.utils.data import get_pkg_data_filename
56
from astropy.wcs import WCS
67

78
from reproject.conftest import set_wcs_array_shape
@@ -41,6 +42,12 @@ def test_parse_input_data_missing_hdu_in():
4142
parse_input_data(hdulist)
4243

4344

45+
def test_parse_input_data_distortion_map():
46+
# Verify that the file can be successfully loaded and parsed
47+
fname = get_pkg_data_filename("data/image_with_distortion_map.fits", package="reproject.tests")
48+
parse_input_data(fname, hdu_in=0)
49+
50+
4451
@pytest.mark.filterwarnings("ignore:unclosed file:ResourceWarning")
4552
def test_parse_input_shape(tmpdir, valid_celestial_input_shapes):
4653
"""

reproject/utils.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def hdu_to_numpy_memmap(hdu):
9292
)
9393

9494

95-
def parse_input_data(input_data, hdu_in=None):
95+
def parse_input_data(input_data, hdu_in=None, source_hdul=None):
9696
"""
9797
Parse input data to return a Numpy array and WCS object.
9898
"""
@@ -109,9 +109,9 @@ def parse_input_data(input_data, hdu_in=None):
109109
)
110110
else:
111111
hdu_in = 0
112-
return parse_input_data(input_data[hdu_in])
112+
return parse_input_data(input_data[hdu_in], source_hdul=input_data)
113113
elif isinstance(input_data, PrimaryHDU | ImageHDU | CompImageHDU):
114-
return hdu_to_numpy_memmap(input_data), WCS(input_data.header)
114+
return (hdu_to_numpy_memmap(input_data), WCS(input_data.header, fobj=source_hdul))
115115
elif isinstance(input_data, tuple) and isinstance(input_data[0], np.ndarray | da.core.Array):
116116
if isinstance(input_data[1], Header):
117117
return input_data[0], WCS(input_data[1])

0 commit comments

Comments
 (0)