@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.
Files changed (59) hide show
  1. package/esm/browser-mod.d.ts +23 -20
  2. package/esm/browser-mod.d.ts.map +1 -1
  3. package/esm/browser-mod.js +24 -22
  4. package/esm/browser-mod.js.map +1 -1
  5. package/esm/io/itk_image_to_ngff_image.d.ts.map +1 -1
  6. package/esm/io/itk_image_to_ngff_image.js +63 -6
  7. package/esm/io/itk_image_to_ngff_image.js.map +1 -1
  8. package/esm/io/to_ngff_zarr-browser.d.ts +8 -0
  9. package/esm/io/to_ngff_zarr-browser.d.ts.map +1 -1
  10. package/esm/io/to_ngff_zarr-browser.js +6 -6
  11. package/esm/io/to_ngff_zarr-browser.js.map +1 -1
  12. package/esm/io/to_ngff_zarr.d.ts +8 -0
  13. package/esm/io/to_ngff_zarr.d.ts.map +1 -1
  14. package/esm/io/to_ngff_zarr.js +8 -8
  15. package/esm/io/to_ngff_zarr.js.map +1 -1
  16. package/esm/io/to_ngff_zarr_ozx_common.d.ts +3 -1
  17. package/esm/io/to_ngff_zarr_ozx_common.d.ts.map +1 -1
  18. package/esm/io/to_ngff_zarr_ozx_common.js +47 -2
  19. package/esm/io/to_ngff_zarr_ozx_common.js.map +1 -1
  20. package/esm/methods/itkwasm-browser.d.ts +2 -1
  21. package/esm/methods/itkwasm-browser.d.ts.map +1 -1
  22. package/esm/methods/itkwasm-browser.js +30 -30
  23. package/esm/methods/itkwasm-browser.js.map +1 -1
  24. package/esm/methods/itkwasm-node.d.ts +2 -1
  25. package/esm/methods/itkwasm-node.d.ts.map +1 -1
  26. package/esm/methods/itkwasm-node.js +30 -30
  27. package/esm/methods/itkwasm-node.js.map +1 -1
  28. package/esm/methods/itkwasm-shared.d.ts +3 -2
  29. package/esm/methods/itkwasm-shared.d.ts.map +1 -1
  30. package/esm/methods/itkwasm-shared.js +12 -2
  31. package/esm/methods/itkwasm-shared.js.map +1 -1
  32. package/esm/mod.d.ts +24 -23
  33. package/esm/mod.d.ts.map +1 -1
  34. package/esm/mod.js +22 -21
  35. package/esm/mod.js.map +1 -1
  36. package/esm/process/to_multiscales-shared.d.ts +16 -3
  37. package/esm/process/to_multiscales-shared.d.ts.map +1 -1
  38. package/esm/process/to_multiscales-shared.js +7 -2
  39. package/esm/process/to_multiscales-shared.js.map +1 -1
  40. package/esm/types/rfc4.d.ts +26 -0
  41. package/esm/types/rfc4.d.ts.map +1 -1
  42. package/esm/types/rfc4.js +84 -0
  43. package/esm/types/rfc4.js.map +1 -1
  44. package/esm/utils/codecs.d.ts +20 -0
  45. package/esm/utils/codecs.d.ts.map +1 -1
  46. package/esm/utils/codecs.js +12 -0
  47. package/esm/utils/codecs.js.map +1 -1
  48. package/esm/utils/compute_omero-shared.d.ts +7 -0
  49. package/esm/utils/compute_omero-shared.d.ts.map +1 -1
  50. package/esm/utils/compute_omero-shared.js.map +1 -1
  51. package/esm/utils/compute_omero.d.ts +1 -1
  52. package/esm/utils/compute_omero.d.ts.map +1 -1
  53. package/esm/utils/compute_omero.js +7 -63
  54. package/esm/utils/compute_omero.js.map +1 -1
  55. package/esm/utils/worker_pool.d.ts +15 -1
  56. package/esm/utils/worker_pool.d.ts.map +1 -1
  57. package/esm/utils/worker_pool.js +7 -18
  58. package/esm/utils/worker_pool.js.map +1 -1
  59. 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
- await writeImage(rootGroup, image, dataset.path);
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":"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"}
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>): Promise<NgffImage[]>;
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":"AAgBA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AA86BnD;;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,GAClD,OAAO,CAAC,SAAS,EAAE,CAAC,CAyHtB"}
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>): Promise<NgffImage[]>;
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":"AAqBA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AA86BnD;;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,GAClD,OAAO,CAAC,SAAS,EAAE,CAAC,CAyHtB"}
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"}