Skip to content

Commit 340c34d

Browse files
committed
pylops removed
1 parent 72af86b commit 340c34d

9 files changed

Lines changed: 3 additions & 243 deletions

File tree

autoarray/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
from .inversion.inversion.imaging.w_tilde import InversionImagingWTilde
4545
from .inversion.inversion.interferometer.w_tilde import InversionInterferometerWTilde
4646
from .inversion.inversion.interferometer.mapping import InversionInterferometerMapping
47-
from .inversion.inversion.interferometer.lop import InversionInterferometerMappingPyLops
4847
from .inversion.linear_obj.linear_obj import LinearObj
4948
from .inversion.linear_obj.func_list import AbstractLinearObjFuncList
5049
from .mask.derive.indexes_2d import DeriveIndexes2D

autoarray/inversion/inversion/factory.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99
from autoarray.inversion.inversion.interferometer.w_tilde import (
1010
InversionInterferometerWTilde,
1111
)
12-
from autoarray.inversion.inversion.interferometer.lop import (
13-
InversionInterferometerMappingPyLops,
14-
)
1512
from autoarray.inversion.inversion.dataset_interface import DatasetInterface
1613
from autoarray.inversion.linear_obj.linear_obj import LinearObj
1714
from autoarray.inversion.linear_obj.func_list import AbstractLinearObjFuncList
@@ -212,11 +209,3 @@ def inversion_interferometer_from(
212209
settings=settings,
213210
run_time_dict=run_time_dict,
214211
)
215-
216-
else:
217-
return InversionInterferometerMappingPyLops(
218-
dataset=dataset,
219-
linear_obj_list=linear_obj_list,
220-
settings=settings,
221-
run_time_dict=run_time_dict,
222-
)

autoarray/inversion/inversion/interferometer/lop.py

Lines changed: 0 additions & 146 deletions
This file was deleted.

autoarray/inversion/regularization/abstract.py

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,6 @@
55
if TYPE_CHECKING:
66
from autoarray.inversion.linear_obj.linear_obj import LinearObj
77

8-
try:
9-
import pylops
10-
11-
PyLopsOperator = pylops.LinearOperator
12-
except ModuleNotFoundError:
13-
PyLopsOperator = object
14-
158

