@fideus-labs/ngff-zarr 0.2.8 → 0.4.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 (69) hide show
  1. package/esm/browser-mod.d.ts +5 -3
  2. package/esm/browser-mod.d.ts.map +1 -1
  3. package/esm/browser-mod.js +4 -4
  4. package/esm/browser-mod.js.map +1 -1
  5. package/esm/io/from_ngff_zarr.d.ts.map +1 -1
  6. package/esm/io/from_ngff_zarr.js +34 -116
  7. package/esm/io/from_ngff_zarr.js.map +1 -1
  8. package/esm/io/rfc9_zip.d.ts +80 -0
  9. package/esm/io/rfc9_zip.d.ts.map +1 -0
  10. package/esm/io/rfc9_zip.js +337 -0
  11. package/esm/io/rfc9_zip.js.map +1 -0
  12. package/esm/io/to_ngff_zarr-browser.d.ts +26 -0
  13. package/esm/io/to_ngff_zarr-browser.d.ts.map +1 -1
  14. package/esm/io/to_ngff_zarr-browser.js +37 -6
  15. package/esm/io/to_ngff_zarr-browser.js.map +1 -1
  16. package/esm/io/to_ngff_zarr.d.ts +76 -0
  17. package/esm/io/to_ngff_zarr.d.ts.map +1 -1
  18. package/esm/io/to_ngff_zarr.js +129 -7
  19. package/esm/io/to_ngff_zarr.js.map +1 -1
  20. package/esm/io/to_ngff_zarr_ozx_common.d.ts +51 -0
  21. package/esm/io/to_ngff_zarr_ozx_common.d.ts.map +1 -0
  22. package/esm/io/to_ngff_zarr_ozx_common.js +126 -0
  23. package/esm/io/to_ngff_zarr_ozx_common.js.map +1 -0
  24. package/esm/methods/itkwasm-browser.d.ts.map +1 -1
  25. package/esm/methods/itkwasm-browser.js +262 -4
  26. package/esm/methods/itkwasm-browser.js.map +1 -1
  27. package/esm/methods/itkwasm-node.d.ts.map +1 -1
  28. package/esm/methods/itkwasm-node.js +262 -4
  29. package/esm/methods/itkwasm-node.js.map +1 -1
  30. package/esm/methods/itkwasm-shared.d.ts +6 -0
  31. package/esm/methods/itkwasm-shared.d.ts.map +1 -1
  32. package/esm/methods/itkwasm-shared.js +6 -0
  33. package/esm/methods/itkwasm-shared.js.map +1 -1
  34. package/esm/mod.d.ts +7 -0
  35. package/esm/mod.d.ts.map +1 -1
  36. package/esm/mod.js +6 -0
  37. package/esm/mod.js.map +1 -1
  38. package/esm/process/to_multiscales-shared.d.ts.map +1 -1
  39. package/esm/process/to_multiscales-shared.js +3 -2
  40. package/esm/process/to_multiscales-shared.js.map +1 -1
  41. package/esm/types/supported_versions.d.ts +20 -0
  42. package/esm/types/supported_versions.d.ts.map +1 -0
  43. package/esm/types/supported_versions.js +31 -0
  44. package/esm/types/supported_versions.js.map +1 -0
  45. package/esm/types/zarr_metadata.d.ts +43 -1
  46. package/esm/types/zarr_metadata.d.ts.map +1 -1
  47. package/esm/types/zarr_metadata.js +40 -0
  48. package/esm/types/zarr_metadata.js.map +1 -1
  49. package/esm/utils/compute_omero.d.ts +89 -0
  50. package/esm/utils/compute_omero.d.ts.map +1 -0
  51. package/esm/utils/compute_omero.js +541 -0
  52. package/esm/utils/compute_omero.js.map +1 -0
  53. package/esm/utils/factory.d.ts +3 -2
  54. package/esm/utils/factory.d.ts.map +1 -1
  55. package/esm/utils/factory.js +6 -2
  56. package/esm/utils/factory.js.map +1 -1
  57. package/esm/utils/from_zarr_attrs.d.ts +21 -0
  58. package/esm/utils/from_zarr_attrs.d.ts.map +1 -0
  59. package/esm/utils/from_zarr_attrs.js +326 -0
  60. package/esm/utils/from_zarr_attrs.js.map +1 -0
  61. package/esm/utils/parse_metadata.d.ts +27 -0
  62. package/esm/utils/parse_metadata.d.ts.map +1 -0
  63. package/esm/utils/parse_metadata.js +138 -0
  64. package/esm/utils/parse_metadata.js.map +1 -0
  65. package/esm/utils/rfc4_validation.d.ts +20 -0
  66. package/esm/utils/rfc4_validation.d.ts.map +1 -0
  67. package/esm/utils/rfc4_validation.js +98 -0
  68. package/esm/utils/rfc4_validation.js.map +1 -0
  69. package/package.json +2 -2
