Skip to content

render: PointSolver refinement figure + thinner model cross - #12

Merged
Jammy2211 merged 2 commits into
mainfrom
feature/point-solver-refinement-figure
Oct 21, 2026
Merged

Jammy2211 merged 2 commits into
mainfrom
feature/point-solver-refinement-figure

Conversation

@Jammy2211

Copy link
Copy Markdown
Contributor

Summary

Renders the new PointSolver refinement figure (PyAutoLens#788, issue PyAutoLabs/PyAutoLens#787) and re-renders the point and cluster fit.pngs with the thinner model ✕.

  • Real-solver diagnostic: point_solver.png for point_source_image_chi_squared and for each cluster plane (point_0, point_1). It shows steps 0, 1, 2 and final of the model's own solver. On these fine grids, steps 1, 2 and final look alike (sub-pixel triangles drawn as ▲), which the human accepted.
  • Teaching figure: point_source_image_chi_squared/images/visualization/teaching/point_solver.png plus point_solver.gif, rendered by aplt.plot_point_solver on a coarse 11×11 @ 0.5″ grid (precision 0.01″). It is the approved variant_f_coarse look with arc-second ticks. The GIF has 4 frames (0, 1, 2, final) at 640×730, 1.25 s each with the final frame held 3.75 s, loops, and is about 0.13 MB.
    • Why this home: it uses the same dataset and true model as point_source_image_chi_squared, so it lives as a teaching/ sub-folder of that domain rather than a new pseudo-domain. The repo's rule is one folder per dataset type.
  • GIF and the manifest: gallery/viz_manifest.yaml and GALLERY.md list PNGs only (the PyAutoEyes read contract), so the GIF is tracked beside its PNG still but is not a manifest entry. The builder is unchanged. render.yml already git add -As scripts/*/images, so release re-renders commit it. _viz_cli.mirror_to_scratch now also mirrors GIFs to the Eyes scratch.
  • Config: config/visualize/plots.yaml sets fit_point_dataset: subplot_point_solver: true. It is off by default in the library.

Scripts Changed

  • scripts/point_source_image_chi_squared/visualization.py: visualize(quick_update=False) so the visualizer writes point_solver.png (kept); adds the teaching still and GIF.
  • scripts/cluster/visualization.py: computes the critical curves once per dataset, passes them to fit_point, and adds PlotterPoint.point_solver; keeps point_solver.png.
  • _viz_cli.py: the scratch mirror copies *.gif too.
  • config/visualize/plots.yaml, AGENTS.md, README.md, GALLERY.md, gallery/viz_manifest.yaml (68 → 72 PNGs).
  • Re-rendered figures:
    • point_source_image_chi_squared: fit.png, point_solver.png, teaching/*
    • point_source_source_chi_squared: fit.png
    • cluster: point_{0,1}/{fit,point_solver}.png

Upstream PR

PyAutoLabs/PyAutoLens#788

Test Plan

  • All three affected producers run against the PyAutoLens worktree branch:
    • point_source_image_chi_squared: 8 s
    • point_source_source_chi_squared: 1.4 s
    • cluster: 97 s per plane
  • ruff check . and ruff format --check . are clean; gallery_build.py --check is current; pytest scripts/misc/test: 17 passed.
  • CI lint is expected RED until PyAutoLens#788 merges. Its producers run against the library mains, where PlotterPoint.point_solver and aplt.plot_point_solver don't exist yet. Re-run after the library merge (library-first).
  • Heart: YELLOW, pre-existing and acknowledged by the human: "manifest drift: workspace checkouts (manifest ↔ disk) — 1 mismatch(es) vs PyAutoMind/repos.yaml"; "release validation stale: source moved since rehearsal (PyAutoArray)".

Generated by the PyAutoLabs agent workflow.

🤖 Generated with Claude Code

…ns#788)

- point_source_image_chi_squared: visualize(quick_update=False) keeps point_solver.png (the
  model's real solver, steps 0/1/2/final); teaching/point_solver.png + point_solver.gif from
  aplt.plot_point_solver on a coarse 11x11 @ 0.5" grid.
- cluster: PlotterPoint.point_solver per plane -> point_<i>/point_solver.png; critical curves
  computed once per dataset and shared with fit_point (as VisualizerPoint does).
- config/visualize/plots.yaml: fit_point_dataset: subplot_point_solver: true.
- Re-rendered point_source_* and cluster fit.png (thinner model cross).
- _viz_cli.mirror_to_scratch also mirrors GIFs; the PNG manifest/GALLERY.md are unchanged in
  shape (the GIF is tracked beside its still, not a manifest entry). Docs updated.

Refs PyAutoLabs/PyAutoLens#787

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…yAutoLens#788)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Jammy2211
Jammy2211 merged commit 33e23a1 into main Oct 21, 2026
1 of 2 checks passed
@Jammy2211
Jammy2211 deleted the feature/point-solver-refinement-figure branch October 21, 2026 14:37
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