Repository navigation
Axes: show the confirmation at once and make it faster; image type moves to Channels (v0.5.2 owner feedback) - #292
Conversation
… confirmed on Channels Owner feedback on the v0.5.2 Colab test (12 November 2026): - Confirm these axes / Confirm axis roles: the button is disabled and says Working…, and the folder check's progress line appears under it before any work, then advances through the 5 parts of the confirmation (n of 5). - The click read every channel of every folder's first image for the folded per-folder image-type rows, and rebuilt the Design pairing editor for pictures the stepper never shows. The rows now read their pictures only once opened, and the editor is not rebuilt there (28 folders of 3 x 2048^2: 93 plane reads -> 9, 1,439 widgets built -> 1,037). Nothing validated changed. - The image type is no longer on Axes: proposed at the quick scan (display only, from the headers; nothing recorded there) and confirmed first on the Channels step. The rules are unchanged; published files are unchanged for the same answers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
The Working… state of #292 cleared its progress line and gave the button back when the confirmation raised part-way, but said nothing: the line went blank, the confirmation above it still said the axes were checked, and after Confirm these axes the one-click card had already hidden. The failure is now caught: the button is given back as before, the error is said in red under the button clicked (under Confirm axis roles once the one-click card has gone), and the traceback goes to Technical details, as the run and the mask step do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
|
Independent review of 05c0b4f, from a fresh clone and venv. One defect, fixed in ec04490 with a regression test that fails before the fix. If the confirmation raised part-way (for example in preparing the run), Verified, no change needed
For the owner (unchanged from main): after stains are named, switching every folder to RGB keeps the declared stains as "saved, unused". The card says so, and they are still written to Generated by Claude Code |
…s) into the v0.5.2 release branch Two conflicts. CHANGELOG.md: #292's Unreleased block becomes the subsection "Axes confirmation and the image type on Channels (#292)" of v0.5.2, before #291's; the next commit moves it into the release notes. docs/colab-release-check.md: the release branch's walk-through is kept as it was; the next commit adds #292's items to it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
…n Channels (#292) Commit A'' of the release PR, after main (25c561f, #292) was merged in. - CHANGELOG v0.5.2: the summary and Changed gain #292 (Working… and the progress bar of the axes confirmation, a failure said in red, no picture read for the folded per-folder image-type rows, the image type proposed at the quick scan and confirmed on Channels); #292's notes stay as their own subsection. - docs/colab-release-check.md: Images shows the image type, display only; Axes shows Working… and the bar, and no image type; Channels starts with the image type. - docs/user_guide.md: the image type moves from step 2 to step 3 (and the quick scan's display-only line, the Working… state). - docs/conformance.md: the v0.5.2 record measured on this tree (check.py 5487 passed, 4 environment skips; Spec modules 1799 passed, 0 skipped, 25 modules). - RELEASE_REF back to v0.5.1's d023ff9 (and its test), as in commits A and A'; the next commit points it at this one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
RELEASE_REF = cadbed4 (RELEASE_TAG v0.5.2), with its PreprocessingNotebook() call recorded in RELEASE_CALLS and the test that asserts the ref: the same two-commit pattern as v0.5.0 (3b616a0, c74d717), v0.5.1 (d023ff9, a4154ad), the first v0.5.2 pair (1244527, c4173dc) and A', B' (6a151b8, 90f86cc), which #292 replaced. A commit cannot hold its own SHA, so the notebook installs the preparation commit, whose package code is the release's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Owner feedback from the v0.5.2 Colab test (12 November 2026, release PR #290). Based on
mainatac2dc27. #290 is not touched; it needs a rebuild after this PR merges.1. The click shows at once ("it feels like nothing is happening")
notebook_progress.Wait) appears in the same card before any work starts. It then moves through the 5 parts of the confirmation, with a bar and "n of 5" plus a label: checking the roles against every image, redrawing the example, reading the pixel sizes, preparing the run, and preparing Channels/Masks/Check and save. Both are cleared when the work is done. A disabled button still does nothing.2. Why it was slow, and the fix
I profiled on owner-like data: 28 images of 3 × 2048² uint16, pixel sizes differing in the 5th decimal, built in a temp folder.
For 4 folders × 7 images: 21 → 9 reads, 299 → 233 widgets. On Colab with the data on Drive, the reads and the widget traffic cost much more than on a local disk. That is consistent with the owner's report, but I did not measure it on Colab.
3. The image type: proposed at the scan, confirmed on Channels
R_HETEROGENEOUS_LAYOUT_NOT_ENABLED). Nothing is recorded at the scan.Fov.image_typeand the published description keep their meaning. The single-column layout and the "every disabled action says why" rule are kept.4. Published output is unchanged
I gave the same answers through the stepper on
mainand on this branch, on the same input folders: save, run, and (for the fluorescence experiment) describe the masks.morphobricks.tomlplane_histograms.csvexperiment_design.csvcalibration.csvmask_relationships.json,mask_representation.jsonrun_manifest.jsonwithout times and pathsdiscovery_report.*differ only in the manifest SHA-256 and the output folder path.5. Embedding API
tests/test_embedding_api.pypasses unchanged.confirm_button,check_button,folder_stepandaxis_stepare the same objects and signatures, and handlers that embedders add toconfirm_buttonstill run after the confirmation.Tests
New
tests/test_notebook_axes_working.py(9 tests). All 9 fail onmainand pass here:review_axes), for both buttons;I updated these existing tests to the new placement:
test_notebook_stepper,test_notebook_seven_steps,test_notebook_tag_blocks,test_notebook_stains_na, andtest_notebook_colour(it now opens Set per folder… before looking at the pictures).Docs
CHANGELOG.md(Unreleased),docs/colab-release-check.md(image type on Channels; Working… and the bar on Axes), the notebook's step list, anddocs/contract.md§13.Gate
python tools/check.py: Ruff clean, code rules clean, 5485 passed, 4 skipped. The skips are environment-only:Screenshots, before and after, are in the session scratchpad (
v052fix-shots/).Generated by Claude Code