Skip to content

Commit 2485318

Browse files
authored
Merge pull request #162 from Jammy2211/feature/fits_interface
feature/fits interface
2 parents cf61b74 + 0b5f95b commit 2485318

35 files changed

Lines changed: 312 additions & 1346 deletions

autoarray/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@
8989
from .structures.visibilities import VisibilitiesNoiseMap
9090

9191
from autoconf import conf
92+
from autoconf.fitsable import ndarray_via_hdu_from
93+
from autoconf.fitsable import ndarray_via_fits_from
94+
from autoconf.fitsable import header_obj_from
95+
from autoconf.fitsable import output_to_fits
96+
from autoconf.fitsable import hdu_list_for_output_from
9297

9398
conf.instance.register(__file__)
9499

autoarray/abstract_ndarray.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66
from abc import abstractmethod
77
import numpy as np
88

9+
from autoconf.fitsable import output_to_fits
10+
911
from autoarray.numpy_wrapper import numpy as npw, register_pytree_node, Array
1012

1113
from typing import TYPE_CHECKING
1214

1315
if TYPE_CHECKING:
1416
from autoarray.structures.abstract_structure import Structure
1517

16-
from autoarray.structures.arrays import array_2d_util
1718
from autoconf import conf
1819

1920

@@ -280,8 +281,11 @@ def output_to_fits(self, file_path: str, overwrite: bool = False):
280281
overwrite
281282
If a file already exists at the path, if overwrite=True it is overwritten else an error is raised.
282283
"""
283-
array_2d_util.numpy_array_2d_to_fits(
284-
array_2d=self.native.array, file_path=file_path, overwrite=overwrite
284+
output_to_fits(
285+
values=self.native.array,
286+
file_path=file_path,
287+
overwrite=overwrite,
288+
header_dict=self.mask.header_dict,
285289
)
286290

287291
@property

autoarray/dataset/imaging/dataset.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ def __init__(
108108
kernel_shape=psf.shape_native, mask_pad_value=1
109109
)
110110
)
111-
print(over_sample_size_lp.shape_native)
111+
112112
over_sample_size_pixelization = (
113113
over_sample_util.over_sample_size_convert_to_array_2d_from(
114114
over_sample_size=over_sample_size_pixelization, mask=data.mask

autoarray/dataset/interferometer/dataset.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
import logging
33
import numpy as np
44
from pathlib import Path
5-
from typing import Optional
65

76
from autoconf import cached_property
7+
from autoconf.fitsable import ndarray_via_fits_from, output_to_fits
88

99
from autoarray.dataset.abstract.dataset import AbstractDataset
1010
from autoarray.dataset.interferometer.w_tilde import WTildeInterferometer
@@ -14,8 +14,6 @@
1414
from autoarray.structures.visibilities import Visibilities
1515
from autoarray.structures.visibilities import VisibilitiesNoiseMap
1616

17-
from autoarray.structures.arrays import array_2d_util
18-
1917
from autoarray.inversion.inversion.interferometer import inversion_interferometer_util
2018

2119
logger = logging.getLogger(__name__)
@@ -91,7 +89,11 @@ def __init__(
9189
uv_wavelengths=uv_wavelengths, real_space_mask=real_space_mask
9290
)
9391

94-
self.preprocessing_directory = Path(preprocessing_directory) if preprocessing_directory is not None else None
92+
self.preprocessing_directory = (
93+
Path(preprocessing_directory)
94+
if preprocessing_directory is not None
95+
else None
96+
)
9597

9698
@cached_property
9799
def grids(self):
@@ -127,7 +129,7 @@ def from_fits(
127129
file_path=noise_map_path, hdu=noise_map_hdu
128130
)
129131

130-
uv_wavelengths = array_2d_util.numpy_array_2d_via_fits_from(
132+
uv_wavelengths = ndarray_via_fits_from(
131133
file_path=uv_wavelengths_path, hdu=uv_wavelengths_hdu
132134
)
133135

@@ -140,15 +142,11 @@ def from_fits(
140142
)
141143

142144
def w_tilde_preprocessing(self):
143-
144145
if self.preprocessing_directory.is_dir():
145-
146146
filename = "{}/curvature_preload.fits".format(self.preprocessing_directory)
147147

148148
if not self.preprocessing_directory.isfile(filename):
149-
print(
150-
"The file {} does not exist".format(filename)
151-
)
149+
print("The file {} does not exist".format(filename))
152150
logger.info("INTERFEROMETER - Computing W-Tilde... May take a moment.")
153151

154152
curvature_preload = inversion_interferometer_util.w_tilde_curvature_preload_interferometer_from(
@@ -271,8 +269,8 @@ def output_to_fits(
271269
self.noise_map.output_to_fits(file_path=noise_map_path, overwrite=overwrite)
272270

273271
if self.uv_wavelengths is not None and uv_wavelengths_path is not None:
274-
array_2d_util.numpy_array_2d_to_fits(
275-
array_2d=self.uv_wavelengths,
272+
output_to_fits(
273+
values=self.uv_wavelengths,
276274
file_path=uv_wavelengths_path,
277275
overwrite=overwrite,
278276
)

0 commit comments

Comments
 (0)