@fideus-labs/ngff-zarr 0.2.8 → 0.3.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 +3 -3
- package/esm/browser-mod.d.ts.map +1 -1
- package/esm/browser-mod.js +3 -4
- package/esm/browser-mod.js.map +1 -1
- package/esm/io/from_ngff_zarr.d.ts.map +1 -1
- package/esm/io/from_ngff_zarr.js +34 -116
- package/esm/io/from_ngff_zarr.js.map +1 -1
- package/esm/io/rfc9_zip.d.ts +80 -0
- package/esm/io/rfc9_zip.d.ts.map +1 -0
- package/esm/io/rfc9_zip.js +337 -0
- package/esm/io/rfc9_zip.js.map +1 -0
- package/esm/io/to_ngff_zarr-browser.d.ts +26 -0
- package/esm/io/to_ngff_zarr-browser.d.ts.map +1 -1
- package/esm/io/to_ngff_zarr-browser.js +37 -6
- package/esm/io/to_ngff_zarr-browser.js.map +1 -1
- package/esm/io/to_ngff_zarr.d.ts +76 -0
- package/esm/io/to_ngff_zarr.d.ts.map +1 -1
- package/esm/io/to_ngff_zarr.js +129 -7
- package/esm/io/to_ngff_zarr.js.map +1 -1
- package/esm/io/to_ngff_zarr_ozx_common.d.ts +51 -0
- package/esm/io/to_ngff_zarr_ozx_common.d.ts.map +1 -0
- package/esm/io/to_ngff_zarr_ozx_common.js +126 -0
- package/esm/io/to_ngff_zarr_ozx_common.js.map +1 -0
- package/esm/methods/itkwasm-browser.d.ts.map +1 -1
- package/esm/methods/itkwasm-browser.js +262 -4
- package/esm/methods/itkwasm-browser.js.map +1 -1
- package/esm/methods/itkwasm-node.d.ts.map +1 -1
- package/esm/methods/itkwasm-node.js +262 -4
- package/esm/methods/itkwasm-node.js.map +1 -1
- package/esm/methods/itkwasm-shared.d.ts +6 -0
- package/esm/methods/itkwasm-shared.d.ts.map +1 -1
- package/esm/methods/itkwasm-shared.js +6 -0
- package/esm/methods/itkwasm-shared.js.map +1 -1
- package/esm/mod.d.ts +5 -0
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +5 -0
- package/esm/mod.js.map +1 -1
- package/esm/process/to_multiscales-shared.d.ts.map +1 -1
- package/esm/process/to_multiscales-shared.js +3 -2
- package/esm/process/to_multiscales-shared.js.map +1 -1
- package/esm/types/supported_versions.d.ts +20 -0
- package/esm/types/supported_versions.d.ts.map +1 -0
- package/esm/types/supported_versions.js +31 -0
- package/esm/types/supported_versions.js.map +1 -0
- package/esm/types/zarr_metadata.d.ts +43 -1
- package/esm/types/zarr_metadata.d.ts.map +1 -1
- package/esm/types/zarr_metadata.js +40 -0
- package/esm/types/zarr_metadata.js.map +1 -1
- package/esm/utils/factory.d.ts +3 -2
- package/esm/utils/factory.d.ts.map +1 -1
- package/esm/utils/factory.js +6 -2
- package/esm/utils/factory.js.map +1 -1
- package/esm/utils/from_zarr_attrs.d.ts +21 -0
- package/esm/utils/from_zarr_attrs.d.ts.map +1 -0
- package/esm/utils/from_zarr_attrs.js +326 -0
- package/esm/utils/from_zarr_attrs.js.map +1 -0
- package/esm/utils/parse_metadata.d.ts +27 -0
- package/esm/utils/parse_metadata.d.ts.map +1 -0
- package/esm/utils/parse_metadata.js +138 -0
- package/esm/utils/parse_metadata.js.map +1 -0
- package/esm/utils/rfc4_validation.d.ts +20 -0
- package/esm/utils/rfc4_validation.d.ts.map +1 -0
- package/esm/utils/rfc4_validation.js +98 -0
- package/esm/utils/rfc4_validation.js.map +1 -0
- package/package.json +2 -2
package/esm/io/to_ngff_zarr.js
CHANGED
|
@@ -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:
|
|
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;
|
|
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"}
|