vitessce fixes for single cell - #3
Open
dv-klaus-eckelt wants to merge 5 commits into
Open
Conversation
Build the 2D affine Matrix4 directly in column-major order, mapping the OME-NGFF input/output axes to world x/y. The previous implementation filled a row-major matrix, applied the axis swap on the wrong side, and then transposed the accumulated matrix, which turned valid affines into projective transforms whenever rotation or shear was present. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Handle the `mapAxis` transform type in coordinateTransformationsToMatrix by applying an axis-swap matrix when the spatial input and output axis orderings differ. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
When any top-level coordinate transformation is a `sequence`, normalize by flattening the sequences' inner transformations instead of processing the mixed list, so SpatialData-style nested transformations resolve correctly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…oader When a `coordinateSystem` option is provided and the file defines coordinate transformations, resolve the transform matrix via coordinateTransformationsToMatrixForSpatialData so SpatialData named coordinate systems are honored. Fall back to the previous normalize + coordinateTransformationsToMatrix path otherwise. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
dv-klaus-eckelt
marked this pull request as ready for review
July 2, 2026 11:45
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.
Backports coordinate-transform changes shipped directly in aevidence's packaged libs (@vitessce/spatial-utils, @vitessce/spatial-zarr .tgz)
packages/utils/spatial-utils/src/spatial.js
Build the 2D affine Matrix4 directly in column-major order, mapping OME-NGFF input/output axes to world x/y. Old code filled a row-major matrix, applied the axis swap on the wrong side, then transposed the accumulated matrix — turned valid affines into projective transforms whenever rotation or shear was present. Throws if the x/y axis mapping is missing.
Handle mapAxis in coordinateTransformationsToMatrix — apply axis-swap matrix when spatial input/output axis orderings differ.
In normalizeCoordinateTransformations, when any top-level transform is a sequence, flatten the sequences' inner transformations instead of processing the mixed list. Resolves SpatialData-style nested transformations correctly.
packages/file-types/spatial-zarr/src/ome-loaders/OmeZarrLoader.js
When a coordinateSystem option is set and the file defines coordinate transformations, resolve the matrix via coordinateTransformationsToMatrixForSpatialData (honors SpatialData named coordinate systems). Falls back to the previous normalize + coordinateTransformationsToMatrix path otherwise.
Checklist