2 Commits
Author SHA1 Message Date
leonarski_fandClaude Opus 5 cc7214edb0 grid scan: a test spans the seam between the angle a raster measures and the frame drawn from it
The producer measures angle_deg from second moments in micrometres; the viewer draws
it counter-clockwise in the grid index frame. If those conventions disagree every
needle is drawn mirrored, and neither side's own tests notice - the producer checks
an angle it computed itself, the viewer checks a frame from an angle it was handed,
and the corpus needle sits at 45 degrees, which is invariant under exactly that flip.

Verified to fail: replacing the angle with 180 - angle breaks it, which is the whole
point of writing it at an asymmetric angle on an anisotropic step.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EFEJG6WBQv8th4UJFNe53N
2026-09-08 08:23:43 +02:00
leonarski_fandClaude Opus 5 0c6167b7c5 viewer: a grid scan shows protein and ice over the shape of the loop, with a frame around each crystal
Two scalar maps side by side never answered the question a raster is taken to
answer. The grid-scan view gains a composite: the normalised background gives
the loop its shape in grey, ice paints it cyan, protein orange, and where both
are present the two mix in proportion. Protein and ice go in as they come -
they are saturating scores already in [0,1], and stretching one would turn "no
protein anywhere" into "protein everywhere". Only the background is normalised,
with its range floored, so a scan of pure air stays flat instead of having its
noise stretched into a convincing loop.

Each crystal found in the raster gets a frame, drawn oriented: centred on the
crystal, sized along its own principal axes and rotated by its angle. An
axis-aligned box would hide the case the axes exist to expose - a 100 x 10 um
needle at 45 degrees reads as a compact blob. The extent is in micrometres and
goes through both step sizes separately, which a real 20 x 16 um raster needs.
A blob within 1.2 of round is drawn as a circle, since its angle means nothing.

The single-scalar path is untouched; the composite is one more entry in the
metric combo, offered first for a grid scan.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EFEJG6WBQv8th4UJFNe53N
2026-09-07 23:59:56 +02:00