From d04b958a64f1d338eb75ed09d770773ac4fbe318 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Fri, 8 May 2026 19:51:39 +0100 Subject: [PATCH] feat: dispatch autogalaxy visualizers via fit_for_visualization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #389. - imaging/model/visualizer.py — both single-analysis visualize() and visualize_combined() multi-analysis path - interferometer/model/visualizer.py — single-analysis visualize() PyAutoLens made the same swap in #443 (2026-04-19) when use_jax_for_visualization landed in autofit. PyAutoGalaxy got matching pytree registration for FitImaging (#364) and FitInterferometer (#376) but the dispatch call sites were never swapped, leaving use_jax_for_visualization=True a silent no-op on autogalaxy. This PR fixes that. Safe for the NumPy default path: fit_for_visualization falls back to fit_from whenever use_jax_for_visualization=False. --- autogalaxy/imaging/model/visualizer.py | 4 ++-- autogalaxy/interferometer/model/visualizer.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/autogalaxy/imaging/model/visualizer.py b/autogalaxy/imaging/model/visualizer.py index 311bdaef..b88c716a 100644 --- a/autogalaxy/imaging/model/visualizer.py +++ b/autogalaxy/imaging/model/visualizer.py @@ -76,7 +76,7 @@ def visualize( An instance of the model that is being fitted to the data by this analysis (whose parameters have been set via a non-linear search). """ - fit = analysis.fit_from(instance=instance) + fit = analysis.fit_for_visualization(instance=instance) plotter = PlotterImaging( image_path=paths.image_path, title_prefix=analysis.title_prefix @@ -173,7 +173,7 @@ def visualize_combined( ) fit_list = [ - analysis.fit_from(instance=single_instance) + analysis.fit_for_visualization(instance=single_instance) for analysis, single_instance in zip(analyses, instance) ] diff --git a/autogalaxy/interferometer/model/visualizer.py b/autogalaxy/interferometer/model/visualizer.py index 0fe1a891..44d694cf 100644 --- a/autogalaxy/interferometer/model/visualizer.py +++ b/autogalaxy/interferometer/model/visualizer.py @@ -78,7 +78,7 @@ def visualize( An instance of the model that is being fitted to the data by this analysis (whose parameters have been set via a non-linear search). """ - fit = analysis.fit_from(instance=instance) + fit = analysis.fit_for_visualization(instance=instance) plotter = PlotterInterferometer( image_path=paths.image_path, title_prefix=analysis.title_prefix