Skip to content

Commit ba8bde2

Browse files
authored
Merge pull request #405 from PyAutoLabs/claude/g-heart-green-fable-opus-uuiaqf
fix: catch LinAlgError in the inversion noise-map diagnostic panel
2 parents 85c57eb + 4cfba48 commit ba8bde2

2 files changed

Lines changed: 31 additions & 1 deletion

File tree

autoarray/inversion/plot/inversion_plots.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ def _recon_array():
166166
mesh_grid=mesh_grid,
167167
lines=lines,
168168
)
169-
except (KeyError, TypeError):
169+
except (KeyError, TypeError, np.linalg.LinAlgError):
170170
pass
171171

172172
# panel 7: regularization weights

test_autoarray/inversion/plot/test_inversion_plotters.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import autoarray.plot as aplt
22
from autoarray.inversion.mappers.abstract import Mapper
33

4+
import numpy as np
45
import pytest
56
from pathlib import Path
67

@@ -62,3 +63,32 @@ def test__inversion_subplot_of_mapper__is_output_for_all_inversions(
6263
output_format="png",
6364
)
6465
assert str(Path(plot_path) / "mappings_0.png") in plot_patch.paths
66+
67+
68+
def test__inversion_subplot_of_mapper__singular_curvature_reg_matrix(
69+
rectangular_inversion_7x7_3x3,
70+
plot_path,
71+
plot_patch,
72+
monkeypatch,
73+
):
74+
inversion = rectangular_inversion_7x7_3x3
75+
76+
params = inversion.linear_obj_list[0].params
77+
78+
monkeypatch.setattr(
79+
type(inversion),
80+
"reconstruction_noise_map_with_covariance",
81+
property(lambda self: np.sqrt(np.linalg.inv(np.zeros((params, params))))),
82+
)
83+
84+
with pytest.raises(np.linalg.LinAlgError):
85+
inversion.reconstruction_noise_map_dict
86+
87+
aplt.subplot_of_mapper(
88+
inversion=inversion,
89+
mapper_index=0,
90+
output_path=plot_path,
91+
output_format="png",
92+
)
93+
94+
assert str(Path(plot_path) / "inversion_0.png") in plot_patch.paths

0 commit comments

Comments
 (0)