Skip to content

Commit 3dc49b0

Browse files
Jammy2211Jammy2211
authored andcommitted
moved sub_slim_indexes_for_pix_index to inversion_interferometer_util
1 parent 5677589 commit 3dc49b0

File tree

5 files changed

+44
-95
lines changed

5 files changed

+44
-95
lines changed

autoarray/inversion/inversion/interferometer/inversion_interferometer_util.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1833,3 +1833,42 @@ def curvature_matrix_via_w_tilde_curvature_preload_interferometer_para_from(
18331833
)
18341834
print("finished 3rd loop.")
18351835
return curvature_matrix
1836+
1837+
1838+
@numba_util.jit()
1839+
def sub_slim_indexes_for_pix_index(
1840+
pix_indexes_for_sub_slim_index: np.ndarray,
1841+
pix_weights_for_sub_slim_index: np.ndarray,
1842+
pix_pixels: int,
1843+
) -> Tuple[np.ndarray, np.ndarray, np.ndarray]:
1844+
sub_slim_sizes_for_pix_index = np.zeros(pix_pixels)
1845+
1846+
for pix_indexes in pix_indexes_for_sub_slim_index:
1847+
for pix_index in pix_indexes:
1848+
sub_slim_sizes_for_pix_index[pix_index] += 1
1849+
1850+
max_pix_size = np.max(sub_slim_sizes_for_pix_index)
1851+
1852+
sub_slim_indexes_for_pix_index = -1 * np.ones(shape=(pix_pixels, int(max_pix_size)))
1853+
sub_slim_weights_for_pix_index = -1 * np.ones(shape=(pix_pixels, int(max_pix_size)))
1854+
sub_slim_sizes_for_pix_index = np.zeros(pix_pixels)
1855+
1856+
for slim_index, pix_indexes in enumerate(pix_indexes_for_sub_slim_index):
1857+
pix_weights = pix_weights_for_sub_slim_index[slim_index]
1858+
1859+
for pix_index, pix_weight in zip(pix_indexes, pix_weights):
1860+
sub_slim_indexes_for_pix_index[
1861+
pix_index, int(sub_slim_sizes_for_pix_index[pix_index])
1862+
] = slim_index
1863+
1864+
sub_slim_weights_for_pix_index[
1865+
pix_index, int(sub_slim_sizes_for_pix_index[pix_index])
1866+
] = pix_weight
1867+
1868+
sub_slim_sizes_for_pix_index[pix_index] += 1
1869+
1870+
return (
1871+
sub_slim_indexes_for_pix_index,
1872+
sub_slim_sizes_for_pix_index,
1873+
sub_slim_weights_for_pix_index,
1874+
)

autoarray/inversion/inversion/interferometer/w_tilde.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,11 @@ def curvature_matrix_diag(self) -> np.ndarray:
130130
sub_slim_indexes_for_pix_index,
131131
sub_slim_sizes_for_pix_index,
132132
sub_slim_weights_for_pix_index,
133-
) = mapper.sub_slim_indexes_for_pix_index_arr
133+
) = inversion_interferometer_util.sub_slim_indexes_for_pix_index(
134+
pix_indexes_for_sub_slim_index=self.pix_indexes_for_sub_slim_index,
135+
pix_weights_for_sub_slim_index=self.pix_weights_for_sub_slim_index,
136+
pix_pixels=self.pixels,
137+
)
134138

