Add VisualizerInterferometer combined plotter for datacube fits#494
Merged
Add VisualizerInterferometer combined plotter for datacube fits#494
Conversation
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) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the multi-row combined visualization for ALMA-style interferometer datacube fits — the missing piece that lets
af.FactorGraphModelover a list ofAnalysisInterferometeractually producefit_combined.pngduring the search.VisualizerImaging.visualize_combinedalready existed (rows = bands, columns = data / lens model / source / residual).VisualizerInterferometerhad 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 wiresanalyses + instanceinto per-channelFitInterferometers and calls the plotter.Pairs with PyAutoFit's
AnalysisFactor.visualize_combineddispatch 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)— writesfit_combined.pngfor a list ofFitInterferometerobjects.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
fit_combined.pngduring the search (after the paired PyAutoFit fix lands).Migration
None. Purely additive.
Linked Issues
Test Plan
test_autolens/interferometer/test suite passes (18/18).autolens_workspace_test/scripts/multi/visualization_interferometer.pyconfirms both direct call and FactorGraph dispatch producefit_combined.png.🤖 Generated with Claude Code