Skip to content

feat: four-panel introductory imaging plot using standard styling - #661

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/cosmos-web-ring-intro-visuals
Oct 29, 2026
Merged

Jammy2211 merged 1 commit into
mainfrom
feature/cosmos-web-ring-intro-visuals

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Summary

Add an introductory dataset plot with four panels: image, noise map, signal-to-noise map and PSF. It uses the existing renderer and configured colormap, fonts, labels, arcsecond ticks and colorbars. A shared optional asinh stretch reveals faint rings beside bright foreground light; the full diagnostic subplot stays unchanged.

Part of PyAutoLabs/autolens_assistant#168. The human authorized concurrent plotting-only work alongside PyAutoArray#659; this diff touches plotting code and tests only.

API Changes

Add subplot_imaging_dataset_intro and an optional stretch argument to the array renderer and shared normalization helper. Existing calls retain their behavior. See full details below.

Test Plan

  • Focused plotting and downstream export tests: 58 passed.
  • Full Array suite: 2,155 passed, 69 skipped, 4 xfailed.
  • Actual COSMOS-Web figures and complete paired notebook executed against the three feature libraries; reference model score 3717.19.
Full API Changes (for automation & release notes)

Added

  • autoarray.dataset.plot.imaging_plots.subplot_imaging_dataset_intro(dataset, output_path=None, output_filename="dataset_intro", output_format=None, colormap=None, stretch=0.01, radius=None, excluded_pixels=None): returns a four-panel figure; display cropping and exclusions never mutate the fitting data. True entries in the native-shaped exclusion mask are hidden from display scaling. Uses configured colormap unless explicitly overridden.

Changed Signature

  • autoarray.plot.array.plot_array(..., stretch=None).
  • autoarray.plot.utils.norm_from(..., stretch=None).

Changed Behaviour

  • Explicit positive stretch selects asinh normalization with linear width equal to that fraction of the finite displayed range. It cannot be combined with use_log10=True. Default None preserves existing behavior.
  • Asinh colorbars retain data units and put their middle tick at the visual midpoint.

Migration

  • Optional introduction: replace subplot_imaging_dataset(dataset) with subplot_imaging_dataset_intro(dataset). Existing diagnostic callers need no migration.

Development-only Heart override

The human authorized “Authorize development-only shipping for #168”, then approved the library revision and concurrent plotting-only work in PyAutoArray. No merge or release is authorized.

Current Heart RED reasons:

  • PyAutoArray: 4 uncommitted source change(s)
  • PyAutoGalaxy: 9 commit(s) behind origin
  • PyAutoLens: 7 commit(s) behind origin

Additional stale reasons: release validation incomplete: no rehearsal for current source; release push credential check stale (pyautolabs-bot, 49h old).

This change does not repair Heart. Required CI and the library-first release gate remain in force.

Generated by the PyAutoLabs agent workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant