@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
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
// SPDX-FileCopyrightText: Copyright (c) Fideus Labs LLC
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
/**
|
|
4
|
+
* RFC-9: Zipped OME-Zarr (.ozx) support
|
|
5
|
+
*
|
|
6
|
+
* This module provides utilities for writing OME-Zarr hierarchies
|
|
7
|
+
* to ZIP archives according to RFC-9 specification.
|
|
8
|
+
*
|
|
9
|
+
* @see https://ngff.openmicroscopy.org/rfc/9/index.html
|
|
10
|
+
*/
|
|
11
|
+
import { zipSync } from "fflate";
|
|
12
|
+
/**
|
|
13
|
+
* Check if a path refers to a .ozx file.
|
|
14
|
+
*
|
|
15
|
+
* @param path - Path to check
|
|
16
|
+
* @returns True if path ends with .ozx extension
|
|
17
|
+
*/
|
|
18
|
+
export function isOzxPath(path) {
|
|
19
|
+
return path.endsWith(".ozx");
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Order files for RFC-9 compliance.
|
|
23
|
+
*
|
|
24
|
+
* According to RFC-9:
|
|
25
|
+
* - Root-level zarr.json must be the first entry
|
|
26
|
+
* - Other zarr.json files should follow in breadth-first order
|
|
27
|
+
* - Data files come after all zarr.json files
|
|
28
|
+
*
|
|
29
|
+
* @param keys - Array of file paths from the store
|
|
30
|
+
* @returns Ordered array of file paths
|
|
31
|
+
*/
|
|
32
|
+
export function orderFilesForRfc9(keys) {
|
|
33
|
+
const zarrJsons = keys.filter((k) => k.endsWith("zarr.json"));
|
|
34
|
+
const others = keys.filter((k) => !k.endsWith("zarr.json"));
|
|
35
|
+
// Root zarr.json first
|
|
36
|
+
const rootIdx = zarrJsons.indexOf("zarr.json");
|
|
37
|
+
if (rootIdx > 0) {
|
|
38
|
+
zarrJsons.splice(rootIdx, 1);
|
|
39
|
+
zarrJsons.unshift("zarr.json");
|
|
40
|
+
}
|
|
41
|
+
// Sort by depth for breadth-first order
|
|
42
|
+
zarrJsons.sort((a, b) => {
|
|
43
|
+
if (a === "zarr.json")
|
|
44
|
+
return -1;
|
|
45
|
+
if (b === "zarr.json")
|
|
46
|
+
return 1;
|
|
47
|
+
return a.split("/").length - b.split("/").length;
|
|
48
|
+
});
|
|
49
|
+
return [...zarrJsons, ...others.sort()];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Add a ZIP comment to existing ZIP data.
|
|
53
|
+
*
|
|
54
|
+
* fflate doesn't support ZIP comments natively, so we manually
|
|
55
|
+
* modify the End of Central Directory (EOCD) record to add one.
|
|
56
|
+
*
|
|
57
|
+
* @param zipData - Original ZIP data
|
|
58
|
+
* @param comment - Comment string to add (UTF-8)
|
|
59
|
+
* @returns New ZIP data with comment
|
|
60
|
+
*/
|
|
61
|
+
function addZipComment(zipData, comment) {
|
|
62
|
+
const commentBytes = new TextEncoder().encode(comment);
|
|
63
|
+
if (commentBytes.length > 65535) {
|
|
64
|
+
throw new Error("ZIP comment too long (max 65535 bytes)");
|
|
65
|
+
}
|
|
66
|
+
// Find EOCD signature (0x06054b50) searching from end
|
|
67
|
+
// EOCD is at least 22 bytes, so start searching from length - 22
|
|
68
|
+
let eocdOffset = -1;
|
|
69
|
+
for (let i = zipData.length - 22; i >= 0; i--) {
|
|
70
|
+
if (zipData[i] === 0x50 &&
|
|
71
|
+
zipData[i + 1] === 0x4b &&
|
|
72
|
+
zipData[i + 2] === 0x05 &&
|
|
73
|
+
zipData[i + 3] === 0x06) {
|
|
74
|
+
eocdOffset = i;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (eocdOffset === -1) {
|
|
79
|
+
throw new Error("Invalid ZIP: End of Central Directory not found");
|
|
80
|
+
}
|
|
81
|
+
// Note: We could read current comment length at EOCD + 20, but we
|
|
82
|
+
// always replace any existing comment, so we just need the EOCD position.
|
|
83
|
+
// Calculate the size of ZIP without the current comment
|
|
84
|
+
const zipWithoutComment = eocdOffset + 22;
|
|
85
|
+
// Create new array: ZIP without old comment + new comment
|
|
86
|
+
const result = new Uint8Array(zipWithoutComment + commentBytes.length);
|
|
87
|
+
// Copy ZIP data up to and including EOCD (excluding old comment)
|
|
88
|
+
result.set(zipData.subarray(0, zipWithoutComment));
|
|
89
|
+
// Update comment length field (little-endian at EOCD + 20)
|
|
90
|
+
result[eocdOffset + 20] = commentBytes.length & 0xff;
|
|
91
|
+
result[eocdOffset + 21] = (commentBytes.length >> 8) & 0xff;
|
|
92
|
+
// Append new comment
|
|
93
|
+
result.set(commentBytes, zipWithoutComment);
|
|
94
|
+
return result;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Read the OME-Zarr version from ZIP comment.
|
|
98
|
+
*
|
|
99
|
+
* @param zipData - ZIP file data
|
|
100
|
+
* @returns OME-Zarr version string if found, null otherwise
|
|
101
|
+
*/
|
|
102
|
+
export function readOzxVersion(zipData) {
|
|
103
|
+
// Find EOCD signature searching from end
|
|
104
|
+
let eocdOffset = -1;
|
|
105
|
+
for (let i = zipData.length - 22; i >= 0; i--) {
|
|
106
|
+
if (zipData[i] === 0x50 &&
|
|
107
|
+
zipData[i + 1] === 0x4b &&
|
|
108
|
+
zipData[i + 2] === 0x05 &&
|
|
109
|
+
zipData[i + 3] === 0x06) {
|
|
110
|
+
eocdOffset = i;
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (eocdOffset === -1) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
// Get comment length (little-endian uint16 at EOCD + 20)
|
|
118
|
+
const commentLength = zipData[eocdOffset + 20] |
|
|
119
|
+
(zipData[eocdOffset + 21] << 8);
|
|
120
|
+
if (commentLength === 0) {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
// Extract comment bytes
|
|
124
|
+
const commentStart = eocdOffset + 22;
|
|
125
|
+
const commentBytes = zipData.subarray(commentStart, commentStart + commentLength);
|
|
126
|
+
try {
|
|
127
|
+
const commentStr = new TextDecoder("utf-8").decode(commentBytes);
|
|
128
|
+
const commentObj = JSON.parse(commentStr);
|
|
129
|
+
if (commentObj?.ome?.version) {
|
|
130
|
+
return commentObj.ome.version;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
// Invalid JSON or encoding
|
|
135
|
+
}
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Read the jsonFirst flag from ZIP comment.
|
|
140
|
+
*
|
|
141
|
+
* The jsonFirst flag indicates that zarr.json files are ordered
|
|
142
|
+
* breadth-first in the central directory and precede other content.
|
|
143
|
+
*
|
|
144
|
+
* @param zipData - ZIP file data
|
|
145
|
+
* @returns true if jsonFirst is set to true in the ZIP comment, false otherwise
|
|
146
|
+
*/
|
|
147
|
+
export function readOzxJsonFirst(zipData) {
|
|
148
|
+
// Find EOCD signature searching from end
|
|
149
|
+
let eocdOffset = -1;
|
|
150
|
+
for (let i = zipData.length - 22; i >= 0; i--) {
|
|
151
|
+
if (zipData[i] === 0x50 &&
|
|
152
|
+
zipData[i + 1] === 0x4b &&
|
|
153
|
+
zipData[i + 2] === 0x05 &&
|
|
154
|
+
zipData[i + 3] === 0x06) {
|
|
155
|
+
eocdOffset = i;
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (eocdOffset === -1) {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
// Get comment length (little-endian uint16 at EOCD + 20)
|
|
163
|
+
const commentLength = zipData[eocdOffset + 20] |
|
|
164
|
+
(zipData[eocdOffset + 21] << 8);
|
|
165
|
+
if (commentLength === 0) {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
// Extract comment bytes
|
|
169
|
+
const commentStart = eocdOffset + 22;
|
|
170
|
+
const commentBytes = zipData.subarray(commentStart, commentStart + commentLength);
|
|
171
|
+
try {
|
|
172
|
+
const commentStr = new TextDecoder("utf-8").decode(commentBytes);
|
|
173
|
+
const commentObj = JSON.parse(commentStr);
|
|
174
|
+
if (commentObj?.ome?.zipFile?.centralDirectory?.jsonFirst === true) {
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
// Invalid JSON or encoding
|
|
180
|
+
}
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Check if a file in the ZIP uses compression.
|
|
185
|
+
*
|
|
186
|
+
* @param zipData - ZIP file data
|
|
187
|
+
* @param filename - Name of the file to check
|
|
188
|
+
* @returns Compression method (0 = stored, 8 = deflate, etc.)
|
|
189
|
+
*/
|
|
190
|
+
export function getZipFileCompressionMethod(zipData, filename) {
|
|
191
|
+
// Search for local file header with matching filename
|
|
192
|
+
const filenameBytes = new TextEncoder().encode(filename);
|
|
193
|
+
let offset = 0;
|
|
194
|
+
while (offset < zipData.length - 30) {
|
|
195
|
+
// Check for local file header signature (0x04034b50)
|
|
196
|
+
if (zipData[offset] === 0x50 &&
|
|
197
|
+
zipData[offset + 1] === 0x4b &&
|
|
198
|
+
zipData[offset + 2] === 0x03 &&
|
|
199
|
+
zipData[offset + 3] === 0x04) {
|
|
200
|
+
// Get filename length (little-endian at offset + 26)
|
|
201
|
+
const nameLength = zipData[offset + 26] | (zipData[offset + 27] << 8);
|
|
202
|
+
// Get extra field length (little-endian at offset + 28)
|
|
203
|
+
const extraLength = zipData[offset + 28] | (zipData[offset + 29] << 8);
|
|
204
|
+
// Extract filename
|
|
205
|
+
const nameStart = offset + 30;
|
|
206
|
+
const nameEnd = nameStart + nameLength;
|
|
207
|
+
if (nameEnd <= zipData.length) {
|
|
208
|
+
const nameBytes = zipData.subarray(nameStart, nameEnd);
|
|
209
|
+
// Compare filenames
|
|
210
|
+
if (nameBytes.length === filenameBytes.length &&
|
|
211
|
+
nameBytes.every((b, i) => b === filenameBytes[i])) {
|
|
212
|
+
// Found the file, return compression method (at offset + 8)
|
|
213
|
+
return zipData[offset + 8] | (zipData[offset + 9] << 8);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
// Get compressed size to skip to next header
|
|
217
|
+
const compressedSize = zipData[offset + 18] |
|
|
218
|
+
(zipData[offset + 19] << 8) |
|
|
219
|
+
(zipData[offset + 20] << 16) |
|
|
220
|
+
(zipData[offset + 21] << 24);
|
|
221
|
+
offset = nameEnd + extraLength + compressedSize;
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
offset++;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Get the list of files in a ZIP archive in order.
|
|
231
|
+
*
|
|
232
|
+
* @param zipData - ZIP file data
|
|
233
|
+
* @returns Array of filenames in the order they appear in the central directory
|
|
234
|
+
*/
|
|
235
|
+
export function getZipFileList(zipData) {
|
|
236
|
+
const files = [];
|
|
237
|
+
// Find EOCD to get central directory location
|
|
238
|
+
let eocdOffset = -1;
|
|
239
|
+
for (let i = zipData.length - 22; i >= 0; i--) {
|
|
240
|
+
if (zipData[i] === 0x50 &&
|
|
241
|
+
zipData[i + 1] === 0x4b &&
|
|
242
|
+
zipData[i + 2] === 0x05 &&
|
|
243
|
+
zipData[i + 3] === 0x06) {
|
|
244
|
+
eocdOffset = i;
|
|
245
|
+
break;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
if (eocdOffset === -1) {
|
|
249
|
+
return files;
|
|
250
|
+
}
|
|
251
|
+
// Get central directory offset (little-endian uint32 at EOCD + 16)
|
|
252
|
+
let cdOffset = zipData[eocdOffset + 16] |
|
|
253
|
+
(zipData[eocdOffset + 17] << 8) |
|
|
254
|
+
(zipData[eocdOffset + 18] << 16) |
|
|
255
|
+
(zipData[eocdOffset + 19] << 24);
|
|
256
|
+
// Get number of entries (little-endian uint16 at EOCD + 10)
|
|
257
|
+
const numEntries = zipData[eocdOffset + 10] | (zipData[eocdOffset + 11] << 8);
|
|
258
|
+
// Parse central directory entries
|
|
259
|
+
for (let i = 0; i < numEntries && cdOffset < eocdOffset; i++) {
|
|
260
|
+
// Check for central directory file header signature (0x02014b50)
|
|
261
|
+
if (zipData[cdOffset] !== 0x50 ||
|
|
262
|
+
zipData[cdOffset + 1] !== 0x4b ||
|
|
263
|
+
zipData[cdOffset + 2] !== 0x01 ||
|
|
264
|
+
zipData[cdOffset + 3] !== 0x02) {
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
267
|
+
// Get filename length (little-endian at offset + 28)
|
|
268
|
+
const nameLength = zipData[cdOffset + 28] | (zipData[cdOffset + 29] << 8);
|
|
269
|
+
// Get extra field length (little-endian at offset + 30)
|
|
270
|
+
const extraLength = zipData[cdOffset + 30] | (zipData[cdOffset + 31] << 8);
|
|
271
|
+
// Get comment length (little-endian at offset + 32)
|
|
272
|
+
const commentLength = zipData[cdOffset + 32] |
|
|
273
|
+
(zipData[cdOffset + 33] << 8);
|
|
274
|
+
// Extract filename
|
|
275
|
+
const nameStart = cdOffset + 46;
|
|
276
|
+
const nameEnd = nameStart + nameLength;
|
|
277
|
+
if (nameEnd <= zipData.length) {
|
|
278
|
+
const filename = new TextDecoder("utf-8").decode(zipData.subarray(nameStart, nameEnd));
|
|
279
|
+
files.push(filename);
|
|
280
|
+
}
|
|
281
|
+
// Move to next entry
|
|
282
|
+
cdOffset = nameEnd + extraLength + commentLength;
|
|
283
|
+
}
|
|
284
|
+
return files;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Normalize a store key by removing leading slashes.
|
|
288
|
+
* zarrita uses leading slashes (e.g., "/zarr.json") but ZIP files
|
|
289
|
+
* should use relative paths (e.g., "zarr.json").
|
|
290
|
+
*/
|
|
291
|
+
function normalizeKey(key) {
|
|
292
|
+
return key.startsWith("/") ? key.slice(1) : key;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Convert a MemoryStore to ZIP data following RFC-9 specification.
|
|
296
|
+
*
|
|
297
|
+
* According to RFC-9:
|
|
298
|
+
* - Root-level zarr.json must be the first entry
|
|
299
|
+
* - Other zarr.json files should follow in breadth-first order
|
|
300
|
+
* - ZIP-level compression should be disabled (ZIP_STORED)
|
|
301
|
+
* - A comment with OME-Zarr version should be added
|
|
302
|
+
*
|
|
303
|
+
* @param store - MemoryStore containing zarr data
|
|
304
|
+
* @param options - Options for ZIP creation
|
|
305
|
+
* @returns ZIP file data as Uint8Array
|
|
306
|
+
*/
|
|
307
|
+
export function memoryStoreToZip(store, options = {}) {
|
|
308
|
+
const version = options.version ?? "0.5";
|
|
309
|
+
// Get all keys, normalize them (remove leading slashes from zarrita),
|
|
310
|
+
// and order them for RFC-9 compliance
|
|
311
|
+
const keys = Array.from(store.keys()).map(normalizeKey);
|
|
312
|
+
const orderedKeys = orderFilesForRfc9(keys);
|
|
313
|
+
// Build files object in the correct order
|
|
314
|
+
// Note: JavaScript objects maintain insertion order for string keys
|
|
315
|
+
const files = {};
|
|
316
|
+
for (const key of orderedKeys) {
|
|
317
|
+
// Try both normalized and original key (with leading slash) for lookup
|
|
318
|
+
const data = store.get(key) ?? store.get("/" + key);
|
|
319
|
+
if (data) {
|
|
320
|
+
files[key] = data;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
// Create ZIP with no compression (level: 0 = ZIP_STORED equivalent)
|
|
324
|
+
const zipData = zipSync(files, { level: 0 });
|
|
325
|
+
// Add OME-Zarr version comment as per RFC-9
|
|
326
|
+
// Include jsonFirst flag to indicate zarr.json files are ordered
|
|
327
|
+
// breadth-first and precede other content
|
|
328
|
+
const comment = JSON.stringify({
|
|
329
|
+
ome: {
|
|
330
|
+
version,
|
|
331
|
+
zipFile: { centralDirectory: { jsonFirst: true } },
|
|
332
|
+
},
|
|
333
|
+
});
|
|
334
|
+
const zipWithComment = addZipComment(zipData, comment);
|
|
335
|
+
return zipWithComment;
|
|
336
|
+
}
|
|
337
|
+
//# sourceMappingURL=rfc9_zip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rfc9_zip.js","sourceRoot":"","sources":["../../src/io/rfc9_zip.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,41 @@
|
|
|
1
1
|
import * as zarr from "zarrita";
|
|
2
2
|
import type { Multiscales } from "../types/multiscales.js";
|
|
3
3
|
import type { MemoryStore } from "./from_ngff_zarr-browser.js";
|
|
4
|
+
export { isOzxPath } from "./rfc9_zip.js";
|
|
4
5
|
export interface ToNgffZarrOptions {
|
|
5
6
|
overwrite?: boolean;
|
|
6
7
|
version?: "0.4" | "0.5";
|
|
7
8
|
chunksPerShard?: number | number[] | Record<string, number>;
|
|
8
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Options for writing to .ozx (RFC-9) format.
|
|
12
|
+
* Note: chunksPerShard is NOT supported for .ozx files and will throw an error.
|
|
13
|
+
*/
|
|
14
|
+
export interface ToNgffZarrOzxOptions {
|
|
15
|
+
/** List of RFC numbers to enable (e.g., [4] for RFC 4 anatomical orientation) */
|
|
16
|
+
enabledRfcs?: number[] | undefined;
|
|
17
|
+
}
|
|
9
18
|
/**
|
|
10
19
|
* Browser-compatible version of toNgffZarr.
|
|
11
20
|
* Only supports MemoryStore (Map) for writing.
|
|
12
21
|
* Does NOT support local file paths or HTTP URLs (use the full version in Node.js/Deno).
|
|
13
22
|
*/
|
|
14
23
|
export declare function toNgffZarr(store: string | MemoryStore | zarr.FetchStore, multiscales: Multiscales, options?: ToNgffZarrOptions): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Create OME-Zarr .ozx ZIP data (RFC-9) - Browser version.
|
|
26
|
+
*
|
|
27
|
+
* This function creates an OME-Zarr hierarchy in memory and returns
|
|
28
|
+
* the ZIP data as a Uint8Array. This is the browser-compatible version
|
|
29
|
+
* that returns the raw ZIP data for download or further processing.
|
|
30
|
+
*
|
|
31
|
+
* Note: Sharding is NOT supported because zarrita does not currently
|
|
32
|
+
* support writing shards. If you need sharding, use the Python implementation.
|
|
33
|
+
*
|
|
34
|
+
* @param multiscales - Multiscales data to write
|
|
35
|
+
* @param options - Options for writing
|
|
36
|
+
* @returns ZIP file data as Uint8Array
|
|
37
|
+
*
|
|
38
|
+
* @see https://ngff.openmicroscopy.org/rfc/9/index.html
|
|
39
|
+
*/
|
|
40
|
+
export declare function toNgffZarrOzx(multiscales: Multiscales, _options?: ToNgffZarrOzxOptions): Promise<Uint8Array>;
|
|
15
41
|
//# sourceMappingURL=to_ngff_zarr-browser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to_ngff_zarr-browser.d.ts","sourceRoot":"","sources":["../../src/io/to_ngff_zarr-browser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"to_ngff_zarr-browser.d.ts","sourceRoot":"","sources":["../../src/io/to_ngff_zarr-browser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI/D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7D;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC,UAAU,EAC7C,WAAW,EAAE,WAAW,EACxB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAyFf;AAsVD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,WAAW,EACxB,QAAQ,GAAE,oBAAyB,GAClC,OAAO,CAAC,UAAU,CAAC,CAkBrB"}
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
// (which contains Node.js-specific modules like node:fs, node:buffer, node:path)
|
|
5
5
|
import * as zarr from "zarrita";
|
|
6
6
|
import { createQueue } from "../utils/create_queue.js";
|
|
7
|
+
import { memoryStoreToZip } from "./rfc9_zip.js";
|
|
8
|
+
import { writeMultiscalesToMemoryStore } from "./to_ngff_zarr_ozx_common.js";
|
|
9
|
+
export { isOzxPath } from "./rfc9_zip.js";
|
|
7
10
|
/**
|
|
8
11
|
* Browser-compatible version of toNgffZarr.
|
|
9
12
|
* Only supports MemoryStore (Map) for writing.
|
|
@@ -47,22 +50,24 @@ export async function toNgffZarr(store, multiscales, options = {}) {
|
|
|
47
50
|
}),
|
|
48
51
|
};
|
|
49
52
|
// Create the root group with OME-Zarr metadata
|
|
50
|
-
// For version 0.5, wrap metadata under "ome" property
|
|
51
|
-
// For version 0.4, place multiscales directly at root
|
|
53
|
+
// For version 0.5, wrap metadata under "ome" property (including omero)
|
|
54
|
+
// For version 0.4, place multiscales and omero directly at root
|
|
52
55
|
const attributes = _version === "0.5"
|
|
53
56
|
? {
|
|
54
57
|
ome: {
|
|
55
58
|
version: _version,
|
|
56
59
|
multiscales: [multiscalesMetadata],
|
|
60
|
+
...(multiscales.metadata.omero && {
|
|
61
|
+
omero: multiscales.metadata.omero,
|
|
62
|
+
}),
|
|
57
63
|
},
|
|
58
64
|
}
|
|
59
65
|
: {
|
|
60
66
|
multiscales: [multiscalesMetadata],
|
|
67
|
+
...(multiscales.metadata.omero && {
|
|
68
|
+
omero: multiscales.metadata.omero,
|
|
69
|
+
}),
|
|
61
70
|
};
|
|
62
|
-
// Add OMERO metadata at root level if present (both versions)
|
|
63
|
-
if (multiscales.metadata.omero) {
|
|
64
|
-
attributes.omero = multiscales.metadata.omero;
|
|
65
|
-
}
|
|
66
71
|
const rootGroup = await zarr.create(root, { attributes });
|
|
67
72
|
// Write each image in the multiscales
|
|
68
73
|
for (let i = 0; i < multiscales.images.length; i++) {
|
|
@@ -321,4 +326,30 @@ function calculateChunkStride(chunkShape) {
|
|
|
321
326
|
}
|
|
322
327
|
return stride;
|
|
323
328
|
}
|
|
329
|
+
/**
|
|
330
|
+
* Create OME-Zarr .ozx ZIP data (RFC-9) - Browser version.
|
|
331
|
+
*
|
|
332
|
+
* This function creates an OME-Zarr hierarchy in memory and returns
|
|
333
|
+
* the ZIP data as a Uint8Array. This is the browser-compatible version
|
|
334
|
+
* that returns the raw ZIP data for download or further processing.
|
|
335
|
+
*
|
|
336
|
+
* Note: Sharding is NOT supported because zarrita does not currently
|
|
337
|
+
* support writing shards. If you need sharding, use the Python implementation.
|
|
338
|
+
*
|
|
339
|
+
* @param multiscales - Multiscales data to write
|
|
340
|
+
* @param options - Options for writing
|
|
341
|
+
* @returns ZIP file data as Uint8Array
|
|
342
|
+
*
|
|
343
|
+
* @see https://ngff.openmicroscopy.org/rfc/9/index.html
|
|
344
|
+
*/
|
|
345
|
+
export async function toNgffZarrOzx(multiscales, _options = {}) {
|
|
346
|
+
const enabledRfcs = _options.enabledRfcs;
|
|
347
|
+
// Create a memory store to hold the zarr data
|
|
348
|
+
const memoryStore = new Map();
|
|
349
|
+
// Use the shared write function
|
|
350
|
+
await writeMultiscalesToMemoryStore(memoryStore, multiscales, enabledRfcs, _writeImage);
|
|
351
|
+
// Convert the memory store to ZIP data
|
|
352
|
+
const zipData = memoryStoreToZip(memoryStore, { version: "0.5" });
|
|
353
|
+
return zipData;
|
|
354
|
+
}
|
|
324
355
|
//# sourceMappingURL=to_ngff_zarr-browser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to_ngff_zarr-browser.js","sourceRoot":"","sources":["../../src/io/to_ngff_zarr-browser.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,+BAA+B;AAC/B,kFAAkF;AAClF,iFAAiF;AACjF,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAIhC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAQvD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAA6C,EAC7C,WAAwB,EACxB,UAA6B,EAAE;IAE/B,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IAE1C,IAAI,CAAC;QACH,yDAAyD;QACzD,IAAI,cAA2B,CAAC;QAChC,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;YACzB,cAAc,GAAG,KAAK,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;QACJ,CAAC;QAED,yDAAyD;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEvC,+BAA+B;QAC/B,MAAM,mBAAmB,GAAG;YAC1B,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI;YAC/B,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI;YAC/B,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ;YACvC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,yBAAyB,IAAI;gBACpD,yBAAyB,EACvB,WAAW,CAAC,QAAQ,CAAC,yBAAyB;aACjD,CAAC;YACF,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI;gBAC/B,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI;aAChC,CAAC;YACF,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,IAAI;gBACnC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ;aACxC,CAAC;SACH,CAAC;QAEF,+CAA+C;QAC/C,sDAAsD;QACtD,sDAAsD;QACtD,MAAM,UAAU,GAA4B,QAAQ,KAAK,KAAK;YAC5D,CAAC,CAAC;gBACA,GAAG,EAAE;oBACH,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,CAAC,mBAAmB,CAAC;iBACnC;aACF;YACD,CAAC,CAAC;gBACA,WAAW,EAAE,CAAC,mBAAmB,CAAC;aACnC,CAAC;QAEJ,8DAA8D;QAC9D,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC/B,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChD,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAE1D,sCAAsC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAEjD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,WAAW,CACf,SAAoC,EACpC,KAAK,EACL,OAAO,CAAC,IAAI,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,6BACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,0DAA0D;IAC1D,MAAM,QAAQ,GAAkC;QAC9C,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,MAAM;QACZ,kCAAkC;QAClC,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,QAAQ;QACZ,EAAE,EAAE,QAAQ;QACZ,EAAE,EAAE,QAAQ;QACZ,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,SAAS;KACd,CAAC;IAEF,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAcD,SAAS,wBAAwB,CAAC,KAAoB;IACpD,oDAAoD;IACpD,MAAM,cAAc,GAClB;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,UAAU,EAAE,6EAA6E;QAC/F,sEAAsE;KACvE,CAAC;IAEJ,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,KAA8B,EAC9B,KAAgB,EAChB,SAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEzC,8CAA8C;QAC9C,MAAM,YAAY,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/D,wBAAwB;QACxB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE/C,kDAAkD;QAClD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YACjD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;YACvB,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,MAAM;YACnB,UAAU,EAAE,CAAC;SACd,CAAC,CAAC;QAEH,MAAM,eAAe,CACnB,SAAmD,EACnD,KAAK,CACN,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,gCACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAgB;IAC1C,2DAA2D;IAC3D,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,SAAiD,EACjD,KAAgB;IAEhB,IAAI,CAAC;QACH,2EAA2E;QAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAE/B,+CAA+C;QAC/C,MAAM,YAAY,GAAG,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAEpE,4CAA4C;QAC5C,MAAM,UAAU,GAAG,WAAW,EAAE,CAAC;QAEjC,+BAA+B;QAC/B,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;YACtC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;gBACxB,MAAM,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,oCAAoC;QACpC,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,+BACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,SAAiD,EACjD,KAAgB,EAChB,UAAoB;IAEpB,6BAA6B;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/B,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CACpD,CAAC;IAEF,wBAAwB;IACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAErE,uDAAuD;IACvD,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CACpD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CACjC,CAAC;IAEF,kDAAkD;IAClD,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAE9E,oCAAoC;IACpC,MAAM,2BAA2B,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,wBAAwB,CAC9C,eAAkC,EAClC,SAAS,CAAC,KAAK,EACf,2BAA2B,CAC5B,CAAC;IAEF,2BAA2B;IAC3B,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU;QAC3C,CAAE,eAAwE;aACvE,iBAAiB,IAAI,CAAC,CAAC,CAAC;IAC7B,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,sCAAsC,YAAY,kBAAkB,UAAU,EAAE,CACjF,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CACpD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CACjC,CAAC;IAEF,+CAA+C;IAC/C,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE;QACzC,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,oBAAoB,CAAC,UAAU,CAAC;KACzC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,SAA0B,EAC1B,WAA0B,EAC1B,2BAAkD;IAElD,qCAAqC;IACrC,IACE,SAAS,YAAY,aAAa;QAClC,SAAS,YAAY,cAAc,EACnC,CAAC;QACD,kCAAkC;QAClC,IAAI,SAAS,CAAC,WAAW,KAAK,2BAA2B,EAAE,CAAC;YAC1D,OAAO,SAA4B,CAAC;QACtC,CAAC;aAAM,IAAI,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC/D,8BAA8B;YAC9B,MAAM,WAAW,GAAG,IAAI,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAElD,CAAC;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,MAAM,WAAW,GAAG,IAAI,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAQpD,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;SAAM,IACL,SAAS,YAAY,UAAU;QAC/B,SAAS,YAAY,SAAS;QAC9B,SAAS,YAAY,WAAW;QAChC,SAAS,YAAY,UAAU;QAC/B,SAAS,YAAY,WAAW;QAChC,SAAS,YAAY,UAAU;QAC/B,SAAS,YAAY,YAAY;QACjC,SAAS,YAAY,YAAY,EACjC,CAAC;QACD,8BAA8B;QAC9B,IAAI,SAAS,CAAC,WAAW,KAAK,2BAA2B,EAAE,CAAC;YAC1D,OAAO,SAA4B,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,IAAI,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACxD,sCAAsC;gBACtC,MAAM,WAAW,GAAG,IAAI,2BAA2B,CACjD,SAAS,CAAC,MAAM,CACiB,CAAC;gBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC1C,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,CAAC;gBACD,OAAO,WAAW,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,MAAM,aAAa,GAAG,IAAI,GAAG,CAG3B;oBACA,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxD,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACtD,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC1D,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxD,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC1D,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxD,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC5D,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC7D,CAAC,CAAC;gBAEH,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACxE,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CACb,mCAAmC,2BAA2B,CAAC,IAAI,EAAE,CACtE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,gCAAgC;QAChC,MAAM,IAAI,KAAK,CACb,iCAAiC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAe,EAAE,MAAgB;IAC9D,MAAM,OAAO,GAAe,EAAE,CAAC;IAE/B,SAAS,eAAe,CAAC,QAAgB,EAAE,YAAsB;QAC/D,IAAI,QAAQ,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3B,eAAe,CAAC,QAAQ,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,eAAe,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAoB;IAChD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAElC,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"to_ngff_zarr-browser.js","sourceRoot":"","sources":["../../src/io/to_ngff_zarr-browser.ts"],"names":[],"mappings":"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"}
|
package/esm/io/to_ngff_zarr.d.ts
CHANGED
|
@@ -3,8 +3,84 @@ import type { Multiscales } from "../types/multiscales.js";
|
|
|
3
3
|
import type { MemoryStore } from "./from_ngff_zarr.js";
|
|
4
4
|
export interface ToNgffZarrOptions {
|
|
5
5
|
overwrite?: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* OME-Zarr version to write. Defaults to "0.4" for regular Zarr files.
|
|
8
|
+
* For .ozx files (RFC-9), this must be version 0.5. If omitted for .ozx files,
|
|
9
|
+
* it defaults to 0.5. If explicitly set to any other value for .ozx files,
|
|
10
|
+
* an error will be thrown.
|
|
11
|
+
*/
|
|
6
12
|
version?: "0.4" | "0.5";
|
|
7
13
|
chunksPerShard?: number | number[] | Record<string, number>;
|
|
14
|
+
/** List of RFC numbers to enable (e.g., [4] for RFC 4 anatomical orientation) */
|
|
15
|
+
enabledRfcs?: number[];
|
|
8
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Options for writing to .ozx (RFC-9) format.
|
|
19
|
+
* Note: chunksPerShard is NOT supported for .ozx files and will throw an error.
|
|
20
|
+
*/
|
|
21
|
+
export interface ToNgffZarrOzxOptions {
|
|
22
|
+
/** List of RFC numbers to enable (e.g., [4] for RFC 4 anatomical orientation) */
|
|
23
|
+
enabledRfcs?: number[] | undefined;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Write multiscales data to an OME-Zarr store.
|
|
27
|
+
*
|
|
28
|
+
* This function automatically detects .ozx paths (RFC-9 zipped OME-Zarr format)
|
|
29
|
+
* and handles them appropriately. For .ozx files:
|
|
30
|
+
* - Version 0.5 is always used when the version option is omitted (undefined)
|
|
31
|
+
* - Sharding (chunksPerShard) is not supported
|
|
32
|
+
* - An error is thrown if you explicitly specify a version other than "0.5"
|
|
33
|
+
*
|
|
34
|
+
* @param store - File path, MemoryStore, or FetchStore to write to
|
|
35
|
+
* @param multiscales - Multiscales data to write
|
|
36
|
+
* @param options - Writing options
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* // Writing to .ozx file - version 0.5 is used automatically
|
|
41
|
+
* await toNgffZarr("output.ozx", multiscales);
|
|
42
|
+
*
|
|
43
|
+
* // Writing to regular zarr with version 0.4 (default)
|
|
44
|
+
* await toNgffZarr("output.zarr", multiscales);
|
|
45
|
+
*
|
|
46
|
+
* // Writing to regular zarr with version 0.5
|
|
47
|
+
* await toNgffZarr("output.zarr", multiscales, { version: "0.5" });
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
9
50
|
export declare function toNgffZarr(store: string | MemoryStore | zarr.FetchStore, multiscales: Multiscales, options?: ToNgffZarrOptions): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Write OME-Zarr to .ozx ZIP file (RFC-9).
|
|
53
|
+
*
|
|
54
|
+
* This function creates an OME-Zarr hierarchy in memory and then writes it
|
|
55
|
+
* to a ZIP file following RFC-9 specification:
|
|
56
|
+
* - Root-level zarr.json is the first entry
|
|
57
|
+
* - Other zarr.json files follow in breadth-first order
|
|
58
|
+
* - ZIP-level compression is disabled (ZIP_STORED)
|
|
59
|
+
* - A comment with OME-Zarr version is added
|
|
60
|
+
*
|
|
61
|
+
* Note: Sharding is NOT supported because zarrita does not currently
|
|
62
|
+
* support writing shards. If you need sharding, use the Python implementation.
|
|
63
|
+
*
|
|
64
|
+
* @param path - Output .ozx file path
|
|
65
|
+
* @param multiscales - Multiscales data to write
|
|
66
|
+
* @param options - Options for writing
|
|
67
|
+
* @throws Error if called in a browser environment (use toNgffZarrOzxData instead)
|
|
68
|
+
*
|
|
69
|
+
* @see https://ngff.openmicroscopy.org/rfc/9/index.html
|
|
70
|
+
*/
|
|
71
|
+
export declare function toNgffZarrOzx(path: string, multiscales: Multiscales, options?: ToNgffZarrOzxOptions): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Create OME-Zarr .ozx ZIP data (RFC-9).
|
|
74
|
+
*
|
|
75
|
+
* This function creates an OME-Zarr hierarchy in memory and returns
|
|
76
|
+
* the ZIP data as a Uint8Array. Useful for browser environments or
|
|
77
|
+
* when you need the raw ZIP data.
|
|
78
|
+
*
|
|
79
|
+
* @param multiscales - Multiscales data to write
|
|
80
|
+
* @param options - Options for writing
|
|
81
|
+
* @returns ZIP file data as Uint8Array
|
|
82
|
+
*
|
|
83
|
+
* @see https://ngff.openmicroscopy.org/rfc/9/index.html
|
|
84
|
+
*/
|
|
85
|
+
export declare function toNgffZarrOzxData(multiscales: Multiscales, options?: ToNgffZarrOzxOptions): Promise<Uint8Array>;
|
|
10
86
|
//# sourceMappingURL=to_ngff_zarr.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to_ngff_zarr.d.ts","sourceRoot":"","sources":["../../src/io/to_ngff_zarr.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"to_ngff_zarr.d.ts","sourceRoot":"","sources":["../../src/io/to_ngff_zarr.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQvD,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5D,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC,UAAU,EAC7C,WAAW,EAAE,WAAW,EACxB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAwIf;AAsVD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW,EACxB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,WAAW,EACxB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,UAAU,CAAC,CAerB"}
|