Skip to content

Add VisualizerInterferometer combined plotter for datacube fits#494

Merged
Jammy2211 merged 1 commit intomainfrom
feature/alma-datacube
May 5, 2026
Merged

Add VisualizerInterferometer combined plotter for datacube fits#494
Jammy2211 merged 1 commit intomainfrom
feature/alma-datacube

Conversation

@Jammy2211
Copy link
Copy Markdown
Collaborator

Summary

Adds the multi-row combined visualization for ALMA-style interferometer datacube fits — the missing piece that lets af.FactorGraphModel over a list of AnalysisInterferometer actually produce fit_combined.png during the search.

VisualizerImaging.visualize_combined already existed (rows = bands, columns = data / lens model / source / residual). VisualizerInterferometer had no equivalent, so multi-band interferometer fits and ALMA datacubes ran with no combined visualization at all. This PR adds:

  • subplot_fit_interferometer_combined — rows-per-channel × 4 columns: dirty image | dirty model image (with critical-curve overlay) | source-plane reconstruction | dirty normalised residual map.
  • PlotterInterferometer.fit_interferometer_combined — the plotter entry point that drives the subplot.
  • VisualizerInterferometer.visualize_combined — the static method that wires analyses + instance into per-channel FitInterferometers and calls the plotter.

Pairs with PyAutoFit's AnalysisFactor.visualize_combined dispatch fix shipping on the same branch — without that fix the dispatch chain still skips this new static method.

API Changes

API Changes

Added

  • autolens.interferometer.plot.fit_interferometer_plots.subplot_fit_interferometer_combined(fit_list, output_path=None, output_format=None, colormap=None, title_prefix=None) — writes fit_combined.png for a list of FitInterferometer objects.
  • autolens.interferometer.model.plotter.PlotterInterferometer.fit_interferometer_combined(fit_list, quick_update=False) — plotter method.
  • autolens.interferometer.model.visualizer.VisualizerInterferometer.visualize_combined(analyses, paths, instance, during_analysis, quick_update=False) — static method invoked by the PyAutoFit dispatch chain.

Changed Behaviour

  • Multi-channel interferometer / datacube fits now write fit_combined.png during the search (after the paired PyAutoFit fix lands).

Migration

None. Purely additive.

Linked Issues

Test Plan

  • Existing test_autolens/interferometer/ test suite passes (18/18).
  • autolens_workspace_test/scripts/multi/visualization_interferometer.py confirms both direct call and FactorGraph dispatch produce fit_combined.png.

🤖 Generated with Claude Code

Adds the multi-row combined visualization missing for ALMA-style
interferometer datacubes — pairs with PyAutoFit's
AnalysisFactor.visualize_combined dispatch fix.

  * subplot_fit_interferometer_combined — rows-per-channel x 4 cols
    (dirty image, dirty model with critical curves, source plane,
    dirty normalised residual). Mirrors subplot_fit_combined for
    imaging.
  * PlotterInterferometer.fit_interferometer_combined — plotter
    entry point.
  * VisualizerInterferometer.visualize_combined — static method
    invoked by the FactorGraph dispatch chain to write
    fit_combined.png during the search.

Linked: PyAutoLabs/autolens_workspace#120

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Jammy2211 Jammy2211 added the pending-release PR queued for the next release build label May 5, 2026
@Jammy2211 Jammy2211 merged commit d32c696 into main May 5, 2026
5 checks passed
@Jammy2211 Jammy2211 deleted the feature/alma-datacube branch May 5, 2026 07:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pending-release PR queued for the next release build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant