@fideus-labs/fidnii 0.4.0 → 0.6.0
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 +135 -7
- package/dist/OMEZarrNVImage.d.ts.map +1 -1
- package/dist/OMEZarrNVImage.js +509 -63
- package/dist/OMEZarrNVImage.js.map +1 -1
- package/dist/RegionCoalescer.d.ts +12 -7
- package/dist/RegionCoalescer.d.ts.map +1 -1
- package/dist/RegionCoalescer.js +30 -20
- package/dist/RegionCoalescer.js.map +1 -1
- package/dist/events.d.ts +17 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/fromTiff.d.ts +22 -1
- package/dist/fromTiff.d.ts.map +1 -1
- package/dist/fromTiff.js +9 -3
- package/dist/fromTiff.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +60 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/affine.d.ts +12 -2
- package/dist/utils/affine.d.ts.map +1 -1
- package/dist/utils/affine.js +15 -3
- package/dist/utils/affine.js.map +1 -1
- package/dist/utils/orientation.d.ts +157 -0
- package/dist/utils/orientation.d.ts.map +1 -0
- package/dist/utils/orientation.js +225 -0
- package/dist/utils/orientation.js.map +1 -0
- package/package.json +5 -5
- package/src/OMEZarrNVImage.ts +606 -61
- package/src/RegionCoalescer.ts +33 -14
- package/src/events.ts +18 -0
- package/src/fromTiff.ts +32 -4
- package/src/index.ts +15 -1
- package/src/types.ts +86 -0
- package/src/utils/affine.ts +16 -3
- package/src/utils/orientation.ts +292 -0
package/dist/OMEZarrNVImage.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { Multiscales, Omero } from "@fideus-labs/ngff-zarr";
|
|
|
2
2
|
import type { Niivue } from "@niivue/niivue";
|
|
3
3
|
import { NVImage } from "@niivue/niivue";
|
|
4
4
|
import { type OMEZarrNVImageEventListener, type OMEZarrNVImageEventListenerOptions, type OMEZarrNVImageEventMap, type PopulateTrigger } from "./events.js";
|
|
5
|
-
import type { ClipPlane, ClipPlanes, OMEZarrNVImageOptions, SlabBufferState, SlabSliceType, VolumeBounds } from "./types.js";
|
|
5
|
+
import type { ClipPlane, ClipPlanes, OMEZarrNVImageOptions, SlabBufferState, SlabSliceType, TimeAxisInfo, VolumeBounds } from "./types.js";
|
|
6
6
|
/**
|
|
7
7
|
* OMEZarrNVImage extends NVImage to support rendering OME-Zarr images in NiiVue.
|
|
8
8
|
*
|
|
@@ -26,6 +26,15 @@ export declare class OMEZarrNVImage extends NVImage {
|
|
|
26
26
|
* OMERO intensity windowing is skipped.
|
|
27
27
|
*/
|
|
28
28
|
readonly isLabelImage: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* The continuous colormap name used for rendering.
|
|
31
|
+
*
|
|
32
|
+
* Overrides the NVImage setter so that changing the colormap on this
|
|
33
|
+
* image automatically propagates to all slab (2D slice) NVImages.
|
|
34
|
+
* Label images are unaffected — they use `setColormapLabel()` instead.
|
|
35
|
+
*/
|
|
36
|
+
get colormap(): string;
|
|
37
|
+
set colormap(cm: string);
|
|
29
38
|
/** Reference to NiiVue instance */
|
|
30
39
|
private readonly niivue;
|
|
31
40
|
/** Buffer manager for dynamically-sized pixel data */
|
|
@@ -83,6 +92,12 @@ export declare class OMEZarrNVImage extends NVImage {
|
|
|
83
92
|
private readonly _eventTarget;
|
|
84
93
|
/** Pending populate request (latest wins - replaces any previous pending) */
|
|
85
94
|
private _pendingPopulateRequest;
|
|
95
|
+
/**
|
|
96
|
+
* AbortController for the in-flight `populateVolume` fetch.
|
|
97
|
+
* Aborted when a new `populateVolume` call supersedes the current one,
|
|
98
|
+
* allowing in-flight HTTP requests to be cancelled promptly.
|
|
99
|
+
*/
|
|
100
|
+
private _populateAbortController;
|
|
86
101
|
/** Current populate trigger (set at start of populateVolume, used by events) */
|
|
87
102
|
private _currentPopulateTrigger;
|
|
88
103
|
/** Attached Niivue instances and their state */
|
|
@@ -107,6 +122,31 @@ export declare class OMEZarrNVImage extends NVImage {
|
|
|
107
122
|
private _viewportUpdateTimeout;
|
|
108
123
|
/** Per-slab AbortController to cancel in-flight progressive loads */
|
|
109
124
|
private _slabAbortControllers;
|
|
125
|
+
/**
|
|
126
|
+
* Time axis metadata, or `null` if the dataset has no `"t"` dimension.
|
|
127
|
+
* Populated during construction by inspecting `NgffImage.dims`.
|
|
128
|
+
*/
|
|
129
|
+
private readonly _timeAxisInfo;
|
|
130
|
+
/** Current time index (0-based). Always 0 for non-time datasets. */
|
|
131
|
+
private _timeIndex;
|
|
132
|
+
/** Number of adjacent time frames to pre-fetch in each direction. */
|
|
133
|
+
private readonly _timePrefetchCount;
|
|
134
|
+
/**
|
|
135
|
+
* LRU cache of pre-fetched 3D time frames, keyed by time index.
|
|
136
|
+
* Only used when `_timeAxisInfo` is non-null.
|
|
137
|
+
*/
|
|
138
|
+
private readonly _timeFrameCache;
|
|
139
|
+
/** Set of time indices currently being pre-fetched (for dedup). */
|
|
140
|
+
private readonly _prefetchingTimeIndices;
|
|
141
|
+
/** AbortController for the most recent pre-fetch batch. */
|
|
142
|
+
private _prefetchAbortController;
|
|
143
|
+
/**
|
|
144
|
+
* Snapshot of the chunk-aligned region and resolution level used for
|
|
145
|
+
* the last successful 3D volume load. Used to serve cached time frames
|
|
146
|
+
* at the same spatial region. Cleared on clip plane / viewport / resolution
|
|
147
|
+
* changes.
|
|
148
|
+
*/
|
|
149
|
+
private _lastLoadedRegion;
|
|
110
150
|
/** Maximum 3D render zoom level for scroll-wheel zoom */
|
|
111
151
|
private readonly _max3DZoom;
|
|
112
152
|
/** Minimum 3D render zoom level for scroll-wheel zoom */
|
|
@@ -117,6 +157,8 @@ export declare class OMEZarrNVImage extends NVImage {
|
|
|
117
157
|
* continuous zoom/pan interactions.
|
|
118
158
|
*/
|
|
119
159
|
private static readonly VIEWPORT_DEBOUNCE_MS;
|
|
160
|
+
/** Default number of adjacent time frames to pre-fetch. */
|
|
161
|
+
private static readonly DEFAULT_TIME_PREFETCH_COUNT;
|
|
120
162
|
/**
|
|
121
163
|
* Private constructor. Use OMEZarrNVImage.create() for instantiation.
|
|
122
164
|
*/
|
|
@@ -171,6 +213,8 @@ export declare class OMEZarrNVImage extends NVImage {
|
|
|
171
213
|
*
|
|
172
214
|
* @param levelIndex - Resolution level index
|
|
173
215
|
* @param requesterId - ID for request coalescing
|
|
216
|
+
* @param timeIndex - Time point index to fetch (defaults to `this._timeIndex`)
|
|
217
|
+
* @param signal - Optional AbortSignal to cancel the fetch
|
|
174
218
|
*/
|
|
175
219
|
private loadResolutionLevel;
|
|
176
220
|
/**
|
|
@@ -320,6 +364,76 @@ export declare class OMEZarrNVImage extends NVImage {
|
|
|
320
364
|
* Get the volume bounds in world space.
|
|
321
365
|
*/
|
|
322
366
|
getVolumeBounds(): VolumeBounds;
|
|
367
|
+
/**
|
|
368
|
+
* Time axis metadata, or `null` if the dataset has no `"t"` dimension.
|
|
369
|
+
*
|
|
370
|
+
* @example
|
|
371
|
+
* ```ts
|
|
372
|
+
* const info = image.timeAxisInfo
|
|
373
|
+
* if (info) {
|
|
374
|
+
* console.log(`${info.count} time points, step=${info.step} ${info.unit}`)
|
|
375
|
+
* }
|
|
376
|
+
* ```
|
|
377
|
+
*/
|
|
378
|
+
get timeAxisInfo(): TimeAxisInfo | null;
|
|
379
|
+
/**
|
|
380
|
+
* Total number of time points.
|
|
381
|
+
* Returns 1 for datasets without a `"t"` dimension.
|
|
382
|
+
*/
|
|
383
|
+
get timeCount(): number;
|
|
384
|
+
/**
|
|
385
|
+
* Current time index (0-based).
|
|
386
|
+
* Always 0 for datasets without a `"t"` dimension.
|
|
387
|
+
*/
|
|
388
|
+
get timeIndex(): number;
|
|
389
|
+
/**
|
|
390
|
+
* Compute the physical time value at a given index.
|
|
391
|
+
*
|
|
392
|
+
* @param index - Time index (0-based)
|
|
393
|
+
* @returns Physical time value (`origin + index * step`)
|
|
394
|
+
*/
|
|
395
|
+
getTimeValue(index: number): number;
|
|
396
|
+
/**
|
|
397
|
+
* Set the active time index and reload the volume.
|
|
398
|
+
*
|
|
399
|
+
* If the requested frame is in the pre-fetch cache, the buffer is
|
|
400
|
+
* swapped instantly without a network fetch. Otherwise, the frame is
|
|
401
|
+
* loaded from the zarr store at the current resolution level and
|
|
402
|
+
* spatial region.
|
|
403
|
+
*
|
|
404
|
+
* After the frame is loaded, adjacent frames are pre-fetched in the
|
|
405
|
+
* background so subsequent scrubbing can serve frames from cache.
|
|
406
|
+
*
|
|
407
|
+
* @param index - Time index (0-based)
|
|
408
|
+
* @throws If `index` is out of range `[0, timeCount)`
|
|
409
|
+
*
|
|
410
|
+
* @example
|
|
411
|
+
* ```ts
|
|
412
|
+
* await image.setTimeIndex(5)
|
|
413
|
+
* image.addEventListener('timeChange', (e) => {
|
|
414
|
+
* console.log(`Frame ${e.detail.index}, cached=${e.detail.cached}`)
|
|
415
|
+
* })
|
|
416
|
+
* ```
|
|
417
|
+
*/
|
|
418
|
+
setTimeIndex(index: number): Promise<void>;
|
|
419
|
+
/**
|
|
420
|
+
* Clear the pre-fetched time frame cache.
|
|
421
|
+
*
|
|
422
|
+
* Called internally when the spatial region or resolution changes
|
|
423
|
+
* (clip planes, viewport, resolution level), since cached frames
|
|
424
|
+
* were fetched for the previous region and are no longer valid.
|
|
425
|
+
*/
|
|
426
|
+
private _invalidateTimeFrameCache;
|
|
427
|
+
/**
|
|
428
|
+
* Pre-fetch adjacent time frames in the background.
|
|
429
|
+
*
|
|
430
|
+
* Fetches frames `[index - N, index + N]` (clamped to valid range)
|
|
431
|
+
* at the current resolution level and spatial region. Already-cached
|
|
432
|
+
* and currently-in-flight indices are skipped.
|
|
433
|
+
*
|
|
434
|
+
* @param centerIndex - The time index to pre-fetch around
|
|
435
|
+
*/
|
|
436
|
+
private _prefetchAdjacentFrames;
|
|
323
437
|
/**
|
|
324
438
|
* Enable or disable viewport-aware resolution selection.
|
|
325
439
|
*
|
|
@@ -382,7 +496,13 @@ export declare class OMEZarrNVImage extends NVImage {
|
|
|
382
496
|
*/
|
|
383
497
|
getIsLoading(): boolean;
|
|
384
498
|
/**
|
|
385
|
-
* Wait for all
|
|
499
|
+
* Wait for all async work to settle: debounced timers (clip plane
|
|
500
|
+
* refetch, viewport update, slab reload), the main `populateVolume`
|
|
501
|
+
* pipeline, all slab loads, and in-flight coalescer fetches.
|
|
502
|
+
*
|
|
503
|
+
* The method polls in a loop because debounced timers may fire while
|
|
504
|
+
* we are waiting, triggering new loads. It only resolves once every
|
|
505
|
+
* source of async work is idle simultaneously.
|
|
386
506
|
*/
|
|
387
507
|
waitForIdle(): Promise<void>;
|
|
388
508
|
/**
|
|
@@ -475,11 +595,19 @@ export declare class OMEZarrNVImage extends NVImage {
|
|
|
475
595
|
*/
|
|
476
596
|
private _isSlabSliceType;
|
|
477
597
|
/**
|
|
478
|
-
* Get the
|
|
479
|
-
*
|
|
480
|
-
*
|
|
481
|
-
* -
|
|
482
|
-
* -
|
|
598
|
+
* Get the NGFF array axis index that is orthogonal to a slice plane.
|
|
599
|
+
*
|
|
600
|
+
* NiiVue slice types refer to anatomical planes:
|
|
601
|
+
* - Axial: perpendicular to S/I (physicalRow 2)
|
|
602
|
+
* - Coronal: perpendicular to A/P (physicalRow 1)
|
|
603
|
+
* - Sagittal: perpendicular to R/L (physicalRow 0)
|
|
604
|
+
*
|
|
605
|
+
* When the dataset has permuted axes (e.g. NGFF y encodes S/I instead
|
|
606
|
+
* of A/P), the NGFF array axis that is orthogonal to a given anatomical
|
|
607
|
+
* plane differs from the default z/y/x mapping. This method uses the
|
|
608
|
+
* orientation metadata to find the correct NGFF axis.
|
|
609
|
+
*
|
|
610
|
+
* Returns index in [z, y, x] order (0=z, 1=y, 2=x).
|
|
483
611
|
*/
|
|
484
612
|
private _getOrthogonalAxis;
|
|
485
613
|
/**
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"OMEZarrNVImage.d.ts","sourceRoot":"","sources":["../src/OMEZarrNVImage.ts"],"names":[],"mappings":"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"}
|