@fideus-labs/ngff-zarr 0.10.0 → 0.12.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/esm/browser-mod.d.ts +23 -20
- package/esm/browser-mod.d.ts.map +1 -1
- package/esm/browser-mod.js +24 -22
- package/esm/browser-mod.js.map +1 -1
- package/esm/io/itk_image_to_ngff_image.d.ts.map +1 -1
- package/esm/io/itk_image_to_ngff_image.js +63 -6
- package/esm/io/itk_image_to_ngff_image.js.map +1 -1
- package/esm/io/to_ngff_zarr-browser.d.ts +8 -0
- package/esm/io/to_ngff_zarr-browser.d.ts.map +1 -1
- package/esm/io/to_ngff_zarr-browser.js +6 -6
- package/esm/io/to_ngff_zarr-browser.js.map +1 -1
- package/esm/io/to_ngff_zarr.d.ts +8 -0
- package/esm/io/to_ngff_zarr.d.ts.map +1 -1
- package/esm/io/to_ngff_zarr.js +8 -8
- package/esm/io/to_ngff_zarr.js.map +1 -1
- package/esm/io/to_ngff_zarr_ozx_common.d.ts +3 -1
- package/esm/io/to_ngff_zarr_ozx_common.d.ts.map +1 -1
- package/esm/io/to_ngff_zarr_ozx_common.js +47 -2
- package/esm/io/to_ngff_zarr_ozx_common.js.map +1 -1
- package/esm/methods/itkwasm-browser.d.ts +2 -1
- package/esm/methods/itkwasm-browser.d.ts.map +1 -1
- package/esm/methods/itkwasm-browser.js +30 -30
- package/esm/methods/itkwasm-browser.js.map +1 -1
- package/esm/methods/itkwasm-node.d.ts +2 -1
- package/esm/methods/itkwasm-node.d.ts.map +1 -1
- package/esm/methods/itkwasm-node.js +30 -30
- package/esm/methods/itkwasm-node.js.map +1 -1
- package/esm/methods/itkwasm-shared.d.ts +3 -2
- package/esm/methods/itkwasm-shared.d.ts.map +1 -1
- package/esm/methods/itkwasm-shared.js +12 -2
- package/esm/methods/itkwasm-shared.js.map +1 -1
- package/esm/mod.d.ts +24 -23
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +22 -21
- package/esm/mod.js.map +1 -1
- package/esm/process/to_multiscales-shared.d.ts +16 -3
- package/esm/process/to_multiscales-shared.d.ts.map +1 -1
- package/esm/process/to_multiscales-shared.js +7 -2
- package/esm/process/to_multiscales-shared.js.map +1 -1
- package/esm/types/rfc4.d.ts +26 -0
- package/esm/types/rfc4.d.ts.map +1 -1
- package/esm/types/rfc4.js +84 -0
- package/esm/types/rfc4.js.map +1 -1
- package/esm/utils/codecs.d.ts +20 -0
- package/esm/utils/codecs.d.ts.map +1 -1
- package/esm/utils/codecs.js +12 -0
- package/esm/utils/codecs.js.map +1 -1
- package/esm/utils/compute_omero-shared.d.ts +7 -0
- package/esm/utils/compute_omero-shared.d.ts.map +1 -1
- package/esm/utils/compute_omero-shared.js.map +1 -1
- package/esm/utils/compute_omero.d.ts +1 -1
- package/esm/utils/compute_omero.d.ts.map +1 -1
- package/esm/utils/compute_omero.js +7 -63
- package/esm/utils/compute_omero.js.map +1 -1
- package/esm/utils/worker_pool.d.ts +15 -1
- package/esm/utils/worker_pool.d.ts.map +1 -1
- package/esm/utils/worker_pool.js +7 -18
- package/esm/utils/worker_pool.js.map +1 -1
- package/package.json +1 -1
|
@@ -73,6 +73,18 @@ export function prepareRfc9Metadata(multiscales, enabledRfcs) {
|
|
|
73
73
|
}),
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Get chunks from an NgffImage, falling back to default chunk size if not specified.
|
|
78
|
+
*
|
|
79
|
+
* @param image - NgffImage to get chunks from
|
|
80
|
+
* @returns Array of chunk sizes for each dimension
|
|
81
|
+
*/
|
|
82
|
+
function getChunksFromImage(image) {
|
|
83
|
+
if (image.data.chunks && image.data.chunks.length > 0) {
|
|
84
|
+
return image.data.chunks;
|
|
85
|
+
}
|
|
86
|
+
return image.data.shape.map((s) => Math.min(s, 1024));
|
|
87
|
+
}
|
|
76
88
|
/**
|
|
77
89
|
* Create root group attributes for RFC-9 export.
|
|
78
90
|
*
|
|
@@ -102,8 +114,10 @@ export function createRfc9RootAttributes(multiscalesMetadata, multiscales) {
|
|
|
102
114
|
* @param multiscales - Multiscales data to write
|
|
103
115
|
* @param enabledRfcs - Optional list of RFC numbers to enable
|
|
104
116
|
* @param writeImage - Function to write individual images
|
|
117
|
+
* @param onProgress - Optional progress callback for cumulative chunk
|
|
118
|
+
* progress across all scale levels
|
|
105
119
|
*/
|
|
106
|
-
export async function writeMultiscalesToMemoryStore(store, multiscales, enabledRfcs, writeImage) {
|
|
120
|
+
export async function writeMultiscalesToMemoryStore(store, multiscales, enabledRfcs, writeImage, onProgress) {
|
|
107
121
|
// Validate version
|
|
108
122
|
validateRfc9Version(multiscales);
|
|
109
123
|
// Create root location and group with zarrita API
|
|
@@ -113,14 +127,45 @@ export async function writeMultiscalesToMemoryStore(store, multiscales, enabledR
|
|
|
113
127
|
// Create root attributes
|
|
114
128
|
const attributes = createRfc9RootAttributes(multiscalesMetadata, multiscales);
|
|
115
129
|
const rootGroup = await zarr.create(root, { attributes });
|
|
130
|
+
// Pre-calculate total chunk count across all images for cumulative progress
|
|
131
|
+
let totalChunks = 0;
|
|
132
|
+
if (onProgress) {
|
|
133
|
+
for (const image of multiscales.images) {
|
|
134
|
+
const shape = image.data.shape;
|
|
135
|
+
const chunks = getChunksFromImage(image);
|
|
136
|
+
let imageChunks = 1;
|
|
137
|
+
for (let d = 0; d < shape.length; d++) {
|
|
138
|
+
imageChunks *= Math.ceil(shape[d] / chunks[d]);
|
|
139
|
+
}
|
|
140
|
+
totalChunks += imageChunks;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
116
143
|
// Write each image in the multiscales
|
|
144
|
+
let completedChunks = 0;
|
|
117
145
|
for (let i = 0; i < multiscales.images.length; i++) {
|
|
118
146
|
const image = multiscales.images[i];
|
|
119
147
|
const dataset = multiscales.metadata.datasets[i];
|
|
120
148
|
if (!dataset) {
|
|
121
149
|
throw new Error(`No dataset configuration found for image ${i}`);
|
|
122
150
|
}
|
|
123
|
-
|
|
151
|
+
// Create a per-image progress wrapper that reports cumulative progress
|
|
152
|
+
const imageOffset = completedChunks;
|
|
153
|
+
const imageProgress = onProgress
|
|
154
|
+
? (completed, _imageTotal) => {
|
|
155
|
+
onProgress(imageOffset + completed, totalChunks);
|
|
156
|
+
}
|
|
157
|
+
: null;
|
|
158
|
+
await writeImage(rootGroup, image, dataset.path, imageProgress);
|
|
159
|
+
// Update cumulative offset for next image
|
|
160
|
+
if (onProgress) {
|
|
161
|
+
const shape = image.data.shape;
|
|
162
|
+
const chunks = getChunksFromImage(image);
|
|
163
|
+
let imageChunkCount = 1;
|
|
164
|
+
for (let d = 0; d < shape.length; d++) {
|
|
165
|
+
imageChunkCount *= Math.ceil(shape[d] / chunks[d]);
|
|
166
|
+
}
|
|
167
|
+
completedChunks += imageChunkCount;
|
|
168
|
+
}
|
|
124
169
|
}
|
|
125
170
|
}
|
|
126
171
|
//# sourceMappingURL=to_ngff_zarr_ozx_common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to_ngff_zarr_ozx_common.js","sourceRoot":"","sources":["../../src/io/to_ngff_zarr_ozx_common.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,+BAA+B;AAC/B;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"to_ngff_zarr_ozx_common.js","sourceRoot":"","sources":["../../src/io/to_ngff_zarr_ozx_common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { NgffImage } from "../types/ngff_image.js";
|
|
2
|
+
import type { ZarrCodec } from "../utils/codecs.js";
|
|
2
3
|
/**
|
|
3
4
|
* Main downsampling function for ITK-Wasm (browser version)
|
|
4
5
|
*/
|
|
5
|
-
export declare function downsampleItkWasm(ngffImage: NgffImage, scaleFactors: (Record<string, number> | number)[], smoothing: "gaussian" | "bin_shrink" | "label_image", chunks?: number | number[] | Record<string, number
|
|
6
|
+
export declare function downsampleItkWasm(ngffImage: NgffImage, scaleFactors: (Record<string, number> | number)[], smoothing: "gaussian" | "bin_shrink" | "label_image", chunks?: number | number[] | Record<string, number>, codecs?: ZarrCodec[]): Promise<NgffImage[]>;
|
|
6
7
|
//# sourceMappingURL=itkwasm-browser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"itkwasm-browser.d.ts","sourceRoot":"","sources":["../../src/methods/itkwasm-browser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"itkwasm-browser.d.ts","sourceRoot":"","sources":["../../src/methods/itkwasm-browser.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA47BpD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,EACjD,SAAS,EAAE,UAAU,GAAG,YAAY,GAAG,aAAa,EACpD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnD,MAAM,CAAC,EAAE,SAAS,EAAE,GACnB,OAAO,CAAC,SAAS,EAAE,CAAC,CA4HtB"}
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { downsample, downsampleBinShrink, downsampleLabelImage, } from "@itk-wasm/downsample";
|
|
8
8
|
import * as zarr from "zarrita";
|
|
9
|
-
import { zarrGet, zarrSet } from "../utils/worker_pool.js";
|
|
10
|
-
import { defaultCodecs } from "../utils/codecs.js";
|
|
11
9
|
import { NgffImage } from "../types/ngff_image.js";
|
|
10
|
+
import { defaultCodecs } from "../utils/codecs.js";
|
|
11
|
+
import { zarrGet, zarrSet } from "../utils/worker_pool.js";
|
|
12
12
|
import { dimScaleFactors, itkImageToZarr, MAX_VECTOR_COMPONENTS, nextScaleMetadata, SPATIAL_DIMS, updatePreviousDimFactors, zarrToItkImage, } from "./itkwasm-shared.js";
|
|
13
13
|
/**
|
|
14
14
|
* Compute chunk shape from configurable chunks option
|
|
@@ -36,7 +36,7 @@ function computeChunkShape(shape, chunks, dims, defaultChunk = 256) {
|
|
|
36
36
|
/**
|
|
37
37
|
* Perform Gaussian downsampling using ITK-Wasm (browser version)
|
|
38
38
|
*/
|
|
39
|
-
async function downsampleGaussian(image, dimFactors, spatialDims, chunks) {
|
|
39
|
+
async function downsampleGaussian(image, dimFactors, spatialDims, chunks, codecs) {
|
|
40
40
|
// Handle time dimension by processing each time slice independently
|
|
41
41
|
if (image.dims.includes("t")) {
|
|
42
42
|
const tDimIndex = image.dims.indexOf("t");
|
|
@@ -62,7 +62,7 @@ async function downsampleGaussian(image, dimFactors, spatialDims, chunks) {
|
|
|
62
62
|
chunk_shape: sliceChunkShape,
|
|
63
63
|
data_type: image.data.dtype,
|
|
64
64
|
fill_value: 0,
|
|
65
|
-
codecs: defaultCodecs(image.data.dtype),
|
|
65
|
+
codecs: codecs ?? defaultCodecs(image.data.dtype),
|
|
66
66
|
});
|
|
67
67
|
const fullSelection = new Array(sliceShape.length).fill(null);
|
|
68
68
|
await zarrSet(sliceArray, fullSelection, sliceData);
|
|
@@ -79,7 +79,7 @@ async function downsampleGaussian(image, dimFactors, spatialDims, chunks) {
|
|
|
79
79
|
computedCallbacks: image.computedCallbacks,
|
|
80
80
|
});
|
|
81
81
|
// Recursively downsample this slice (without 't', so no infinite loop)
|
|
82
|
-
const downsampledSlice = await downsampleGaussian(sliceImage, dimFactors, spatialDims, sliceChunks);
|
|
82
|
+
const downsampledSlice = await downsampleGaussian(sliceImage, dimFactors, spatialDims, sliceChunks, codecs);
|
|
83
83
|
downsampledSlices.push(downsampledSlice.data);
|
|
84
84
|
}
|
|
85
85
|
// Combine downsampled slices back into a single array with 't' dimension
|
|
@@ -101,7 +101,7 @@ async function downsampleGaussian(image, dimFactors, spatialDims, chunks) {
|
|
|
101
101
|
chunk_shape: computeChunkShape(combinedShape, chunks, image.dims),
|
|
102
102
|
data_type: image.data.dtype,
|
|
103
103
|
fill_value: 0,
|
|
104
|
-
codecs: defaultCodecs(image.data.dtype),
|
|
104
|
+
codecs: codecs ?? defaultCodecs(image.data.dtype),
|
|
105
105
|
});
|
|
106
106
|
// Copy each downsampled slice into the combined array
|
|
107
107
|
for (let t = 0; t < tSize; t++) {
|
|
@@ -154,7 +154,7 @@ async function downsampleGaussian(image, dimFactors, spatialDims, chunks) {
|
|
|
154
154
|
chunk_shape: sliceChunkShape,
|
|
155
155
|
data_type: image.data.dtype,
|
|
156
156
|
fill_value: 0,
|
|
157
|
-
codecs: defaultCodecs(image.data.dtype),
|
|
157
|
+
codecs: codecs ?? defaultCodecs(image.data.dtype),
|
|
158
158
|
});
|
|
159
159
|
const fullSelection = new Array(sliceShape.length).fill(null);
|
|
160
160
|
await zarrSet(sliceArray, fullSelection, sliceData);
|
|
@@ -171,7 +171,7 @@ async function downsampleGaussian(image, dimFactors, spatialDims, chunks) {
|
|
|
171
171
|
computedCallbacks: image.computedCallbacks,
|
|
172
172
|
});
|
|
173
173
|
// Recursively downsample this slice (without 'c', so no infinite loop)
|
|
174
|
-
const downsampledSlice = await downsampleGaussian(sliceImage, dimFactors, spatialDims, sliceChunks);
|
|
174
|
+
const downsampledSlice = await downsampleGaussian(sliceImage, dimFactors, spatialDims, sliceChunks, codecs);
|
|
175
175
|
downsampledSlices.push(downsampledSlice.data);
|
|
176
176
|
}
|
|
177
177
|
// Combine downsampled slices back into a single array with 'c' dimension
|
|
@@ -193,7 +193,7 @@ async function downsampleGaussian(image, dimFactors, spatialDims, chunks) {
|
|
|
193
193
|
chunk_shape: computeChunkShape(combinedShape, chunks, image.dims),
|
|
194
194
|
data_type: image.data.dtype,
|
|
195
195
|
fill_value: 0,
|
|
196
|
-
codecs: defaultCodecs(image.data.dtype),
|
|
196
|
+
codecs: codecs ?? defaultCodecs(image.data.dtype),
|
|
197
197
|
});
|
|
198
198
|
// Copy each downsampled slice into the combined array
|
|
199
199
|
for (let c = 0; c < cSize; c++) {
|
|
@@ -238,7 +238,7 @@ async function downsampleGaussian(image, dimFactors, spatialDims, chunks) {
|
|
|
238
238
|
// downsampled.size is in ITK order [x, y, z], reverse to get array order [z, y, x]
|
|
239
239
|
const reversedShape = [...downsampled.size].reverse();
|
|
240
240
|
const chunkShape = computeChunkShape(reversedShape, chunks, image.dims);
|
|
241
|
-
const array = await itkImageToZarr(downsampled, store, "image", chunkShape, image.dims);
|
|
241
|
+
const array = await itkImageToZarr(downsampled, store, "image", chunkShape, image.dims, codecs);
|
|
242
242
|
return new NgffImage({
|
|
243
243
|
data: array,
|
|
244
244
|
dims: image.dims,
|
|
@@ -252,7 +252,7 @@ async function downsampleGaussian(image, dimFactors, spatialDims, chunks) {
|
|
|
252
252
|
/**
|
|
253
253
|
* Perform bin shrink downsampling using ITK-Wasm (browser version)
|
|
254
254
|
*/
|
|
255
|
-
async function downsampleBinShrinkImpl(image, dimFactors, spatialDims, chunks) {
|
|
255
|
+
async function downsampleBinShrinkImpl(image, dimFactors, spatialDims, chunks, codecs) {
|
|
256
256
|
// Handle time dimension by processing each time slice independently
|
|
257
257
|
if (image.dims.includes("t")) {
|
|
258
258
|
const tDimIndex = image.dims.indexOf("t");
|
|
@@ -278,7 +278,7 @@ async function downsampleBinShrinkImpl(image, dimFactors, spatialDims, chunks) {
|
|
|
278
278
|
chunk_shape: sliceChunkShape,
|
|
279
279
|
data_type: image.data.dtype,
|
|
280
280
|
fill_value: 0,
|
|
281
|
-
codecs: defaultCodecs(image.data.dtype),
|
|
281
|
+
codecs: codecs ?? defaultCodecs(image.data.dtype),
|
|
282
282
|
});
|
|
283
283
|
const fullSelection = new Array(sliceShape.length).fill(null);
|
|
284
284
|
await zarrSet(sliceArray, fullSelection, sliceData);
|
|
@@ -295,7 +295,7 @@ async function downsampleBinShrinkImpl(image, dimFactors, spatialDims, chunks) {
|
|
|
295
295
|
computedCallbacks: image.computedCallbacks,
|
|
296
296
|
});
|
|
297
297
|
// Recursively downsample this slice
|
|
298
|
-
const downsampledSlice = await downsampleBinShrinkImpl(sliceImage, dimFactors, spatialDims, sliceChunks);
|
|
298
|
+
const downsampledSlice = await downsampleBinShrinkImpl(sliceImage, dimFactors, spatialDims, sliceChunks, codecs);
|
|
299
299
|
downsampledSlices.push(downsampledSlice.data);
|
|
300
300
|
}
|
|
301
301
|
// Combine downsampled slices back into a single array with 't' dimension
|
|
@@ -317,7 +317,7 @@ async function downsampleBinShrinkImpl(image, dimFactors, spatialDims, chunks) {
|
|
|
317
317
|
chunk_shape: computeChunkShape(combinedShape, chunks, image.dims),
|
|
318
318
|
data_type: image.data.dtype,
|
|
319
319
|
fill_value: 0,
|
|
320
|
-
codecs: defaultCodecs(image.data.dtype),
|
|
320
|
+
codecs: codecs ?? defaultCodecs(image.data.dtype),
|
|
321
321
|
});
|
|
322
322
|
// Copy each downsampled slice into the combined array
|
|
323
323
|
for (let t = 0; t < tSize; t++) {
|
|
@@ -370,7 +370,7 @@ async function downsampleBinShrinkImpl(image, dimFactors, spatialDims, chunks) {
|
|
|
370
370
|
chunk_shape: sliceChunkShape,
|
|
371
371
|
data_type: image.data.dtype,
|
|
372
372
|
fill_value: 0,
|
|
373
|
-
codecs: defaultCodecs(image.data.dtype),
|
|
373
|
+
codecs: codecs ?? defaultCodecs(image.data.dtype),
|
|
374
374
|
});
|
|
375
375
|
const fullSelection = new Array(sliceShape.length).fill(null);
|
|
376
376
|
await zarrSet(sliceArray, fullSelection, sliceData);
|
|
@@ -387,7 +387,7 @@ async function downsampleBinShrinkImpl(image, dimFactors, spatialDims, chunks) {
|
|
|
387
387
|
computedCallbacks: image.computedCallbacks,
|
|
388
388
|
});
|
|
389
389
|
// Recursively downsample this slice (without 'c', so no infinite loop)
|
|
390
|
-
const downsampledSlice = await downsampleBinShrinkImpl(sliceImage, dimFactors, spatialDims, sliceChunks);
|
|
390
|
+
const downsampledSlice = await downsampleBinShrinkImpl(sliceImage, dimFactors, spatialDims, sliceChunks, codecs);
|
|
391
391
|
downsampledSlices.push(downsampledSlice.data);
|
|
392
392
|
}
|
|
393
393
|
// Combine downsampled slices back into a single array with 'c' dimension
|
|
@@ -409,7 +409,7 @@ async function downsampleBinShrinkImpl(image, dimFactors, spatialDims, chunks) {
|
|
|
409
409
|
chunk_shape: computeChunkShape(combinedShape, chunks, image.dims),
|
|
410
410
|
data_type: image.data.dtype,
|
|
411
411
|
fill_value: 0,
|
|
412
|
-
codecs: defaultCodecs(image.data.dtype),
|
|
412
|
+
codecs: codecs ?? defaultCodecs(image.data.dtype),
|
|
413
413
|
});
|
|
414
414
|
// Copy each downsampled slice into the combined array
|
|
415
415
|
for (let c = 0; c < cSize; c++) {
|
|
@@ -451,7 +451,7 @@ async function downsampleBinShrinkImpl(image, dimFactors, spatialDims, chunks) {
|
|
|
451
451
|
// downsampled.size is in ITK order [x, y, z], reverse to get array order [z, y, x]
|
|
452
452
|
const reversedShape = [...downsampled.size].reverse();
|
|
453
453
|
const chunkShape = computeChunkShape(reversedShape, chunks, image.dims);
|
|
454
|
-
const array = await itkImageToZarr(downsampled, store, "image", chunkShape, image.dims);
|
|
454
|
+
const array = await itkImageToZarr(downsampled, store, "image", chunkShape, image.dims, codecs);
|
|
455
455
|
return new NgffImage({
|
|
456
456
|
data: array,
|
|
457
457
|
dims: image.dims,
|
|
@@ -465,7 +465,7 @@ async function downsampleBinShrinkImpl(image, dimFactors, spatialDims, chunks) {
|
|
|
465
465
|
/**
|
|
466
466
|
* Perform label image downsampling using ITK-Wasm (browser version)
|
|
467
467
|
*/
|
|
468
|
-
async function downsampleLabelImageImpl(image, dimFactors, spatialDims, chunks) {
|
|
468
|
+
async function downsampleLabelImageImpl(image, dimFactors, spatialDims, chunks, codecs) {
|
|
469
469
|
// Handle time dimension by processing each time slice independently
|
|
470
470
|
if (image.dims.includes("t")) {
|
|
471
471
|
const tDimIndex = image.dims.indexOf("t");
|
|
@@ -491,7 +491,7 @@ async function downsampleLabelImageImpl(image, dimFactors, spatialDims, chunks)
|
|
|
491
491
|
chunk_shape: sliceChunkShape,
|
|
492
492
|
data_type: image.data.dtype,
|
|
493
493
|
fill_value: 0,
|
|
494
|
-
codecs: defaultCodecs(image.data.dtype),
|
|
494
|
+
codecs: codecs ?? defaultCodecs(image.data.dtype),
|
|
495
495
|
});
|
|
496
496
|
const fullSelection = new Array(sliceShape.length).fill(null);
|
|
497
497
|
await zarrSet(sliceArray, fullSelection, sliceData);
|
|
@@ -508,7 +508,7 @@ async function downsampleLabelImageImpl(image, dimFactors, spatialDims, chunks)
|
|
|
508
508
|
computedCallbacks: image.computedCallbacks,
|
|
509
509
|
});
|
|
510
510
|
// Recursively downsample this slice
|
|
511
|
-
const downsampledSlice = await downsampleLabelImageImpl(sliceImage, dimFactors, spatialDims, sliceChunks);
|
|
511
|
+
const downsampledSlice = await downsampleLabelImageImpl(sliceImage, dimFactors, spatialDims, sliceChunks, codecs);
|
|
512
512
|
downsampledSlices.push(downsampledSlice.data);
|
|
513
513
|
}
|
|
514
514
|
// Combine downsampled slices back into a single array with 't' dimension
|
|
@@ -530,7 +530,7 @@ async function downsampleLabelImageImpl(image, dimFactors, spatialDims, chunks)
|
|
|
530
530
|
chunk_shape: computeChunkShape(combinedShape, chunks, image.dims),
|
|
531
531
|
data_type: image.data.dtype,
|
|
532
532
|
fill_value: 0,
|
|
533
|
-
codecs: defaultCodecs(image.data.dtype),
|
|
533
|
+
codecs: codecs ?? defaultCodecs(image.data.dtype),
|
|
534
534
|
});
|
|
535
535
|
// Copy each downsampled slice into the combined array
|
|
536
536
|
for (let t = 0; t < tSize; t++) {
|
|
@@ -583,7 +583,7 @@ async function downsampleLabelImageImpl(image, dimFactors, spatialDims, chunks)
|
|
|
583
583
|
chunk_shape: sliceChunkShape,
|
|
584
584
|
data_type: image.data.dtype,
|
|
585
585
|
fill_value: 0,
|
|
586
|
-
codecs: defaultCodecs(image.data.dtype),
|
|
586
|
+
codecs: codecs ?? defaultCodecs(image.data.dtype),
|
|
587
587
|
});
|
|
588
588
|
const fullSelection = new Array(sliceShape.length).fill(null);
|
|
589
589
|
await zarrSet(sliceArray, fullSelection, sliceData);
|
|
@@ -600,7 +600,7 @@ async function downsampleLabelImageImpl(image, dimFactors, spatialDims, chunks)
|
|
|
600
600
|
computedCallbacks: image.computedCallbacks,
|
|
601
601
|
});
|
|
602
602
|
// Recursively downsample this slice (without 'c', so no infinite loop)
|
|
603
|
-
const downsampledSlice = await downsampleLabelImageImpl(sliceImage, dimFactors, spatialDims, sliceChunks);
|
|
603
|
+
const downsampledSlice = await downsampleLabelImageImpl(sliceImage, dimFactors, spatialDims, sliceChunks, codecs);
|
|
604
604
|
downsampledSlices.push(downsampledSlice.data);
|
|
605
605
|
}
|
|
606
606
|
// Combine downsampled slices back into a single array with 'c' dimension
|
|
@@ -622,7 +622,7 @@ async function downsampleLabelImageImpl(image, dimFactors, spatialDims, chunks)
|
|
|
622
622
|
chunk_shape: computeChunkShape(combinedShape, chunks, image.dims),
|
|
623
623
|
data_type: image.data.dtype,
|
|
624
624
|
fill_value: 0,
|
|
625
|
-
codecs: defaultCodecs(image.data.dtype),
|
|
625
|
+
codecs: codecs ?? defaultCodecs(image.data.dtype),
|
|
626
626
|
});
|
|
627
627
|
// Copy each downsampled slice into the combined array
|
|
628
628
|
for (let c = 0; c < cSize; c++) {
|
|
@@ -670,7 +670,7 @@ async function downsampleLabelImageImpl(image, dimFactors, spatialDims, chunks)
|
|
|
670
670
|
// downsampled.size is in ITK order [x, y, z], reverse to get array order [z, y, x]
|
|
671
671
|
const reversedShape = [...downsampled.size].reverse();
|
|
672
672
|
const chunkShape = computeChunkShape(reversedShape, chunks, image.dims);
|
|
673
|
-
const array = await itkImageToZarr(downsampled, store, "image", chunkShape, image.dims);
|
|
673
|
+
const array = await itkImageToZarr(downsampled, store, "image", chunkShape, image.dims, codecs);
|
|
674
674
|
return new NgffImage({
|
|
675
675
|
data: array,
|
|
676
676
|
dims: image.dims,
|
|
@@ -684,7 +684,7 @@ async function downsampleLabelImageImpl(image, dimFactors, spatialDims, chunks)
|
|
|
684
684
|
/**
|
|
685
685
|
* Main downsampling function for ITK-Wasm (browser version)
|
|
686
686
|
*/
|
|
687
|
-
export async function downsampleItkWasm(ngffImage, scaleFactors, smoothing, chunks) {
|
|
687
|
+
export async function downsampleItkWasm(ngffImage, scaleFactors, smoothing, chunks, codecs) {
|
|
688
688
|
const multiscales = [ngffImage];
|
|
689
689
|
const dims = ngffImage.dims;
|
|
690
690
|
const spatialDims = dims.filter((dim) => SPATIAL_DIMS.includes(dim));
|
|
@@ -748,13 +748,13 @@ export async function downsampleItkWasm(ngffImage, scaleFactors, smoothing, chun
|
|
|
748
748
|
}
|
|
749
749
|
let downsampled;
|
|
750
750
|
if (smoothing === "gaussian") {
|
|
751
|
-
downsampled = await downsampleGaussian(sourceImage, sourceDimFactors, spatialDims, chunks);
|
|
751
|
+
downsampled = await downsampleGaussian(sourceImage, sourceDimFactors, spatialDims, chunks, codecs);
|
|
752
752
|
}
|
|
753
753
|
else if (smoothing === "bin_shrink") {
|
|
754
|
-
downsampled = await downsampleBinShrinkImpl(sourceImage, sourceDimFactors, spatialDims, chunks);
|
|
754
|
+
downsampled = await downsampleBinShrinkImpl(sourceImage, sourceDimFactors, spatialDims, chunks, codecs);
|
|
755
755
|
}
|
|
756
756
|
else if (smoothing === "label_image") {
|
|
757
|
-
downsampled = await downsampleLabelImageImpl(sourceImage, sourceDimFactors, spatialDims, chunks);
|
|
757
|
+
downsampled = await downsampleLabelImageImpl(sourceImage, sourceDimFactors, spatialDims, chunks, codecs);
|
|
758
758
|
}
|
|
759
759
|
else {
|
|
760
760
|
throw new Error(`Unknown smoothing method: ${smoothing}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"itkwasm-browser.js","sourceRoot":"","sources":["../../src/methods/itkwasm-browser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"itkwasm-browser.js","sourceRoot":"","sources":["../../src/methods/itkwasm-browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { NgffImage } from "../types/ngff_image.js";
|
|
2
|
+
import type { ZarrCodec } from "../utils/codecs.js";
|
|
2
3
|
/**
|
|
3
4
|
* Main downsampling function for ITK-Wasm (Node version)
|
|
4
5
|
*/
|
|
5
|
-
export declare function downsampleItkWasm(ngffImage: NgffImage, scaleFactors: (Record<string, number> | number)[], smoothing: "gaussian" | "bin_shrink" | "label_image", chunks?: number | number[] | Record<string, number
|
|
6
|
+
export declare function downsampleItkWasm(ngffImage: NgffImage, scaleFactors: (Record<string, number> | number)[], smoothing: "gaussian" | "bin_shrink" | "label_image", chunks?: number | number[] | Record<string, number>, codecs?: ZarrCodec[]): Promise<NgffImage[]>;
|
|
6
7
|
//# sourceMappingURL=itkwasm-node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"itkwasm-node.d.ts","sourceRoot":"","sources":["../../src/methods/itkwasm-node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"itkwasm-node.d.ts","sourceRoot":"","sources":["../../src/methods/itkwasm-node.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA47BpD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,EACjD,SAAS,EAAE,UAAU,GAAG,YAAY,GAAG,aAAa,EACpD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnD,MAAM,CAAC,EAAE,SAAS,EAAE,GACnB,OAAO,CAAC,SAAS,EAAE,CAAC,CA4HtB"}
|