Goal
Rotate the morphology / cell-segment / edge view to a different orientation than the source image.
Why
Xenium pucks come out of the instrument in a fixed orientation that's often not the most useful one for analysis or presentation:
- Comparing similar regions across pucks is easier when their dominant tissue axis is aligned
- Publication-ready figures often want a specific orientation (e.g., pleura at the top)
- Some pucks are mounted sideways or upside-down relative to anatomical convention
Today the viewer is locked to the source orientation. Currently TMA-style slides render top-to-bottom and the user can't reorient.
Proposed UI
MVP — 90° increments (4 positions):
- A small rotation control (button group or 4 chevron icons) in the toolbar near
Pan / Region / Measure / Save PNG / Split - Rotates: 0° → 90° → 180° → 270° → back to 0°
- All layers rotate together (morphology, transcripts, cell segments, tissue graph, edges)
- The bird's-eye view inset also rotates to match
- Click-to-inspect coordinates remain correct (rotated coords → original cell IDs)
Stretch — arbitrary angle:
- A small angle input or rotation slider (0–360°)
- Snap-to-90° toggle for easy alignment
- Persists across dataset switches within a session (or not — open to discussion)
Out of scope
- Flipping (mirror across an axis) — separate issue if useful
- Per-puck rotation memory across sessions — separate issue
- Rotation of saved-region exports — would inherit rotation but the region geometry should be preserved in original coords
Implementation note
Likely a CSS / canvas transform on the OpenSeadragon viewport (or whichever rendering layer is in use). Coordinate transforms need to be applied to edge endpoints + cell-segment polygons so picking still works.
Use case driving this
Currently doing a manuscript-level visual audit of LR mechanisms per neighborhood (N4 fibrotic-mimetic). Comparing the same mechanism across multiple PNX timepoints / pucks is much easier when all pucks present with the same anatomical orientation.
Goal
Rotate the morphology / cell-segment / edge view to a different orientation than the source image.
Why
Xenium pucks come out of the instrument in a fixed orientation that's often not the most useful one for analysis or presentation:
Today the viewer is locked to the source orientation. Currently TMA-style slides render top-to-bottom and the user can't reorient.
Proposed UI
MVP — 90° increments (4 positions):
Pan / Region / Measure / Save PNG / SplitStretch — arbitrary angle:
Out of scope
Implementation note
Likely a CSS / canvas transform on the OpenSeadragon viewport (or whichever rendering layer is in use). Coordinate transforms need to be applied to edge endpoints + cell-segment polygons so picking still works.
Use case driving this
Currently doing a manuscript-level visual audit of LR mechanisms per neighborhood (N4 fibrotic-mimetic). Comparing the same mechanism across multiple PNX timepoints / pucks is much easier when all pucks present with the same anatomical orientation.