From fee1a43ff05bf8aa59526bbea57793ba50907173 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Sun, 3 May 2026 19:32:08 +0100 Subject: [PATCH] Fix subplot_of_mapper crash on interferometer data_subtracted Panel 0 of `subplot_of_mapper` and `subplot_mappings` passed `inversion.data_subtracted_dict[mapper]` directly to `plot_array`, which expects a 2D array. For interferometer fits the entry is `Visibilities` (1D), so `plot_array`'s `array.shape[:2]` unpack failed. Mirror the existing `Visibilities` check in panels 1-3: when the dict entry is `Visibilities`, transform to a 2D dirty image via `inversion.transformer.image_from(...)` (same mechanism as `FitInterferometer.dirty_residual_map`). Imaging path unchanged. --- autoarray/inversion/plot/inversion_plots.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/autoarray/inversion/plot/inversion_plots.py b/autoarray/inversion/plot/inversion_plots.py index b97bc48e..d1c8dd2b 100644 --- a/autoarray/inversion/plot/inversion_plots.py +++ b/autoarray/inversion/plot/inversion_plots.py @@ -60,8 +60,13 @@ def subplot_of_mapper( # panel 0: data subtracted try: + array = inversion.data_subtracted_dict[mapper] + from autoarray.structures.visibilities import Visibilities + + if isinstance(array, Visibilities): + array = inversion.transformer.image_from(visibilities=array) plot_array( - inversion.data_subtracted_dict[mapper], + array, ax=axes[0], title=_pf("Data Subtracted"), colormap=colormap, @@ -286,8 +291,13 @@ def subplot_mappings( # panel 0: data subtracted try: + array = inversion.data_subtracted_dict[mapper] + from autoarray.structures.visibilities import Visibilities + + if isinstance(array, Visibilities): + array = inversion.transformer.image_from(visibilities=array) plot_array( - inversion.data_subtracted_dict[mapper], + array, ax=axes[0], title="Data Subtracted", colormap=colormap,