@fideus-labs/fidnii 0.7.2 → 0.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/OMEZarrNVImage.d.ts +24 -2
- package/dist/OMEZarrNVImage.d.ts.map +1 -1
- package/dist/OMEZarrNVImage.js +116 -16
- package/dist/OMEZarrNVImage.js.map +1 -1
- package/package.json +10 -9
- package/src/OMEZarrNVImage.ts +148 -18
- package/LICENSE.txt +0 -9
package/dist/OMEZarrNVImage.d.ts
CHANGED
|
@@ -227,6 +227,17 @@ export declare class OMEZarrNVImage extends NVImage {
|
|
|
227
227
|
* @param signal - Optional AbortSignal to cancel the fetch
|
|
228
228
|
*/
|
|
229
229
|
private loadResolutionLevel;
|
|
230
|
+
/**
|
|
231
|
+
* Build an oriented affine for any resolution level, falling back
|
|
232
|
+
* to the base level's `axesOrientations` when the current level
|
|
233
|
+
* lacks orientation metadata.
|
|
234
|
+
*
|
|
235
|
+
* The `@fideus-labs/ngff-zarr` downsampling code currently omits
|
|
236
|
+
* `axesOrientations` on generated levels, so only level 0 carries
|
|
237
|
+
* orientation. Since orientation is a property of the physical
|
|
238
|
+
* space (not the resolution), it is correct to propagate it.
|
|
239
|
+
*/
|
|
240
|
+
private _createOrientedAffine;
|
|
230
241
|
/**
|
|
231
242
|
* Update NVImage header for a loaded region.
|
|
232
243
|
*
|
|
@@ -257,9 +268,20 @@ export declare class OMEZarrNVImage extends NVImage {
|
|
|
257
268
|
/**
|
|
258
269
|
* Update NiiVue clip planes from current _clipPlanes.
|
|
259
270
|
*
|
|
271
|
+
* NiiVue's orient shader physically reorders the 3D texture data so
|
|
272
|
+
* that its axes align with RAS (texture axis 0 = L→R, 1 = P→A,
|
|
273
|
+
* 2 = I→S). The clip plane shader then evaluates in this
|
|
274
|
+
* RAS-reoriented texture space.
|
|
275
|
+
*
|
|
276
|
+
* Clip planes are stored in OME-Zarr world space, where the axis
|
|
277
|
+
* order may differ from RAS (e.g. the y axis may encode S/I instead
|
|
278
|
+
* of A/P). We must permute clip plane normals, points, and buffer
|
|
279
|
+
* bounds from OME-Zarr axis order to the RAS physical row order that
|
|
280
|
+
* NiiVue's texture uses.
|
|
281
|
+
*
|
|
260
282
|
* Clip planes are converted relative to the CURRENT BUFFER bounds,
|
|
261
|
-
* not the full volume bounds
|
|
262
|
-
*
|
|
283
|
+
* not the full volume bounds, because NiiVue's shader works in
|
|
284
|
+
* texture coordinates of the currently loaded data.
|
|
263
285
|
*/
|
|
264
286
|
private updateNiivueClipPlanes;
|
|
265
287
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OMEZarrNVImage.d.ts","sourceRoot":"","sources":["../src/OMEZarrNVImage.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAa,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAM3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAc,MAAM,gBAAgB,CAAA;AAcpD,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,kCAAkC,EACvC,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACrB,MAAM,aAAa,CAAA;AAWpB,OAAO,KAAK,EAMV,SAAS,EACT,UAAU,EACV,qBAAqB,EAErB,eAAe,EACf,aAAa,EACb,YAAY,EAGZ,YAAY,EAEb,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"OMEZarrNVImage.d.ts","sourceRoot":"","sources":["../src/OMEZarrNVImage.ts"],"names":[],"mappings":"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"}
|
package/dist/OMEZarrNVImage.js
CHANGED
|
@@ -12,9 +12,9 @@ import { computeChannelMinMax, normalizeToUint8 } from "./normalize.js";
|
|
|
12
12
|
import { RegionCoalescer } from "./RegionCoalescer.js";
|
|
13
13
|
import { getChunkShape, getVolumeShape, select2DResolution, selectResolution, } from "./ResolutionSelector.js";
|
|
14
14
|
import { getBytesPerPixel, getChannelInfo, getNiftiDataType, getRGBNiftiDataType, isRGBImage, NiftiDataType, needsRGBNormalization, parseZarritaDtype, } from "./types.js";
|
|
15
|
-
import { affineToNiftiSrows, calculateWorldBounds,
|
|
16
|
-
import { worldToPixelAffine } from "./utils/coordinates.js";
|
|
17
|
-
import { getOrientationMapping } from "./utils/orientation.js";
|
|
15
|
+
import { affineToNiftiSrows, calculateWorldBounds, createAffineFromOMEZarr, } from "./utils/affine.js";
|
|
16
|
+
import { pixelToWorldAffine, worldToPixelAffine } from "./utils/coordinates.js";
|
|
17
|
+
import { applyOrientationToAffine, getOrientationMapping, } from "./utils/orientation.js";
|
|
18
18
|
import { boundsApproxEqual, computeViewportBounds2D, computeViewportBounds3D, } from "./ViewportBounds.js";
|
|
19
19
|
const DEFAULT_MAX_PIXELS = 50_000_000;
|
|
20
20
|
const DEFAULT_MAX_CACHE_ENTRIES = 200;
|
|
@@ -613,6 +613,21 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
613
613
|
trigger: this._currentPopulateTrigger,
|
|
614
614
|
});
|
|
615
615
|
}
|
|
616
|
+
/**
|
|
617
|
+
* Build an oriented affine for any resolution level, falling back
|
|
618
|
+
* to the base level's `axesOrientations` when the current level
|
|
619
|
+
* lacks orientation metadata.
|
|
620
|
+
*
|
|
621
|
+
* The `@fideus-labs/ngff-zarr` downsampling code currently omits
|
|
622
|
+
* `axesOrientations` on generated levels, so only level 0 carries
|
|
623
|
+
* orientation. Since orientation is a property of the physical
|
|
624
|
+
* space (not the resolution), it is correct to propagate it.
|
|
625
|
+
*/
|
|
626
|
+
_createOrientedAffine(ngffImage) {
|
|
627
|
+
const affine = createAffineFromOMEZarr(ngffImage.scale, ngffImage.translation);
|
|
628
|
+
const orientations = ngffImage.axesOrientations ?? this.multiscales.images[0]?.axesOrientations;
|
|
629
|
+
return applyOrientationToAffine(affine, orientations);
|
|
630
|
+
}
|
|
616
631
|
/**
|
|
617
632
|
* Update NVImage header for a loaded region.
|
|
618
633
|
*
|
|
@@ -665,7 +680,7 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
665
680
|
// and sign flips), then apply the region offset in world space.
|
|
666
681
|
// The offset goes through the oriented 3x3 rotation matrix so it
|
|
667
682
|
// lands on the correct world axis even when NGFF axes are permuted.
|
|
668
|
-
const affine =
|
|
683
|
+
const affine = this._createOrientedAffine(ngffImage);
|
|
669
684
|
// regionStart is [z, y, x]; affine columns map NIfTI [i=x, j=y, k=z]
|
|
670
685
|
const offsetX = regionStart[2]; // NIfTI i = NGFF x
|
|
671
686
|
const offsetY = regionStart[1]; // NIfTI j = NGFF y
|
|
@@ -687,7 +702,9 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
687
702
|
// in the pixel buffer instead (see _flipRowsInPlace).
|
|
688
703
|
if (this._flipY2D && this._is2D && !this._flipY2DInData) {
|
|
689
704
|
// Get the y axis orientation mapping to find where the y scale is stored
|
|
690
|
-
const
|
|
705
|
+
const orientations = ngffImage.axesOrientations ??
|
|
706
|
+
this.multiscales.images[0]?.axesOrientations;
|
|
707
|
+
const mapping = getOrientationMapping(orientations);
|
|
691
708
|
// The y scale is at affine[4 + physicalRow] (column 1, appropriate row)
|
|
692
709
|
const yScaleIndex = 4 + mapping.y.physicalRow;
|
|
693
710
|
affine[13] += affine[yScaleIndex] * (fetchedShape[1] - 1);
|
|
@@ -729,14 +746,54 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
729
746
|
/**
|
|
730
747
|
* Update NiiVue clip planes from current _clipPlanes.
|
|
731
748
|
*
|
|
749
|
+
* NiiVue's orient shader physically reorders the 3D texture data so
|
|
750
|
+
* that its axes align with RAS (texture axis 0 = L→R, 1 = P→A,
|
|
751
|
+
* 2 = I→S). The clip plane shader then evaluates in this
|
|
752
|
+
* RAS-reoriented texture space.
|
|
753
|
+
*
|
|
754
|
+
* Clip planes are stored in OME-Zarr world space, where the axis
|
|
755
|
+
* order may differ from RAS (e.g. the y axis may encode S/I instead
|
|
756
|
+
* of A/P). We must permute clip plane normals, points, and buffer
|
|
757
|
+
* bounds from OME-Zarr axis order to the RAS physical row order that
|
|
758
|
+
* NiiVue's texture uses.
|
|
759
|
+
*
|
|
732
760
|
* Clip planes are converted relative to the CURRENT BUFFER bounds,
|
|
733
|
-
* not the full volume bounds
|
|
734
|
-
*
|
|
761
|
+
* not the full volume bounds, because NiiVue's shader works in
|
|
762
|
+
* texture coordinates of the currently loaded data.
|
|
735
763
|
*/
|
|
736
764
|
updateNiivueClipPlanes() {
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
765
|
+
const orientations = this.multiscales.images[0]?.axesOrientations;
|
|
766
|
+
const mapping = getOrientationMapping(orientations);
|
|
767
|
+
// Permute a 3-vector from OME-Zarr axis order to RAS physical
|
|
768
|
+
// row order, applying sign flips for axis direction.
|
|
769
|
+
const permuteVec = (v) => {
|
|
770
|
+
const out = [0, 0, 0];
|
|
771
|
+
out[mapping.x.physicalRow] = mapping.x.sign * v[0];
|
|
772
|
+
out[mapping.y.physicalRow] = mapping.y.sign * v[1];
|
|
773
|
+
out[mapping.z.physicalRow] = mapping.z.sign * v[2];
|
|
774
|
+
return out;
|
|
775
|
+
};
|
|
776
|
+
// Transform clip planes from OME-Zarr space to RAS-oriented space
|
|
777
|
+
const orientedPlanes = this._clipPlanes.map((p) => ({
|
|
778
|
+
point: permuteVec(p.point),
|
|
779
|
+
normal: permuteVec(p.normal),
|
|
780
|
+
}));
|
|
781
|
+
// Transform buffer bounds to RAS-oriented space
|
|
782
|
+
const bMin = permuteVec(this._currentBufferBounds.min);
|
|
783
|
+
const bMax = permuteVec(this._currentBufferBounds.max);
|
|
784
|
+
const orientedBounds = {
|
|
785
|
+
min: [
|
|
786
|
+
Math.min(bMin[0], bMax[0]),
|
|
787
|
+
Math.min(bMin[1], bMax[1]),
|
|
788
|
+
Math.min(bMin[2], bMax[2]),
|
|
789
|
+
],
|
|
790
|
+
max: [
|
|
791
|
+
Math.max(bMin[0], bMax[0]),
|
|
792
|
+
Math.max(bMin[1], bMax[1]),
|
|
793
|
+
Math.max(bMin[2], bMax[2]),
|
|
794
|
+
],
|
|
795
|
+
};
|
|
796
|
+
const niivueClipPlanes = clipPlanesToNiivue(orientedPlanes, orientedBounds);
|
|
740
797
|
if (niivueClipPlanes.length > 0) {
|
|
741
798
|
this.niivue.scene.clipPlaneDepthAziElevs = niivueClipPlanes;
|
|
742
799
|
}
|
|
@@ -969,6 +1026,10 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
969
1026
|
this._invalidateTimeFrameCache();
|
|
970
1027
|
this.populateVolume(true, "clipPlanesChanged"); // Skip preview for clip plane updates
|
|
971
1028
|
}
|
|
1029
|
+
// Reload active slabs so 2D views respect the updated clip planes.
|
|
1030
|
+
// Slab loading already uses _clipPlanes to compute the fetch region,
|
|
1031
|
+
// so reloading constrains the visible 2D data to the ROI.
|
|
1032
|
+
this._reloadAllSlabs("clipPlanesChanged");
|
|
972
1033
|
// Emit clipPlanesChange event (after debounce)
|
|
973
1034
|
this._emitEvent("clipPlanesChange", {
|
|
974
1035
|
clipPlanes: this.copyClipPlanes(this._clipPlanes),
|
|
@@ -1920,11 +1981,38 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
1920
1981
|
// Must use the full oriented affine (not the naive scale+translation)
|
|
1921
1982
|
// because worldCoord is in oriented (NIfTI RAS) space.
|
|
1922
1983
|
const ngffImage = this.multiscales.images[slabState.levelIndex];
|
|
1923
|
-
const orientedAffine =
|
|
1984
|
+
const orientedAffine = this._createOrientedAffine(ngffImage);
|
|
1924
1985
|
const pixelCoord = worldToPixelAffine(worldCoord, orientedAffine);
|
|
1925
1986
|
// Check the orthogonal axis
|
|
1926
1987
|
const orthAxis = this._getOrthogonalAxis(sliceType);
|
|
1927
1988
|
const pixelPos = pixelCoord[orthAxis];
|
|
1989
|
+
// Clamp crosshair to clip plane bounds on the orthogonal axis so the
|
|
1990
|
+
// user cannot scroll past the ROI boundary in 2D slice views.
|
|
1991
|
+
if (this._clipPlanes.length > 0) {
|
|
1992
|
+
const pixelRegion = clipPlanesToPixelRegion(this._clipPlanes, this._volumeBounds, ngffImage);
|
|
1993
|
+
const orthMin = pixelRegion.start[orthAxis];
|
|
1994
|
+
const orthMax = pixelRegion.end[orthAxis];
|
|
1995
|
+
if (pixelPos < orthMin || pixelPos >= orthMax) {
|
|
1996
|
+
// Clamp to the nearest edge of the clip plane region
|
|
1997
|
+
const clampedPixel = [...pixelCoord];
|
|
1998
|
+
clampedPixel[orthAxis] = Math.max(orthMin, Math.min(orthMax - 1, pixelPos));
|
|
1999
|
+
// Convert clamped pixel back to world → normalized mm → frac
|
|
2000
|
+
const clampedWorld = pixelToWorldAffine(clampedPixel, orientedAffine);
|
|
2001
|
+
const ns = slabState.normalizationScale;
|
|
2002
|
+
const normalizedMM = [
|
|
2003
|
+
clampedWorld[0] * ns,
|
|
2004
|
+
clampedWorld[1] * ns,
|
|
2005
|
+
clampedWorld[2] * ns,
|
|
2006
|
+
];
|
|
2007
|
+
const frac = nv.mm2frac(normalizedMM);
|
|
2008
|
+
frac[0] = Math.max(0, Math.min(1, frac[0]));
|
|
2009
|
+
frac[1] = Math.max(0, Math.min(1, frac[1]));
|
|
2010
|
+
frac[2] = Math.max(0, Math.min(1, frac[2]));
|
|
2011
|
+
nv.scene.crosshairPos = frac;
|
|
2012
|
+
nv.drawScene();
|
|
2013
|
+
return; // Repositioning fires a new locationChange event
|
|
2014
|
+
}
|
|
2015
|
+
}
|
|
1928
2016
|
// Is the pixel position outside the currently loaded slab?
|
|
1929
2017
|
if (pixelPos < slabState.slabStart || pixelPos >= slabState.slabEnd) {
|
|
1930
2018
|
// Need to reload the slab for the new position
|
|
@@ -2192,13 +2280,13 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
2192
2280
|
// Convert world position to pixel position at this level.
|
|
2193
2281
|
// Must use the full oriented affine because worldCoord is in oriented
|
|
2194
2282
|
// (NIfTI RAS) space, not raw NGFF scale+translation space.
|
|
2195
|
-
const orientedAffine =
|
|
2283
|
+
const orientedAffine = this._createOrientedAffine(ngffImage);
|
|
2196
2284
|
const pixelCoord = worldToPixelAffine(worldCoord, orientedAffine);
|
|
2197
2285
|
const orthPixel = pixelCoord[orthAxis];
|
|
2198
2286
|
// Find the chunk-aligned slab in the orthogonal axis
|
|
2199
2287
|
const chunkSize = chunkShape[orthAxis];
|
|
2200
|
-
|
|
2201
|
-
|
|
2288
|
+
let slabStart = Math.max(0, Math.floor(orthPixel / chunkSize) * chunkSize);
|
|
2289
|
+
let slabEnd = Math.min(slabStart + chunkSize, volumeShape[orthAxis]);
|
|
2202
2290
|
// Get the full in-plane region (respecting clip planes only).
|
|
2203
2291
|
// Viewport bounds are intentionally NOT passed here — they are used only
|
|
2204
2292
|
// for resolution selection (in _loadSlab → select2DResolution) so that a
|
|
@@ -2206,7 +2294,19 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
2206
2294
|
// covers the full in-plane extent so the slab fills the entire viewport.
|
|
2207
2295
|
const pixelRegion = clipPlanesToPixelRegion(this._clipPlanes, this._volumeBounds, ngffImage);
|
|
2208
2296
|
const alignedRegion = alignToChunks(pixelRegion, ngffImage);
|
|
2209
|
-
//
|
|
2297
|
+
// Clamp the orthogonal slab extent to clip plane bounds so 2D views
|
|
2298
|
+
// never fetch data outside the ROI on the perpendicular axis.
|
|
2299
|
+
if (this._clipPlanes.length > 0) {
|
|
2300
|
+
slabStart = Math.max(slabStart, alignedRegion.chunkAlignedStart[orthAxis]);
|
|
2301
|
+
slabEnd = Math.min(slabEnd, alignedRegion.chunkAlignedEnd[orthAxis]);
|
|
2302
|
+
if (slabEnd <= slabStart) {
|
|
2303
|
+
// Crosshair is entirely outside the clip plane region on this
|
|
2304
|
+
// axis — snap to the first chunk of the clipped region.
|
|
2305
|
+
slabStart = alignedRegion.chunkAlignedStart[orthAxis];
|
|
2306
|
+
slabEnd = Math.min(slabStart + chunkSize, alignedRegion.chunkAlignedEnd[orthAxis]);
|
|
2307
|
+
}
|
|
2308
|
+
}
|
|
2309
|
+
// Override the orthogonal axis with our (clamped) slab extent
|
|
2210
2310
|
const fetchStart = [
|
|
2211
2311
|
alignedRegion.chunkAlignedStart[0],
|
|
2212
2312
|
alignedRegion.chunkAlignedStart[1],
|
|
@@ -2344,7 +2444,7 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
2344
2444
|
// matrix is needed to transform that voxel offset into world coordinates.
|
|
2345
2445
|
// Previously, the offset was applied before orientation which broke when
|
|
2346
2446
|
// NGFF axes were permuted (e.g. NGFF z → physical A/P axis).
|
|
2347
|
-
const affine =
|
|
2447
|
+
const affine = this._createOrientedAffine(ngffImage);
|
|
2348
2448
|
// Transform the NGFF voxel offset through the oriented 3x3 rotation.
|
|
2349
2449
|
// fetchStart is [z, y, x]; affine columns map NIfTI [i=x, j=y, k=z]
|
|
2350
2450
|
// to world, so we need offset in NIfTI [x, y, z] order.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OMEZarrNVImage.js","sourceRoot":"","sources":["../src/OMEZarrNVImage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OMEZarrNVImage.js","sourceRoot":"","sources":["../src/OMEZarrNVImage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fideus-labs/fidnii",
|
|
3
|
-
"
|
|
3
|
+
"packageManager": "bun@1.x",
|
|
4
|
+
"version": "0.7.4",
|
|
4
5
|
"description": "Render OME-Zarr images in NiiVue with progressive multi-resolution loading",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"main": "./dist/index.js",
|
|
@@ -15,6 +16,13 @@
|
|
|
15
16
|
"dist",
|
|
16
17
|
"src"
|
|
17
18
|
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsc",
|
|
21
|
+
"dev": "vite",
|
|
22
|
+
"preview": "vite preview",
|
|
23
|
+
"test": "playwright test",
|
|
24
|
+
"test:ui": "playwright test --ui"
|
|
25
|
+
},
|
|
18
26
|
"dependencies": {
|
|
19
27
|
"@fideus-labs/fiff": "^0.5.2",
|
|
20
28
|
"@fideus-labs/ngff-zarr": "^0.12.3",
|
|
@@ -50,12 +58,5 @@
|
|
|
50
58
|
"repository": {
|
|
51
59
|
"type": "git",
|
|
52
60
|
"url": "https://github.com/fideus-labs/fidnii.git"
|
|
53
|
-
},
|
|
54
|
-
"scripts": {
|
|
55
|
-
"build": "tsc",
|
|
56
|
-
"dev": "vite",
|
|
57
|
-
"preview": "vite preview",
|
|
58
|
-
"test": "playwright test",
|
|
59
|
-
"test:ui": "playwright test --ui"
|
|
60
61
|
}
|
|
61
|
-
}
|
|
62
|
+
}
|
package/src/OMEZarrNVImage.ts
CHANGED
|
@@ -70,11 +70,13 @@ import {
|
|
|
70
70
|
import {
|
|
71
71
|
affineToNiftiSrows,
|
|
72
72
|
calculateWorldBounds,
|
|
73
|
-
createAffineFromNgffImage,
|
|
74
73
|
createAffineFromOMEZarr,
|
|
75
74
|
} from "./utils/affine.js"
|
|
76
|
-
import { worldToPixelAffine } from "./utils/coordinates.js"
|
|
77
|
-
import {
|
|
75
|
+
import { pixelToWorldAffine, worldToPixelAffine } from "./utils/coordinates.js"
|
|
76
|
+
import {
|
|
77
|
+
applyOrientationToAffine,
|
|
78
|
+
getOrientationMapping,
|
|
79
|
+
} from "./utils/orientation.js"
|
|
78
80
|
import {
|
|
79
81
|
boundsApproxEqual,
|
|
80
82
|
computeViewportBounds2D,
|
|
@@ -869,6 +871,26 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
869
871
|
})
|
|
870
872
|
}
|
|
871
873
|
|
|
874
|
+
/**
|
|
875
|
+
* Build an oriented affine for any resolution level, falling back
|
|
876
|
+
* to the base level's `axesOrientations` when the current level
|
|
877
|
+
* lacks orientation metadata.
|
|
878
|
+
*
|
|
879
|
+
* The `@fideus-labs/ngff-zarr` downsampling code currently omits
|
|
880
|
+
* `axesOrientations` on generated levels, so only level 0 carries
|
|
881
|
+
* orientation. Since orientation is a property of the physical
|
|
882
|
+
* space (not the resolution), it is correct to propagate it.
|
|
883
|
+
*/
|
|
884
|
+
private _createOrientedAffine(ngffImage: NgffImage) {
|
|
885
|
+
const affine = createAffineFromOMEZarr(
|
|
886
|
+
ngffImage.scale,
|
|
887
|
+
ngffImage.translation,
|
|
888
|
+
)
|
|
889
|
+
const orientations =
|
|
890
|
+
ngffImage.axesOrientations ?? this.multiscales.images[0]?.axesOrientations
|
|
891
|
+
return applyOrientationToAffine(affine, orientations)
|
|
892
|
+
}
|
|
893
|
+
|
|
872
894
|
/**
|
|
873
895
|
* Update NVImage header for a loaded region.
|
|
874
896
|
*
|
|
@@ -930,7 +952,7 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
930
952
|
// and sign flips), then apply the region offset in world space.
|
|
931
953
|
// The offset goes through the oriented 3x3 rotation matrix so it
|
|
932
954
|
// lands on the correct world axis even when NGFF axes are permuted.
|
|
933
|
-
const affine =
|
|
955
|
+
const affine = this._createOrientedAffine(ngffImage)
|
|
934
956
|
|
|
935
957
|
// regionStart is [z, y, x]; affine columns map NIfTI [i=x, j=y, k=z]
|
|
936
958
|
const offsetX = regionStart[2] // NIfTI i = NGFF x
|
|
@@ -954,7 +976,10 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
954
976
|
// in the pixel buffer instead (see _flipRowsInPlace).
|
|
955
977
|
if (this._flipY2D && this._is2D && !this._flipY2DInData) {
|
|
956
978
|
// Get the y axis orientation mapping to find where the y scale is stored
|
|
957
|
-
const
|
|
979
|
+
const orientations =
|
|
980
|
+
ngffImage.axesOrientations ??
|
|
981
|
+
this.multiscales.images[0]?.axesOrientations
|
|
982
|
+
const mapping = getOrientationMapping(orientations)
|
|
958
983
|
// The y scale is at affine[4 + physicalRow] (column 1, appropriate row)
|
|
959
984
|
const yScaleIndex = 4 + mapping.y.physicalRow
|
|
960
985
|
affine[13] += affine[yScaleIndex] * (fetchedShape[1] - 1)
|
|
@@ -1011,17 +1036,64 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
1011
1036
|
/**
|
|
1012
1037
|
* Update NiiVue clip planes from current _clipPlanes.
|
|
1013
1038
|
*
|
|
1039
|
+
* NiiVue's orient shader physically reorders the 3D texture data so
|
|
1040
|
+
* that its axes align with RAS (texture axis 0 = L→R, 1 = P→A,
|
|
1041
|
+
* 2 = I→S). The clip plane shader then evaluates in this
|
|
1042
|
+
* RAS-reoriented texture space.
|
|
1043
|
+
*
|
|
1044
|
+
* Clip planes are stored in OME-Zarr world space, where the axis
|
|
1045
|
+
* order may differ from RAS (e.g. the y axis may encode S/I instead
|
|
1046
|
+
* of A/P). We must permute clip plane normals, points, and buffer
|
|
1047
|
+
* bounds from OME-Zarr axis order to the RAS physical row order that
|
|
1048
|
+
* NiiVue's texture uses.
|
|
1049
|
+
*
|
|
1014
1050
|
* Clip planes are converted relative to the CURRENT BUFFER bounds,
|
|
1015
|
-
* not the full volume bounds
|
|
1016
|
-
*
|
|
1051
|
+
* not the full volume bounds, because NiiVue's shader works in
|
|
1052
|
+
* texture coordinates of the currently loaded data.
|
|
1017
1053
|
*/
|
|
1018
1054
|
private updateNiivueClipPlanes(): void {
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1055
|
+
const orientations = this.multiscales.images[0]?.axesOrientations
|
|
1056
|
+
const mapping = getOrientationMapping(orientations)
|
|
1057
|
+
|
|
1058
|
+
// Permute a 3-vector from OME-Zarr axis order to RAS physical
|
|
1059
|
+
// row order, applying sign flips for axis direction.
|
|
1060
|
+
const permuteVec = (
|
|
1061
|
+
v: [number, number, number],
|
|
1062
|
+
): [number, number, number] => {
|
|
1063
|
+
const out: [number, number, number] = [0, 0, 0]
|
|
1064
|
+
out[mapping.x.physicalRow] = mapping.x.sign * v[0]
|
|
1065
|
+
out[mapping.y.physicalRow] = mapping.y.sign * v[1]
|
|
1066
|
+
out[mapping.z.physicalRow] = mapping.z.sign * v[2]
|
|
1067
|
+
return out
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1070
|
+
// Transform clip planes from OME-Zarr space to RAS-oriented space
|
|
1071
|
+
const orientedPlanes: ClipPlanes = this._clipPlanes.map((p) => ({
|
|
1072
|
+
point: permuteVec(p.point),
|
|
1073
|
+
normal: permuteVec(p.normal),
|
|
1074
|
+
}))
|
|
1075
|
+
|
|
1076
|
+
// Transform buffer bounds to RAS-oriented space
|
|
1077
|
+
const bMin = permuteVec(
|
|
1078
|
+
this._currentBufferBounds.min as [number, number, number],
|
|
1024
1079
|
)
|
|
1080
|
+
const bMax = permuteVec(
|
|
1081
|
+
this._currentBufferBounds.max as [number, number, number],
|
|
1082
|
+
)
|
|
1083
|
+
const orientedBounds: VolumeBounds = {
|
|
1084
|
+
min: [
|
|
1085
|
+
Math.min(bMin[0], bMax[0]),
|
|
1086
|
+
Math.min(bMin[1], bMax[1]),
|
|
1087
|
+
Math.min(bMin[2], bMax[2]),
|
|
1088
|
+
],
|
|
1089
|
+
max: [
|
|
1090
|
+
Math.max(bMin[0], bMax[0]),
|
|
1091
|
+
Math.max(bMin[1], bMax[1]),
|
|
1092
|
+
Math.max(bMin[2], bMax[2]),
|
|
1093
|
+
],
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
const niivueClipPlanes = clipPlanesToNiivue(orientedPlanes, orientedBounds)
|
|
1025
1097
|
|
|
1026
1098
|
if (niivueClipPlanes.length > 0) {
|
|
1027
1099
|
this.niivue.scene.clipPlaneDepthAziElevs = niivueClipPlanes
|
|
@@ -1306,6 +1378,11 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
1306
1378
|
this.populateVolume(true, "clipPlanesChanged") // Skip preview for clip plane updates
|
|
1307
1379
|
}
|
|
1308
1380
|
|
|
1381
|
+
// Reload active slabs so 2D views respect the updated clip planes.
|
|
1382
|
+
// Slab loading already uses _clipPlanes to compute the fetch region,
|
|
1383
|
+
// so reloading constrains the visible 2D data to the ROI.
|
|
1384
|
+
this._reloadAllSlabs("clipPlanesChanged")
|
|
1385
|
+
|
|
1309
1386
|
// Emit clipPlanesChange event (after debounce)
|
|
1310
1387
|
this._emitEvent("clipPlanesChange", {
|
|
1311
1388
|
clipPlanes: this.copyClipPlanes(this._clipPlanes),
|
|
@@ -2432,13 +2509,50 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
2432
2509
|
// Must use the full oriented affine (not the naive scale+translation)
|
|
2433
2510
|
// because worldCoord is in oriented (NIfTI RAS) space.
|
|
2434
2511
|
const ngffImage = this.multiscales.images[slabState.levelIndex]
|
|
2435
|
-
const orientedAffine =
|
|
2512
|
+
const orientedAffine = this._createOrientedAffine(ngffImage)
|
|
2436
2513
|
const pixelCoord = worldToPixelAffine(worldCoord, orientedAffine)
|
|
2437
2514
|
|
|
2438
2515
|
// Check the orthogonal axis
|
|
2439
2516
|
const orthAxis = this._getOrthogonalAxis(sliceType)
|
|
2440
2517
|
const pixelPos = pixelCoord[orthAxis]
|
|
2441
2518
|
|
|
2519
|
+
// Clamp crosshair to clip plane bounds on the orthogonal axis so the
|
|
2520
|
+
// user cannot scroll past the ROI boundary in 2D slice views.
|
|
2521
|
+
if (this._clipPlanes.length > 0) {
|
|
2522
|
+
const pixelRegion = clipPlanesToPixelRegion(
|
|
2523
|
+
this._clipPlanes,
|
|
2524
|
+
this._volumeBounds,
|
|
2525
|
+
ngffImage,
|
|
2526
|
+
)
|
|
2527
|
+
const orthMin = pixelRegion.start[orthAxis]
|
|
2528
|
+
const orthMax = pixelRegion.end[orthAxis]
|
|
2529
|
+
|
|
2530
|
+
if (pixelPos < orthMin || pixelPos >= orthMax) {
|
|
2531
|
+
// Clamp to the nearest edge of the clip plane region
|
|
2532
|
+
const clampedPixel = [...pixelCoord] as [number, number, number]
|
|
2533
|
+
clampedPixel[orthAxis] = Math.max(
|
|
2534
|
+
orthMin,
|
|
2535
|
+
Math.min(orthMax - 1, pixelPos),
|
|
2536
|
+
)
|
|
2537
|
+
|
|
2538
|
+
// Convert clamped pixel back to world → normalized mm → frac
|
|
2539
|
+
const clampedWorld = pixelToWorldAffine(clampedPixel, orientedAffine)
|
|
2540
|
+
const ns = slabState.normalizationScale
|
|
2541
|
+
const normalizedMM: [number, number, number] = [
|
|
2542
|
+
clampedWorld[0] * ns,
|
|
2543
|
+
clampedWorld[1] * ns,
|
|
2544
|
+
clampedWorld[2] * ns,
|
|
2545
|
+
]
|
|
2546
|
+
const frac = nv.mm2frac(normalizedMM)
|
|
2547
|
+
frac[0] = Math.max(0, Math.min(1, frac[0]))
|
|
2548
|
+
frac[1] = Math.max(0, Math.min(1, frac[1]))
|
|
2549
|
+
frac[2] = Math.max(0, Math.min(1, frac[2]))
|
|
2550
|
+
nv.scene.crosshairPos = frac
|
|
2551
|
+
nv.drawScene()
|
|
2552
|
+
return // Repositioning fires a new locationChange event
|
|
2553
|
+
}
|
|
2554
|
+
}
|
|
2555
|
+
|
|
2442
2556
|
// Is the pixel position outside the currently loaded slab?
|
|
2443
2557
|
if (pixelPos < slabState.slabStart || pixelPos >= slabState.slabEnd) {
|
|
2444
2558
|
// Need to reload the slab for the new position
|
|
@@ -2778,14 +2892,14 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
2778
2892
|
// Convert world position to pixel position at this level.
|
|
2779
2893
|
// Must use the full oriented affine because worldCoord is in oriented
|
|
2780
2894
|
// (NIfTI RAS) space, not raw NGFF scale+translation space.
|
|
2781
|
-
const orientedAffine =
|
|
2895
|
+
const orientedAffine = this._createOrientedAffine(ngffImage)
|
|
2782
2896
|
const pixelCoord = worldToPixelAffine(worldCoord, orientedAffine)
|
|
2783
2897
|
const orthPixel = pixelCoord[orthAxis]
|
|
2784
2898
|
|
|
2785
2899
|
// Find the chunk-aligned slab in the orthogonal axis
|
|
2786
2900
|
const chunkSize = chunkShape[orthAxis]
|
|
2787
|
-
|
|
2788
|
-
|
|
2901
|
+
let slabStart = Math.max(0, Math.floor(orthPixel / chunkSize) * chunkSize)
|
|
2902
|
+
let slabEnd = Math.min(slabStart + chunkSize, volumeShape[orthAxis])
|
|
2789
2903
|
|
|
2790
2904
|
// Get the full in-plane region (respecting clip planes only).
|
|
2791
2905
|
// Viewport bounds are intentionally NOT passed here — they are used only
|
|
@@ -2799,7 +2913,23 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
2799
2913
|
)
|
|
2800
2914
|
const alignedRegion = alignToChunks(pixelRegion, ngffImage)
|
|
2801
2915
|
|
|
2802
|
-
//
|
|
2916
|
+
// Clamp the orthogonal slab extent to clip plane bounds so 2D views
|
|
2917
|
+
// never fetch data outside the ROI on the perpendicular axis.
|
|
2918
|
+
if (this._clipPlanes.length > 0) {
|
|
2919
|
+
slabStart = Math.max(slabStart, alignedRegion.chunkAlignedStart[orthAxis])
|
|
2920
|
+
slabEnd = Math.min(slabEnd, alignedRegion.chunkAlignedEnd[orthAxis])
|
|
2921
|
+
if (slabEnd <= slabStart) {
|
|
2922
|
+
// Crosshair is entirely outside the clip plane region on this
|
|
2923
|
+
// axis — snap to the first chunk of the clipped region.
|
|
2924
|
+
slabStart = alignedRegion.chunkAlignedStart[orthAxis]
|
|
2925
|
+
slabEnd = Math.min(
|
|
2926
|
+
slabStart + chunkSize,
|
|
2927
|
+
alignedRegion.chunkAlignedEnd[orthAxis],
|
|
2928
|
+
)
|
|
2929
|
+
}
|
|
2930
|
+
}
|
|
2931
|
+
|
|
2932
|
+
// Override the orthogonal axis with our (clamped) slab extent
|
|
2803
2933
|
const fetchStart: [number, number, number] = [
|
|
2804
2934
|
alignedRegion.chunkAlignedStart[0],
|
|
2805
2935
|
alignedRegion.chunkAlignedStart[1],
|
|
@@ -2987,7 +3117,7 @@ export class OMEZarrNVImage extends NVImage {
|
|
|
2987
3117
|
// matrix is needed to transform that voxel offset into world coordinates.
|
|
2988
3118
|
// Previously, the offset was applied before orientation which broke when
|
|
2989
3119
|
// NGFF axes were permuted (e.g. NGFF z → physical A/P axis).
|
|
2990
|
-
const affine =
|
|
3120
|
+
const affine = this._createOrientedAffine(ngffImage)
|
|
2991
3121
|
|
|
2992
3122
|
// Transform the NGFF voxel offset through the oriented 3x3 rotation.
|
|
2993
3123
|
// fetchStart is [z, y, x]; affine columns map NIfTI [i=x, j=y, k=z]
|
package/LICENSE.txt
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026-present Fideus Labs LLC <info@fideus.io>
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
|
-
|
|
7
|
-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
8
|
-
|
|
9
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|