169
class AbstractRegularization:
1710
def __init__(self):
@@ -174,19 +167,3 @@ def regularization_matrix_from(self, linear_obj: LinearObj) -> np.ndarray:
174167
The regularization matrix.
175168
"""
176169
raise NotImplementedError
177-
178-
179-
class RegularizationLop(PyLopsOperator):
180-
def __init__(self, regularization_matrix):
181-
self.regularization_matrix = regularization_matrix
182-
self.pixels = regularization_matrix.shape[0]
183-
self.dims = self.pixels
184-
self.shape = (self.pixels, self.pixels)
185-
self.dtype = dtype
186-
self.explicit = False
187-
188-
def _matvec(self, x):
189-
return np.dot(self.regularization_matrix, x)
190-
191-
def _rmatvec(self, x):
192-
return np.dot(self.regularization_matrix.T, x)

autoarray/operators/transformer.py

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,11 @@ class NUFFTPlaceholder:
88
pass
99

1010

11-
class PyLopsPlaceholder:
12-
pass
13-
14-
1511
try:
1612
from pynufft.linalg.nufft_cpu import NUFFT_cpu
1713
except ModuleNotFoundError:
1814
NUFFT_cpu = NUFFTPlaceholder
1915

20-
try:
21-
import pylops
22-
23-
PyLopsOperator = pylops.LinearOperator
24-
except ModuleNotFoundError:
25-
PyLopsOperator = PyLopsPlaceholder
2616

2717
from autoarray.structures.arrays.uniform_2d import Array2D
2818
from autoarray.structures.grids.uniform_2d import Grid2D
@@ -42,20 +32,8 @@ def pynufft_exception():
4232
)
4333

4434

45-
def pylops_exception():
46-
raise ModuleNotFoundError(
47-
"\n--------------------\n"
48-
"You are attempting to perform interferometer analysis.\n\n"
49-
"However, the optional library PyLops (https://github.com/PyLops/pylops) is not installed.\n\n"
50-
"Install it via the command `pip install pylops==2.3.1`.\n\n"
51-
"----------------------"
52-
)
53-
54-
55-
class TransformerDFT(PyLopsOperator):
35+
class TransformerDFT:
5636
def __init__(self, uv_wavelengths, real_space_mask, preload_transform=True):
57-
if isinstance(self, PyLopsPlaceholder):
58-
pylops_exception()
5937

6038
super().__init__()
6139

@@ -146,14 +124,11 @@ def transform_mapping_matrix(self, mapping_matrix):
146124
)
147125

148126

149-
class TransformerNUFFT(NUFFT_cpu, PyLopsOperator):
127+
class TransformerNUFFT(NUFFT_cpu):
150128
def __init__(self, uv_wavelengths, real_space_mask):
151129
if isinstance(self, NUFFTPlaceholder):
152130
pynufft_exception()
153131

154-
if isinstance(self, PyLopsPlaceholder):
155-
pylops_exception()
156-
157132
super(TransformerNUFFT, self).__init__()
158133

159134
self.uv_wavelengths = uv_wavelengths

autoarray/preloads.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -198,13 +198,6 @@ def set_mapper_list(self, fit_0, fit_1):
198198
if fit_0.inversion.total(cls=AbstractMapper) == 0:
199199
return
200200

201-
from autoarray.inversion.inversion.interferometer.lop import (
202-
InversionInterferometerMappingPyLops,
203-
)
204-
205-
if isinstance(fit_0.inversion, InversionInterferometerMappingPyLops):
206-
return
207-
208201
inversion_0 = fit_0.inversion
209202
inversion_1 = fit_1.inversion
210203

@@ -238,13 +231,6 @@ def set_operated_mapping_matrix_with_preloads(self, fit_0, fit_1):
238231

239232
self.operated_mapping_matrix = None
240233

241-
from autoarray.inversion.inversion.interferometer.lop import (
242-
InversionInterferometerMappingPyLops,
243-
)
244-
245-
if isinstance(fit_0.inversion, InversionInterferometerMappingPyLops):
246-
return
247-
248234
inversion_0 = fit_0.inversion
249235
inversion_1 = fit_1.inversion
250236

autoarray/structures/visibilities.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,7 @@ def __init__(self, visibilities: Union[np.ndarray, List[complex]], *args, **kwar
213213
A collection of (real, imag) visibilities noise-map values which are used to represent the noise-map in
214214
an `Interferometer` dataset.
215215
216-
This data structure behaves the same as the `Visibilities` structure (see `AbstractVisibilities.__new__`). The
217-
only difference is that it includes a `WeightOperator` used by `Inversion`'s which use `LinearOperators` and
218-
the library `PyLops` to fit `Interferometer` data.
216+
This data structure behaves the same as the `Visibilities` structure (see `AbstractVisibilities.__new__`).
219217
220218
Parameters
221219
----------

optional_requirements.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
pylops>=1.10.0,<=2.3.1
21
pynufft
32
#jax==0.4.3
43
#jaxlib==0.4.3

test_autoarray/inversion/inversion/interferometer/test_inversion_interferometer_util.py

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -68,23 +68,6 @@ def test__data_vector_via_transformed_mapping_matrix_from():
6868
assert (data_vector_complex_via_blurred == data_vector_via_transformed).all()
6969

7070

71-
def test__inversion_interferometer__via_mapper(
72-
interferometer_7_no_fft,
73-
rectangular_mapper_7x7_3x3,
74-
delaunay_mapper_9_3x3,
75-
voronoi_mapper_9_3x3,
76-
regularization_constant,
77-
):
78-
inversion = aa.Inversion(
79-
dataset=interferometer_7_no_fft,
80-
linear_obj_list=[rectangular_mapper_7x7_3x3],
81-
settings=aa.SettingsInversion(use_linear_operators=True),
82-
)
83-
84-
assert isinstance(inversion.linear_obj_list[0], aa.MapperRectangular)
85-
assert isinstance(inversion, aa.InversionInterferometerMappingPyLops)
86-
87-
8871
def test__w_tilde_curvature_interferometer_from():
8972
noise_map = np.array([1.0, 2.0, 3.0])
9073
uv_wavelengths = np.array([[0.0001, 2.0, 3000.0], [3000.0, 2.0, 0.0001]])

0 commit comments

Comments
 (0)