Skip to content

feat: export subplot_interferometer_dataset + subplot_fit_interferometer_combined - #668

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/plot-coverage-gaps
Jul 30, 2026
Merged

feat: export subplot_interferometer_dataset + subplot_fit_interferometer_combined#668
Jammy2211 merged 1 commit into
mainfrom
feature/plot-coverage-gaps

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Summary

autolens.plot was missing two interferometer plotting symbols that exist and are reachable everywhere else in the stack. This adds them as pure re-exports.

  • subplot_interferometer_datasetautogalaxy.plot exports it from autoarray.dataset.plot.interferometer_plots, but autolens.plot imported only subplot_interferometer_dirty_images and fits_interferometer from that same module and skipped it. The interferometer dataset subplot was therefore unreachable from autolens.plot, which is why autolens_workspace/scripts/interferometer/plot.py has no dataset subplot while its autogalaxy counterpart does. That was never a workspace gap — the function simply could not be called.
  • subplot_fit_interferometer_combined — autolens's own function in autolens/interferometer/plot/fit_interferometer_plots.py, left unexported while the imaging equivalent subplot_fit_combined is exported.

This is the mirror of PyAutoGalaxy#538, which closed the same export asymmetry in the other direction during the plot-guides-restructure task.

Found by an audit of every public function in the source *_plots.py modules against every aplt.* call in both workspaces — the same audit that drives the workspace follow-up (see #667).

API Changes

Two symbols added to the autolens.plot (aplt) namespace. Both are re-exports of existing, unchanged functions — no signature, behaviour, or resolution change to anything already exported. Nothing removed or renamed.

See full details below.

Test Plan

  • Full PyAutoLens suite inside the task worktree: 488 passed, 0 failed (66.75s)
  • set(dir(autogalaxy.plot)) - set(dir(autolens.plot)) reduces from {subplot_fit_imaging_list, subplot_interferometer_dataset} to just {subplot_fit_imaging_list} (deliberate — AL uses subplot_fit_combined instead of AG's subplot_fit_imaging_list)
  • Both new names resolve to the expected modules, asserted against the worktree copy of autolens rather than the installed stack:
    • subplot_interferometer_datasetautoarray.dataset.plot.interferometer_plots
    • subplot_fit_interferometer_combinedautolens.interferometer.plot.fit_interferometer_plots (autolens's own, not autogalaxy's)
  • aplt export count 61 → 63
  • git diff --stat = 2 files, 5 insertions, 1 deletion — no binary or output leakage
Full API Changes (for automation & release notes)

Added

  • autolens.plot.subplot_interferometer_dataset(dataset, output_path=, output_filename="dataset", output_format=, colormap=, use_log10=False, title_prefix=) — multi-panel subplot of an interferometer dataset. Re-export of autoarray.dataset.plot.interferometer_plots.subplot_interferometer_dataset, already exported by autogalaxy.plot.
  • autolens.plot.subplot_fit_interferometer_combined(fit_list, output_path=, output_format=, colormap=, title_prefix=) — combined subplot across a list of interferometer fits. Re-export of autolens.interferometer.plot.fit_interferometer_plots.subplot_fit_interferometer_combined.

Removed

None.

Renamed

None.

Changed Signature

None.

Changed Behaviour

None. In particular, the names subplot_fit_dirty_images and subplot_fit_real_space continue to resolve to the autogalaxy implementations inside autolens.plot, exactly as before this PR.

Migration

None required — additive only. Previously unreachable calls now work:

  • Before: aplt.subplot_interferometer_dataset(dataset=dataset)AttributeError
  • After: renders the interferometer dataset subplot, matching autogalaxy.plot.
Deliberately out of scope

Not changed here: aplt.subplot_fit_dirty_images and aplt.subplot_fit_real_space resolve to the autogalaxy implementations inside autolens.plot, shadowing autolens's own versions in autolens/interferometer/plot/fit_interferometer_plots.py — which accept lensing-specific image_plane_lines / source_plane_lines arguments the autogalaxy versions do not. Rebinding an existing exported name is a behaviour change, not an additive export, so it belongs in its own prompt rather than riding along here.

Pre-existing docs/api/plot.rst omissions, not fixed in this PR: subplot_imaging_dataset, subplot_imaging_dataset_list, fits_imaging, fits_interferometer, subplot_fit_interferometer_tracer and subplot_interferometer_dirty_images are all exported but absent from the API docs. Separate audit.

Follow-up

The workspace leg of #667 lands after this merges: 7 plot.py files across autolens_workspace (imaging, interferometer, weak, cluster, point_source) and autogalaxy_workspace (imaging, interferometer). The AL interferometer dataset subplot depends on the first export here.

Closes nothing on its own — #667 stays open until the workspace leg ships.

Generated by the PyAutoLabs agent workflow.

…ter_combined

`autolens.plot` was missing two interferometer plotting symbols that are
reachable everywhere else in the stack:

- `subplot_interferometer_dataset` is exported by `autogalaxy.plot` from
  `autoarray.dataset.plot.interferometer_plots`, but `autolens.plot` imported
  only `subplot_interferometer_dirty_images` and `fits_interferometer` from
  that same module. The interferometer dataset subplot was therefore
  unreachable from `autolens.plot`, which is why the autolens_workspace
  interferometer example has no dataset subplot while its autogalaxy
  counterpart does.

- `subplot_fit_interferometer_combined` is autolens's own function in
  `autolens/interferometer/plot/fit_interferometer_plots.py`, left unexported
  while the imaging equivalent `subplot_fit_combined` is exported.

Both changes are purely additive. This is the mirror of PyAutoGalaxy#538,
which closed the same asymmetry in the other direction.

Co-Authored-By: Claude Opus 5 <[email protected]>
@Jammy2211

Copy link
Copy Markdown
Collaborator Author

Workspace legs of #667 are now open and depend on this PR:

All 7 touched workspace scripts were validated against this branch's build via a shared task worktree (7/7 ran to completion sequentially, with visualization on), so the new exports are exercised by real callers before merge.

@Jammy2211
Jammy2211 merged commit 45ac1db into main Jul 30, 2026
5 checks passed
@Jammy2211
Jammy2211 deleted the feature/plot-coverage-gaps branch July 30, 2026 15:22
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