135139
return inversion_interferometer_util.curvature_matrix_via_w_tilde_curvature_preload_interferometer_from_2(
136140
curvature_preload=self.w_tilde.curvature_preload,

autoarray/inversion/pixelization/mappers/abstract.py

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -207,28 +207,6 @@ def sub_slim_indexes_for_pix_index(self) -> List[List]:
207207

208208
return sub_slim_indexes_for_pix_index
209209

210-
@property
211-
def sub_slim_indexes_for_pix_index_arr(
212-
self,
213-
) -> Tuple[np.ndarray, np.ndarray, np.ndarray]:
214-
"""
215-
Returns the index mappings between each of the pixelization's pixels and the masked data's sub-pixels.
216-
217-
Given that even pixelization pixel maps to multiple data sub-pixels, index mappings are returned as a list of
218-
lists where the first entries are the pixelization index and second entries store the data sub-pixel indexes.
219-
220-
For example, if `sub_slim_indexes_for_pix_index[2][4] = 10`, the pixelization pixel with index 2
221-
(e.g. `mesh_grid[2,:]`) has a mapping to a data sub-pixel with index 10 (e.g. `grid_slim[10, :]).
222-
223-
This is effectively a reversal of the array `pix_indexes_for_sub_slim_index`.
224-
"""
225-
226-
return mapper_util.sub_slim_indexes_for_pix_index(
227-
pix_indexes_for_sub_slim_index=self.pix_indexes_for_sub_slim_index,
228-
pix_weights_for_sub_slim_index=self.pix_weights_for_sub_slim_index,
229-
pix_pixels=self.pixels,
230-
)
231-
232210
@cached_property
233211
def unique_mappings(self) -> UniqueMappings:
234212
"""

autoarray/inversion/pixelization/mappers/mapper_util.py

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -9,45 +9,6 @@
99
from autoarray.inversion.pixelization.mesh import mesh_util
1010

1111

12-
@numba_util.jit()
13-
def sub_slim_indexes_for_pix_index(
14-
pix_indexes_for_sub_slim_index: np.ndarray,
15-
pix_weights_for_sub_slim_index: np.ndarray,
16-
pix_pixels: int,
17-
) -> Tuple[np.ndarray, np.ndarray, np.ndarray]:
18-
sub_slim_sizes_for_pix_index = np.zeros(pix_pixels)
19-
20-
for pix_indexes in pix_indexes_for_sub_slim_index:
21-
for pix_index in pix_indexes:
22-
sub_slim_sizes_for_pix_index[pix_index] += 1
23-
24-
max_pix_size = np.max(sub_slim_sizes_for_pix_index)
25-
26-
sub_slim_indexes_for_pix_index = -1 * np.ones(shape=(pix_pixels, int(max_pix_size)))
27-
sub_slim_weights_for_pix_index = -1 * np.ones(shape=(pix_pixels, int(max_pix_size)))
28-
sub_slim_sizes_for_pix_index = np.zeros(pix_pixels)
29-
30-
for slim_index, pix_indexes in enumerate(pix_indexes_for_sub_slim_index):
31-
pix_weights = pix_weights_for_sub_slim_index[slim_index]
32-
33-
for pix_index, pix_weight in zip(pix_indexes, pix_weights):
34-
sub_slim_indexes_for_pix_index[
35-
pix_index, int(sub_slim_sizes_for_pix_index[pix_index])
36-
] = slim_index
37-
38-
sub_slim_weights_for_pix_index[
39-
pix_index, int(sub_slim_sizes_for_pix_index[pix_index])
40-
] = pix_weight
41-
42-
sub_slim_sizes_for_pix_index[pix_index] += 1
43-
44-
return (
45-
sub_slim_indexes_for_pix_index,
46-
sub_slim_sizes_for_pix_index,
47-
sub_slim_weights_for_pix_index,
48-
)
49-
50-
5112
@numba_util.jit()
5213
def data_slim_to_pixelization_unique_from(
5314
data_pixels,

test_autoarray/inversion/pixelization/mappers/test_abstract.py

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -69,39 +69,6 @@ def test__sub_slim_indexes_for_pix_index():
6969
[0, 1, 2, 3, 4, 5, 6, 7],
7070
]
7171

72-
(
73-
sub_slim_indexes_for_pix_index,
74-
sub_slim_sizes_for_pix_index,
75-
sub_slim_weights_for_pix_index,
76-
) = mapper.sub_slim_indexes_for_pix_index_arr
77-
78-
assert (
79-
sub_slim_indexes_for_pix_index
80-
== np.array(
81-
[
82-
[0, 3, 6, -1, -1, -1, -1, -1],
83-
[1, 4, -1, -1, -1, -1, -1, -1],
84-
[2, -1, -1, -1, -1, -1, -1, -1],
85-
[5, 7, -1, -1, -1, -1, -1, -1],
86-
[0, 1, 2, 3, 4, 5, 6, 7],
87-
]
88-
)
89-
).all()
90-
assert (sub_slim_sizes_for_pix_index == np.array([3, 2, 1, 2, 8])).all()
91-
assert (
92-
sub_slim_weights_for_pix_index
93-
== np.array(
94-
[
95-
[0.1, 0.4, 0.7, -1, -1, -1, -1, -1],
96-
[0.2, 0.5, -1, -1, -1, -1, -1, -1],
97-
[0.3, -1, -1, -1, -1, -1, -1, -1],
98-
[0.6, 0.8, -1, -1, -1, -1, -1, -1],
99-
[0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2],
100-
]
101-
)
102-
).all()
103-
104-
10572
def test__data_weight_total_for_pix_from():
10673
mapper = aa.m.MockMapper(
10774
pix_sub_weights=PixSubWeights(

0 commit comments

Comments
 (0)