Skip to content

Commit 8e2fa61

Browse files
Jammy2211Jammy2211
authored andcommitted
fix unit test
1 parent 8b94df4 commit 8e2fa61

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

autoarray/dataset/interferometer/dataset.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@
77
from autoarray.dataset.abstract.dataset import AbstractDataset
88
from autoarray.dataset.interferometer.w_tilde import WTildeInterferometer
99
from autoarray.dataset.grids import GridsDataset
10+
from autoarray.operators.transformer import TransformerDFT
1011
from autoarray.operators.transformer import TransformerNUFFT
1112
from autoarray.mask.mask_2d import Mask2D
1213
from autoarray.structures.visibilities import Visibilities
1314
from autoarray.structures.visibilities import VisibilitiesNoiseMap
1415

16+
from autoarray import exc
1517
from autoarray.inversion.inversion.interferometer import (
1618
inversion_interferometer_util,
1719
)
1820

19-
from autoarray import exc
20-
2121
logger = logging.getLogger(__name__)
2222

2323

@@ -30,6 +30,7 @@ def __init__(
3030
real_space_mask: Mask2D,
3131
transformer_class=TransformerNUFFT,
3232
w_tilde: Optional[WTildeInterferometer] = None,
33+
raise_error_dft_visibilities_limit: bool = True,
3334
):
3435
"""
3536
An interferometer dataset, containing the visibilities data, noise-map, real-space msk, Fourier transformer and
@@ -103,6 +104,19 @@ def __init__(
103104

104105
self.w_tilde = w_tilde
105106

107+
if raise_error_dft_visibilities_limit:
108+
if self.uv_wavelengths.shape[0] > 10000 and transformer_class == TransformerDFT:
109+
raise exc.DatasetException(
110+
"""
111+
Interferometer datasets with more than 10,000 visibilities should use the TransformerNUFFT class for
112+
efficient Fourier transforms between real and uv-space. The DFT (Discrete Fourier Transform) is too slow for
113+
large datasets.
114+
115+
If you are certain you want to use the TransformerDFT class, you can disable this error by passing
116+
the input `raise_error_dft_visibilities_limit=False` when loading the Interferometer dataset.
117+
"""
118+
)
119+
106120
@classmethod
107121
def from_fits(
108122
cls,

autoarray/operators/transformer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ def visibilities_from(self, image, xp=np):
371371

372372
else:
373373

374-
image_native[image.mask.slim_to_native_tuple] = image.array
374+
image_native = image.native.array
375375

376376
if xp is np:
377377
warnings.filterwarnings("ignore")

0 commit comments

Comments
 (0)