@@ -2,9 +2,56 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  import * as zarr from "zarrita";
4
4
  import { createQueue } from "../utils/create_queue.js";
5
+ import { isOzxPath, memoryStoreToZip } from "./rfc9_zip.js";
6
+ import { processAxesForRfcs, writeMultiscalesToMemoryStore, } from "./to_ngff_zarr_ozx_common.js";
7
+ /**
8
+ * Write multiscales data to an OME-Zarr store.
9
+ *
10
+ * This function automatically detects .ozx paths (RFC-9 zipped OME-Zarr format)
11
+ * and handles them appropriately. For .ozx files:
12
+ * - Version 0.5 is always used when the version option is omitted (undefined)
13
+ * - Sharding (chunksPerShard) is not supported
14
+ * - An error is thrown if you explicitly specify a version other than "0.5"
15
+ *
16
+ * @param store - File path, MemoryStore, or FetchStore to write to
17
+ * @param multiscales - Multiscales data to write
18
+ * @param options - Writing options
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * // Writing to .ozx file - version 0.5 is used automatically
23
+ * await toNgffZarr("output.ozx", multiscales);
24
+ *
25
+ * // Writing to regular zarr with version 0.4 (default)
26
+ * await toNgffZarr("output.zarr", multiscales);
27
+ *
28
+ * // Writing to regular zarr with version 0.5
29
+ * await toNgffZarr("output.zarr", multiscales, { version: "0.5" });
30
+ * ```
31
+ */
5
32
  export async function toNgffZarr(store, multiscales, options = {}) {
6
33
  const _overwrite = options.overwrite ?? true;
7
34
  const _version = options.version ?? "0.4";
35
+ const enabledRfcs = options.enabledRfcs;
36
+ // Handle .ozx paths (RFC-9)
37
+ if (typeof store === "string" && isOzxPath(store)) {
38
+ // Validate version - RFC-9 requires version 0.5
39
+ // If no version is specified (undefined), we silently default to 0.5
40
+ // If a version is explicitly specified and it's not 0.5, throw an error
41
+ if (options.version !== undefined && options.version !== "0.5") {
42
+ throw new Error("RFC-9 (.ozx) requires OME-Zarr version 0.5. " +
43
+ `Got version "${options.version}". ` +
44
+ "For .ozx files, either omit the version option or explicitly set it to '0.5'.");
45
+ }
46
+ // Throw error if chunksPerShard is specified
47
+ if (options.chunksPerShard !== undefined) {
48
+ throw new Error("RFC-9 (.ozx) does not support sharding (chunksPerShard). " +
49
+ "zarrita does not currently support writing shards.");
50
+ }
51
+ // Delegate to toNgffZarrOzx (which always uses version 0.5)
52
+ await toNgffZarrOzx(store, multiscales, { enabledRfcs });
53
+ return;
54
+ }
8
55
  try {
9
56
  // Determine the appropriate store type based on the path
10
57
  let _resolvedStore; // Use unknown for FileSystemStore since we import it dynamically
@@ -35,11 +82,13 @@ export async function toNgffZarr(store, multiscales, options = {}) {
35
82
  }
36
83
  // Create root location and group with zarrita v0.5.2 API
37
84
  const root = zarr.root(_resolvedStore);
85
+ // Process axes - filter orientation based on enabledRfcs
86
+ const processedAxes = processAxesForRfcs(multiscales.metadata.axes, enabledRfcs);
38
87
  // Prepare multiscales metadata
39
88
  const multiscalesMetadata = {
40
89
  version: _version,
41
90
  name: multiscales.metadata.name,
42
- axes: multiscales.metadata.axes,
91
+ axes: processedAxes,
43
92
  datasets: multiscales.metadata.datasets,
44
93
  ...(multiscales.metadata.coordinateTransformations && {
45
94
  coordinateTransformations: multiscales.metadata.coordinateTransformations,
@@ -52,22 +101,24 @@ export async function toNgffZarr(store, multiscales, options = {}) {
52
101
  }),
53
102
  };
54
103
  // Create the root group with OME-Zarr metadata
55
- // For version 0.5, wrap metadata under "ome" property
56
- // For version 0.4, place multiscales directly at root
104
+ // For version 0.5, wrap metadata under "ome" property (including omero)
105
+ // For version 0.4, place multiscales and omero directly at root
57
106
  const attributes = _version === "0.5"
58
107
  ? {
59
108
  ome: {
60
109
  version: _version,
61
110
  multiscales: [multiscalesMetadata],
111
+ ...(multiscales.metadata.omero && {
112
+ omero: multiscales.metadata.omero,
113
+ }),
62
114
  },
63
115
  }
64
116
  : {
65
117
  multiscales: [multiscalesMetadata],
118
+ ...(multiscales.metadata.omero && {
119
+ omero: multiscales.metadata.omero,
120
+ }),
66
121
  };
67
- // Add OMERO metadata at root level if present (both versions)
68
- if (multiscales.metadata.omero) {
69
- attributes.omero = multiscales.metadata.omero;
70
- }
71
122
  const rootGroup = await zarr.create(root, { attributes });
72
123
  // Write each image in the multiscales
73
124
  for (let i = 0; i < multiscales.images.length; i++) {
@@ -326,4 +377,75 @@ function calculateChunkStride(chunkShape) {
326
377
  }
327
378
  return stride;
328
379
  }
380
+ /**
381
+ * Write OME-Zarr to .ozx ZIP file (RFC-9).
382
+ *
383
+ * This function creates an OME-Zarr hierarchy in memory and then writes it
384
+ * to a ZIP file following RFC-9 specification:
385
+ * - Root-level zarr.json is the first entry
386
+ * - Other zarr.json files follow in breadth-first order
387
+ * - ZIP-level compression is disabled (ZIP_STORED)
388
+ * - A comment with OME-Zarr version is added
389
+ *
390
+ * Note: Sharding is NOT supported because zarrita does not currently
391
+ * support writing shards. If you need sharding, use the Python implementation.
392
+ *
393
+ * @param path - Output .ozx file path
394
+ * @param multiscales - Multiscales data to write
395
+ * @param options - Options for writing
396
+ * @throws Error if called in a browser environment (use toNgffZarrOzxData instead)
397
+ *
398
+ * @see https://ngff.openmicroscopy.org/rfc/9/index.html
399
+ */
400
+ export async function toNgffZarrOzx(path, multiscales, options = {}) {
401
+ // Check for browser environment
402
+ if (typeof window !== "undefined") {
403
+ throw new Error("toNgffZarrOzx cannot write files in browser environments. " +
404
+ "Use toNgffZarrOzxData to get the ZIP data as Uint8Array.");
405
+ }
406
+ // Get the ZIP data
407
+ const zipData = await toNgffZarrOzxData(multiscales, options);
408
+ // Write to file using fs module (works in both Node.js and Deno)
409
+ try {
410
+ // Use dynamic import for Node.js fs module
411
+ // Deno also supports node:fs/promises via its Node compatibility layer
412
+ const { writeFile } = await import("node:fs/promises");
413
+ await writeFile(path, zipData);
414
+ }
415
+ catch (error) {
416
+ throw new Error(`Failed to write .ozx file: ${error instanceof Error ? error.message : String(error)}`);
417
+ }
418
+ }
419
+ /**
420
+ * Create OME-Zarr .ozx ZIP data (RFC-9).
421
+ *
422
+ * This function creates an OME-Zarr hierarchy in memory and returns
423
+ * the ZIP data as a Uint8Array. Useful for browser environments or
424
+ * when you need the raw ZIP data.
425
+ *
426
+ * @param multiscales - Multiscales data to write
427
+ * @param options - Options for writing
428
+ * @returns ZIP file data as Uint8Array
429
+ *
430
+ * @see https://ngff.openmicroscopy.org/rfc/9/index.html
431
+ */
432
+ export async function toNgffZarrOzxData(multiscales, options = {}) {
433
+ const enabledRfcs = options.enabledRfcs;
434
+ // Create a memory store to hold the zarr data
435
+ const memoryStore = new Map();
436
+ // Write to the memory store using existing toNgffZarr logic
437
+ // but we need to inline the core logic since toNgffZarr would
438
+ // try to detect .ozx again
439
+ await _writeToMemoryStore(memoryStore, multiscales, enabledRfcs);
440
+ // Convert the memory store to ZIP data
441
+ const zipData = memoryStoreToZip(memoryStore, { version: "0.5" });
442
+ return zipData;
443
+ }
444
+ /**
445
+ * Internal function to write multiscales to a memory store.
446
+ * Used by toNgffZarrOzxData to avoid recursion with toNgffZarr.
447
+ */
448
+ async function _writeToMemoryStore(store, multiscales, enabledRfcs) {
449
+ await writeMultiscalesToMemoryStore(store, multiscales, enabledRfcs, _writeImage);
450
+ }
329
451
  //# sourceMappingURL=to_ngff_zarr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"to_ngff_zarr.js","sourceRoot":"","sources":["../../src/io/to_ngff_zarr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"to_ngff_zarr.js","sourceRoot":"","sources":["../../src/io/to_ngff_zarr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Shared internal utilities for RFC-9 (.ozx) writing
3
+ * Used by both Node and browser implementations to avoid code duplication
4
+ */
5
+ import * as zarr from "zarrita";
6
+ import type { Multiscales } from "../types/multiscales.js";
7
+ import type { NgffImage } from "../types/ngff_image.js";
8
+ import type { Axis } from "../types/zarr_metadata.js";
9
+ import type { MemoryStore } from "./rfc9_zip.js";
10
+ /**
11
+ * Process axes for RFC enablement.
12
+ * If RFC 4 is enabled, include orientation metadata.
13
+ * If RFC 4 is not enabled, strip orientation from axes.
14
+ */
15
+ export declare function processAxesForRfcs(axes: Axis[], enabledRfcs?: number[]): Record<string, unknown>[];
16
+ /**
17
+ * Validate that the Multiscales metadata version is compatible with RFC-9.
18
+ * RFC-9 always uses version 0.5.
19
+ *
20
+ * @param multiscales - Multiscales object to validate
21
+ * @throws Error if metadata.version is defined and not "0.5"
22
+ */
23
+ export declare function validateRfc9Version(multiscales: Multiscales): void;
24
+ /**
25
+ * Prepare multiscales metadata for RFC-9 export.
26
+ * This includes processing axes for RFC enablement and setting version to 0.5.
27
+ *
28
+ * @param multiscales - Source multiscales data
29
+ * @param enabledRfcs - Optional list of RFC numbers to enable
30
+ * @returns Prepared metadata object
31
+ */
32
+ export declare function prepareRfc9Metadata(multiscales: Multiscales, enabledRfcs?: number[]): Record<string, unknown>;
33
+ /**
34
+ * Create root group attributes for RFC-9 export.
35
+ *
36
+ * @param multiscalesMetadata - Prepared multiscales metadata
37
+ * @param multiscales - Original multiscales (for OMERO metadata)
38
+ * @returns Attributes object for root group
39
+ */
40
+ export declare function createRfc9RootAttributes(multiscalesMetadata: Record<string, unknown>, multiscales: Multiscales): Record<string, unknown>;
41
+ /**
42
+ * Write multiscales data to a memory store for RFC-9 export.
43
+ * This is the shared implementation used by both Node and browser versions.
44
+ *
45
+ * @param store - Memory store to write to
46
+ * @param multiscales - Multiscales data to write
47
+ * @param enabledRfcs - Optional list of RFC numbers to enable
48
+ * @param writeImage - Function to write individual images
49
+ */
50
+ export declare function writeMultiscalesToMemoryStore(store: MemoryStore, multiscales: Multiscales, enabledRfcs: number[] | undefined, writeImage: (group: zarr.Group<MemoryStore>, image: NgffImage, path: string) => Promise<void>): Promise<void>;
51
+ //# sourceMappingURL=to_ngff_zarr_ozx_common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to_ngff_zarr_ozx_common.d.ts","sourceRoot":"","sources":["../../src/io/to_ngff_zarr_ozx_common.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EAAE,EACZ,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAwB3B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAOlE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,WAAW,EACxB,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwBzB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,WAAW,EAAE,WAAW,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,EACjC,UAAU,EAAE,CACV,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAC9B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,IAAI,CAAC,GACjB,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
@@ -0,0 +1,126 @@
1
+ // SPDX-FileCopyrightText: Copyright (c) Fideus Labs LLC
2
+ // SPDX-License-Identifier: MIT
3
+ /**
4
+ * Shared internal utilities for RFC-9 (.ozx) writing
5
+ * Used by both Node and browser implementations to avoid code duplication
6
+ */
7
+ import * as zarr from "zarrita";
8
+ import { isRfc4Enabled } from "../types/rfc4.js";
9
+ /**
10
+ * Process axes for RFC enablement.
11
+ * If RFC 4 is enabled, include orientation metadata.
12
+ * If RFC 4 is not enabled, strip orientation from axes.
13
+ */
14
+ export function processAxesForRfcs(axes, enabledRfcs) {
15
+ const rfc4Enabled = isRfc4Enabled(enabledRfcs);
16
+ return axes.map((axis) => {
17
+ const result = {
18
+ name: axis.name,
19
+ type: axis.type,
20
+ };
21
+ // Include unit if present
22
+ if (axis.unit !== undefined) {
23
+ result.unit = axis.unit;
24
+ }
25
+ // Include orientation only if RFC 4 is enabled and orientation exists
26
+ if (rfc4Enabled && axis.orientation) {
27
+ result.orientation = {
28
+ type: axis.orientation.type,
29
+ value: axis.orientation.value,
30
+ };
31
+ }
32
+ return result;
33
+ });
34
+ }
35
+ /**
36
+ * Validate that the Multiscales metadata version is compatible with RFC-9.
37
+ * RFC-9 always uses version 0.5.
38
+ *
39
+ * @param multiscales - Multiscales object to validate
40
+ * @throws Error if metadata.version is defined and not "0.5"
41
+ */
42
+ export function validateRfc9Version(multiscales) {
43
+ const providedVersion = multiscales.metadata.version;
44
+ if (providedVersion !== undefined && providedVersion !== "0.5") {
45
+ throw new Error(`Inconsistent NGFF version in Multiscales metadata: expected "0.5" for RFC-9 OZX export, but got "${providedVersion}".`);
46
+ }
47
+ }
48
+ /**
49
+ * Prepare multiscales metadata for RFC-9 export.
50
+ * This includes processing axes for RFC enablement and setting version to 0.5.
51
+ *
52
+ * @param multiscales - Source multiscales data
53
+ * @param enabledRfcs - Optional list of RFC numbers to enable
54
+ * @returns Prepared metadata object
55
+ */
56
+ export function prepareRfc9Metadata(multiscales, enabledRfcs) {
57
+ const _version = "0.5";
58
+ // Process axes - filter orientation based on enabledRfcs
59
+ const processedAxes = processAxesForRfcs(multiscales.metadata.axes, enabledRfcs);
60
+ return {
61
+ version: _version,
62
+ name: multiscales.metadata.name,
63
+ axes: processedAxes,
64
+ datasets: multiscales.metadata.datasets,
65
+ ...(multiscales.metadata.coordinateTransformations && {
66
+ coordinateTransformations: multiscales.metadata.coordinateTransformations,
67
+ }),
68
+ ...(multiscales.metadata.type && {
69
+ type: multiscales.metadata.type,
70
+ }),
71
+ ...(multiscales.metadata.metadata && {
72
+ metadata: multiscales.metadata.metadata,
73
+ }),
74
+ };
75
+ }
76
+ /**
77
+ * Create root group attributes for RFC-9 export.
78
+ *
79
+ * @param multiscalesMetadata - Prepared multiscales metadata
80
+ * @param multiscales - Original multiscales (for OMERO metadata)
81
+ * @returns Attributes object for root group
82
+ */
83
+ export function createRfc9RootAttributes(multiscalesMetadata, multiscales) {
84
+ const _version = "0.5";
85
+ const attributes = {
86
+ ome: {
87
+ version: _version,
88
+ multiscales: [multiscalesMetadata],
89
+ },
90
+ };
91
+ // Add OMERO metadata at root level if present
92
+ if (multiscales.metadata.omero) {
93
+ attributes.omero = multiscales.metadata.omero;
94
+ }
95
+ return attributes;
96
+ }
97
+ /**
98
+ * Write multiscales data to a memory store for RFC-9 export.
99
+ * This is the shared implementation used by both Node and browser versions.
100
+ *
101
+ * @param store - Memory store to write to
102
+ * @param multiscales - Multiscales data to write
103
+ * @param enabledRfcs - Optional list of RFC numbers to enable
104
+ * @param writeImage - Function to write individual images
105
+ */
106
+ export async function writeMultiscalesToMemoryStore(store, multiscales, enabledRfcs, writeImage) {
107
+ // Validate version
108
+ validateRfc9Version(multiscales);
109
+ // Create root location and group with zarrita API
110
+ const root = zarr.root(store);
111
+ // Prepare metadata
112
+ const multiscalesMetadata = prepareRfc9Metadata(multiscales, enabledRfcs);
113
+ // Create root attributes
114
+ const attributes = createRfc9RootAttributes(multiscalesMetadata, multiscales);
115
+ const rootGroup = await zarr.create(root, { attributes });
116
+ // Write each image in the multiscales
117
+ for (let i = 0; i < multiscales.images.length; i++) {
118
+ const image = multiscales.images[i];
119
+ const dataset = multiscales.metadata.datasets[i];
120
+ if (!dataset) {
121
+ throw new Error(`No dataset configuration found for image ${i}`);
122
+ }
123
+ await writeImage(rootGroup, image, dataset.path);
124
+ }
125
+ }
126
+ //# sourceMappingURL=to_ngff_zarr_ozx_common.js.map
@@ -0,0 +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 +1 @@
1
- {"version":3,"file":"itkwasm-browser.d.ts","sourceRoot":"","sources":["../../src/methods/itkwasm-browser.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AA2fnD;;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,GACnD,OAAO,CAAC,SAAS,EAAE,CAAC,CAsHtB"}
1
+ {"version":3,"file":"itkwasm-browser.d.ts","sourceRoot":"","sources":["../../src/methods/itkwasm-browser.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AA40BnD;;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,GACnD,OAAO,CAAC,SAAS,EAAE,CAAC,CAsHtB"}