Skip to content

Notebook: axes proposed at the quick scan and validated on all images; pixel sizes that differ in one line (redesign 3, part 2) - #285

Merged
guijacquemet merged 8 commits into
mainfrom
claude/redesign3-2-axes
Nov 12, 2026
Merged

guijacquemet merged 8 commits into
mainfrom
claude/redesign3-2-axes

Conversation

@guijacquemet

Copy link
Copy Markdown
Contributor

Redesign iteration 3, part 2 of 4, stacked on #284. Items (s) and (x) of "OWNER v0.5.1 NOTEBOOK TEST" (RESTART.md).

Summary

  • New axes flow (s), notebook_scan_axes:
    1. the quick scan shows one image in the viewer and, under it, Axes of this image: one list per dimension, the role proposed from that image's header (prefill_mapping; a dimension the header does not name has no role, nothing is guessed);
    2. a role changed there redraws the pictures at once (a plain stack gets its picture once the user says what its dimensions are; roles that cannot be used together are a sentence);
    3. the roles left there are the proposal: after Looks right: read all image headers the Axes step starts from them, review_axes (unchanged) checks them against every image, and one line on Images says whether they fit all N images;
    4. the Axes step confirms for the whole experiment exactly as before (one click when every header agrees, else the tick and Confirm axis roles), and says that the axes can be changed.
      Nothing is confirmed at the scan; roles that contradict a header are still refused (axes_contradict_header); a new scan forgets the roles of the one before.
  • Pixel sizes that differ (x), pixel_size_summary.spread_line / combination_rows: with three or more different sizes in one unit, one line (Pixel sizes differ slightly: 0.10047–0.10054 µm (spread 0.07 %) across 28 images, 26 combinations), the sizes in a folded table (size, images, folders, source), and the two explicit choices: one size for all images (shown before it replaces anything, recorded as stated) or sizes per imaging unit. The per-unit tables no longer open by themselves. Until a choice is made each image keeps its own header's size, as before, and the page says so.
  • Run messages are the short cards of the axes step; a first sentence that lists every image is cut at 200 characters with the whole message one click away.

Notes for review

  • The spread is (largest − smallest) / mean of the two, over X and Y; "slightly" below 1 %. The owner's example said 0.06 %; the same numbers give 0.07 % with this definition.
  • Two sizes keep the earlier line that names both.
  • No answer, draft, save or run code changes: the roles confirmed and the sizes recorded are the same for the same clicks.

Tests

tests/test_notebook_scan_axes.py (new) and the updated notebook tests; the full gate count is in the last PR of the stack.


Generated by Claude Code

…very image; differing pixel sizes in one line

Owner's test of v0.5.1, items (s) and (x). The quick scan shows 'Axes of this image' (one
list per dimension, from the header); a changed role redraws the pictures and becomes the
proposal the Axes step starts from after the folder check validated it against every image.
Three or more different pixel sizes are one line with their range and spread, a folded
table and the two explicit choices. Run messages are short cards. Nothing is confirmed or
chosen without a click; no published file changes.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Base automatically changed from claude/redesign3-1-viewer to main November 12, 2026 02:52

Copy link
Copy Markdown
Contributor Author

Independent review: #285 (axes proposed at the quick scan, one-line pixel-size disagreement)

Verdict: approve. Merged the viewer branch (with main #289) forward as 093843e, with no conflicts. Retargeted to main after #284 merged (1cd94a3).

  • No auto-confirm. The role row at the scan only records a proposal, per header arrangement. The folder check reviews it against every image, and only Confirm these axes / Confirm axis roles records it. I checked whether a proposal survives a change of folder. Changing the folder disables Read every header until the folders are scanned again, and the new scan clears the proposal (_reset_scan_axes). A proposal made on folder A is therefore never offered for folder B through the UI. (A programmatic .click() on the disabled check button does bypass this, but ipywidgets does not block that and no user can do it.)
  • Pixel sizes differing: one line. spread_line / combination_rows only change UI text. Recorded values are shown with :g, never rounded away, and nothing is chosen for the user. The published files are unchanged (byte identity measured on the final head, see OME-Zarr copies: asked on the first screen, written as a recorded conversion once the axes are confirmed (redesign 3, part 4) #287).

Gate on 093843e (Ruff check, Ruff format, code rules, pytest -n 2): 5438 passed, 4 skipped. The skips are the same four as #284: root-user file modes (one), case-sensitive file system (three).


Generated by Claude Code

@guijacquemet
guijacquemet merged commit 6940bb6 into main Nov 12, 2026
14 checks passed
@guijacquemet
guijacquemet deleted the claude/redesign3-2-axes branch November 12, 2026 03:43
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.

2 participants