feat: rectangular mesh split — Bilinear default everywhere, RTU documented as advanced - #495
Merged
Merged
Conversation
…ed/interferometer Workspace follow-up to PyAutoArray#462 (issue PyAutoArray#461): - Imaging-family examples (imaging, multi_galaxy, group, multi_dataset, guides): RectangularAdaptDensity/AdaptImage -> the new fast-CPU default RectangularBilinearAdaptDensity/AdaptImage. - Interferometer examples: -> RectangularRTUAdaptDensity/AdaptImage (pure rename of the previous kernel-CDF behaviour; RTU is the required gradient mesh on the interferometer sparse path). - Mesh-variants docs added where the pixelization examples introduce the meshes (imaging + interferometer modeling.py, likelihood_function.py, adaptive.py, READMEs) incl. the Enzi et al. 2026 (arXiv:2606.30620) RTU citation — folds in the queued Mind Enzi-citation docs draft — and the gradient guidance (os_pix >= 4 or RTU; interferometer gradients need RTU). - searches.py gradient guide: names the RTU meshes explicitly. - Prior configs: rectangular_adapt_*.yaml renamed to rectangular_rtu_adapt_*.yaml and new rectangular_bilinear_adapt_*.yaml added (same priors). Scripts and configs only — notebooks and workspace_index.json regenerate at release. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtMqU3JfmyJh8GvB7jT4Et
This was referenced Aug 21, 2026
llms-full.txt / workspace_index.json regenerated with autohands/regenerate_navigator.py autolens after the Bilinear/RTU class-name sweep (navigator staleness CI check). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtMqU3JfmyJh8GvB7jT4Et
No normal-workspace example uses RTU (user decision): the interferometer examples switch from RectangularRTUAdaptDensity/AdaptImage to the RectangularBilinearAdaptDensity/AdaptImage default, matching imaging. RTU stays documentation-only — the advanced option, required for gradient-based (JAX) interferometer fitting (zero Bilinear gradients on the sparse path) and recommended on GPUs, with the Enzi et al. 2026 citation. Navigator catalogue regenerated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtMqU3JfmyJh8GvB7jT4Et
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
Workspace follow-up to the PyAutoArray rectangular mesh split (PyAutoLabs/PyAutoArray#462, merged; task PyAutoLabs/PyAutoArray#461). Every example — imaging family and interferometer — switches to the new fast-CPU default
RectangularBilinearAdaptDensity/RectangularBilinearAdaptImage; no normal-workspace example uses RTU (user decision, 2026-08-21). TheRectangularRTUAdaptDensity/RectangularRTUAdaptImagemeshes are documentation-only here: the advanced option, required for gradient-based (JAX) interferometer fitting (the Bilinear likelihood has zero gradients on the interferometer sparse path) and recommended on GPUs, with the Enzi et al. 2026 (arXiv:2606.30620) citation — this folds in the queued Mind Enzi-citation docs draft.Scripts Changed
imaging/,interferometer/,multi_galaxy/,group/,multi_dataset/,guides/: class-name sweep toRectangularBilinear*(no script passedbandwidth/n_knots, so the swaps are drop-in).imaging/features/pixelization/modeling.py,likelihood_function.py,adaptive.py,README.md: new "Rectangular Mesh Variants" docs — Bilinear = rank-CDF fast CPU default; RTU = kernel-CDF advanced option (GPU / gradient samplers), Enzi citation, and the gradient caveat (over_sample_size_pixelization >= 4or RTU).interferometer/features/pixelization/modeling.py,README.md: Bilinear default like imaging; docs state gradient-based interferometer fitting must use RTU (no over-sampling escape hatch on the sparse path).guides/modeling/searches.py: the gradient-search guide names the RTU meshes explicitly.config/priors/mesh/:rectangular_adapt_*.yaml→rectangular_rtu_adapt_*.yamlplus newrectangular_bilinear_adapt_*.yaml(same priors — the Bilinear meshes have no extra parameters).llms-full.txt/workspace_index.json: navigator catalogue regenerated (CI staleness check).Notebooks regenerate at release.
Upstream PR
Test Plan
py_compile).RectangularBilinearAdaptDensity/RectangularBilinearAdaptImage/RectangularRTUAdaptImageall produce finite likelihoods on the jax_test imaging dataset (numpy and JAX paths).