@fideus-labs/ngff-zarr 0.9.0 → 0.10.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/io/from_ngff_zarr-browser.d.ts +3 -2
- package/esm/io/from_ngff_zarr-browser.d.ts.map +1 -1
- package/esm/io/from_ngff_zarr-browser.js +14 -4
- package/esm/io/from_ngff_zarr-browser.js.map +1 -1
- package/esm/io/from_ngff_zarr.d.ts +1 -1
- package/esm/io/from_ngff_zarr.d.ts.map +1 -1
- package/esm/io/from_ngff_zarr.js +16 -9
- package/esm/io/from_ngff_zarr.js.map +1 -1
- package/esm/utils/compute_omero.js +52 -1
- package/package.json +1 -1
|
@@ -19,8 +19,9 @@ export interface FromNgffZarrOptions {
|
|
|
19
19
|
export type MemoryStore = Map<string, Uint8Array>;
|
|
20
20
|
/**
|
|
21
21
|
* Browser-compatible version of fromNgffZarr.
|
|
22
|
-
* Supports HTTP/HTTPS URLs, MemoryStore (Map), and
|
|
22
|
+
* Supports HTTP/HTTPS URLs, MemoryStore (Map), FetchStore, and any
|
|
23
|
+
* zarrita-compatible Readable store (e.g. TiffStore from @fideus-labs/fiff).
|
|
23
24
|
* Does NOT support local file paths (use the full version in Node.js/Deno).
|
|
24
25
|
*/
|
|
25
|
-
export declare function fromNgffZarr(store: string | MemoryStore | zarr.FetchStore, options?: FromNgffZarrOptions): Promise<Multiscales>;
|
|
26
|
+
export declare function fromNgffZarr(store: string | MemoryStore | zarr.FetchStore | zarr.Readable, options?: FromNgffZarrOptions): Promise<Multiscales>;
|
|
26
27
|
//# sourceMappingURL=from_ngff_zarr-browser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from_ngff_zarr-browser.d.ts","sourceRoot":"","sources":["../../src/io/from_ngff_zarr-browser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACxB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,yBAAyB,EAAE,UAAU,CAAC;CACtD;AAED,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAElD
|
|
1
|
+
{"version":3,"file":"from_ngff_zarr-browser.d.ts","sourceRoot":"","sources":["../../src/io/from_ngff_zarr-browser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACxB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,yBAAyB,EAAE,UAAU,CAAC;CACtD;AAED,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAElD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,EAC7D,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,WAAW,CAAC,CAmOtB"}
|
|
@@ -9,7 +9,8 @@ import { NgffImage } from "../types/ngff_image.js";
|
|
|
9
9
|
import { extractMethodMetadata } from "../utils/parse_metadata.js";
|
|
10
10
|
/**
|
|
11
11
|
* Browser-compatible version of fromNgffZarr.
|
|
12
|
-
* Supports HTTP/HTTPS URLs, MemoryStore (Map), and
|
|
12
|
+
* Supports HTTP/HTTPS URLs, MemoryStore (Map), FetchStore, and any
|
|
13
|
+
* zarrita-compatible Readable store (e.g. TiffStore from @fideus-labs/fiff).
|
|
13
14
|
* Does NOT support local file paths (use the full version in Node.js/Deno).
|
|
14
15
|
*/
|
|
15
16
|
export async function fromNgffZarr(store, options = {}) {
|
|
@@ -18,16 +19,25 @@ export async function fromNgffZarr(store, options = {}) {
|
|
|
18
19
|
try {
|
|
19
20
|
// Determine the appropriate store type based on the path
|
|
20
21
|
let resolvedStore;
|
|
21
|
-
if (
|
|
22
|
+
if (typeof store === "object" &&
|
|
23
|
+
store !== null &&
|
|
24
|
+
"get" in store &&
|
|
25
|
+
typeof store.get === "function") {
|
|
26
|
+
// Duck-type check for zarrita Readable stores (e.g. TiffStore, FetchStore, MemoryStore)
|
|
22
27
|
resolvedStore = store;
|
|
23
28
|
}
|
|
24
|
-
else if (store
|
|
29
|
+
else if (store instanceof Map || store instanceof zarr.FetchStore) {
|
|
30
|
+
// Defensive fallback for Map/FetchStore (normally caught by duck-type check above)
|
|
31
|
+
resolvedStore = store;
|
|
32
|
+
}
|
|
33
|
+
else if (typeof store === "string" &&
|
|
34
|
+
(store.startsWith("http://") || store.startsWith("https://"))) {
|
|
25
35
|
// Use FetchStore for HTTP/HTTPS URLs
|
|
26
36
|
resolvedStore = new zarr.FetchStore(store);
|
|
27
37
|
}
|
|
28
38
|
else {
|
|
29
39
|
// Local file paths are not supported in browser environments
|
|
30
|
-
throw new Error("Local file paths are not supported in browser environments. Use HTTP/HTTPS URLs or
|
|
40
|
+
throw new Error("Local file paths are not supported in browser environments. Use HTTP/HTTPS URLs, MemoryStore, or a Readable store instead.");
|
|
31
41
|
}
|
|
32
42
|
// Try to use consolidated metadata for better performance
|
|
33
43
|
let optimizedStore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from_ngff_zarr-browser.js","sourceRoot":"","sources":["../../src/io/from_ngff_zarr-browser.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,+BAA+B;AAC/B,oFAAoF;AACpF,iFAAiF;AACjF,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAsBnE
|
|
1
|
+
{"version":3,"file":"from_ngff_zarr-browser.js","sourceRoot":"","sources":["../../src/io/from_ngff_zarr-browser.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,+BAA+B;AAC/B,oFAAoF;AACpF,iFAAiF;AACjF,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAsBnE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAA6D,EAC7D,UAA+B,EAAE;IAEjC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhC,IAAI,CAAC;QACH,yDAAyD;QACzD,IAAI,aAA4D,CAAC;QACjE,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,KAAK,IAAI,KAAK;YACd,OAAQ,KAAuB,CAAC,GAAG,KAAK,UAAU,EAClD,CAAC;YACD,wFAAwF;YACxF,aAAa,GAAG,KAAsB,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,YAAY,GAAG,IAAI,KAAK,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YACpE,mFAAmF;YACnF,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;aAAM,IACL,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAC7D,CAAC;YACD,qCAAqC;YACrC,aAAa,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,MAAM,IAAI,KAAK,CACb,4HAA4H,CAC7H,CAAC;QACJ,CAAC;QAED,0DAA0D;QAC1D,IAAI,cAA4D,CAAC;QACjE,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC7C,aAA8B,CAC/B,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,cAAc,GAAG,aAA8B,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAA+B,EAAE;YAC5D,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAgB,CAAC;QAEpC,gFAAgF;QAChF,IAAI,gBAA2B,CAAC;QAChC,IAAI,eAAmC,CAAC;QAExC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACzD,4DAA4D;YAC5D,MAAM,QAAQ,GAAI,KAAiC,CAAC,GAGnD,CAAC;YACF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;YACD,gBAAgB,GAAG,QAAQ,CAAC,WAAwB,CAAC;YACrD,eAAe,GAAG,QAAQ,CAAC,OAA6B,CAAC;QAC3D,CAAC;aAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC;YACxE,2CAA2C;YAC3C,gBAAgB,GAAI,KAAiC;iBAClD,WAAwB,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,CAAY,CAAC;QAE3D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,2CAA2C;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,mBAAmB,GAAG,mBAA2C,CAAC;gBACxE,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,IAAI,eAAe,CAAC;gBACrE,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CACb,6BAA6B,OAAO,eAClC,aAAa,IAAI,SACnB,EAAE,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,mBAA+B,CAAC;QAEjD,yDAAyD;QACzD,IAAK,KAAiC,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,KAAiC,CAAC,KAGpD,CAAC;YAEF,0DAA0D;YAC1D,IAAI,SAAS,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5D,KACE,MAAM,OAAO,IAAI,SAAS,CAAC,QAE1B,EACD,CAAC;oBACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACzD,MAAM,MAAM,GAAG,OAAO,CAAC,MAA4C,CAAC;wBAEpE,kEAAkE;wBAClE,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;4BACzD,kDAAkD;4BAClD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gCAC/B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;4BAC5B,CAAC;4BACD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gCAC7B,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;4BAC1B,CAAC;wBACH,CAAC;6BAAM,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;4BAClE,kDAAkD;4BAClD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gCAC7B,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;4BAC5B,CAAC;4BACD,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gCAC7B,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;4BAC1B,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,KAAK,GAAG,SAA6B,CAAC;QACjD,CAAC;QAED,MAAM,MAAM,GAAgB,EAAE,CAAC;QAE/B,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;YAE/B,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC1D,IAAI,EAAE,OAAO;aACd,CAAC,CAA6C,CAAC;YAEhD,uDAAuD;YACvD,IACE,CAAC,SAAS;gBACV,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC;gBACvB,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC;gBACvB,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,EACxB,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,8BAA8B,SAAS,0BAA0B,CAClE,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAA2B,EAAE,CAAC;YACzC,MAAM,WAAW,GAA2B,EAAE,CAAC;YAE/C,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBAC1D,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC/B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;wBAChC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;4BAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACxC,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC5C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;wBAChC,IAAI,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;4BACrC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBACpD,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC7B,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EACD,EAA2B,CAC5B,CAAC;YAEF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;gBAC9B,IAAI,EAAE,SAAS;gBACf,IAAI;gBACJ,KAAK;gBACL,WAAW;gBACX,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACpE,iBAAiB,EAAE,SAAS;aAC7B,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,mFAAmF;QACnF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,qBAAqB,CAClE,mBAA8C,CAC/C,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;QAC7B,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,QAAQ,GAAG,cAAc,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,WAAW,CAAC;YACrB,MAAM;YACN,QAAQ;YACR,YAAY,EAAE,SAAS;YACvB,MAAM;YACN,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,4BACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -17,6 +17,6 @@ export interface FromNgffZarrOptions {
|
|
|
17
17
|
cache?: import("../utils/worker_pool.js").ChunkCache;
|
|
18
18
|
}
|
|
19
19
|
export type MemoryStore = Map<string, Uint8Array>;
|
|
20
|
-
export declare function fromNgffZarr(store: string | MemoryStore | zarr.FetchStore, options?: FromNgffZarrOptions): Promise<Multiscales>;
|
|
20
|
+
export declare function fromNgffZarr(store: string | MemoryStore | zarr.FetchStore | zarr.Readable, options?: FromNgffZarrOptions): Promise<Multiscales>;
|
|
21
21
|
export declare function readArrayData(storePath: string, arrayPath: string, selection?: (number | null)[]): Promise<unknown>;
|
|
22
22
|
//# sourceMappingURL=from_ngff_zarr.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from_ngff_zarr.d.ts","sourceRoot":"","sources":["../../src/io/from_ngff_zarr.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"from_ngff_zarr.d.ts","sourceRoot":"","sources":["../../src/io/from_ngff_zarr.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAYtD,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACxB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,yBAAyB,EAAE,UAAU,CAAC;CACtD;AAED,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAElD,wBAAsB,YAAY,CAEhC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,EAC7D,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,WAAW,CAAC,CAqItB;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAC5B,OAAO,CAAC,OAAO,CAAC,CAmClB"}
|
package/esm/io/from_ngff_zarr.js
CHANGED
|
@@ -3,25 +3,36 @@
|
|
|
3
3
|
import * as zarr from "zarrita";
|
|
4
4
|
import { Multiscales } from "../types/multiscales.js";
|
|
5
5
|
import { NgffVersion } from "../types/supported_versions.js";
|
|
6
|
-
import { detectVersion, extractMethodMetadata, } from "../utils/parse_metadata.js";
|
|
7
6
|
import { fromZarrAttrsV04, fromZarrAttrsV05, } from "../utils/from_zarr_attrs.js";
|
|
7
|
+
import { detectVersion, extractMethodMetadata, } from "../utils/parse_metadata.js";
|
|
8
8
|
import { zarrGet } from "../utils/worker_pool.js";
|
|
9
9
|
export async function fromNgffZarr(
|
|
10
|
-
// Also accepts FileSystemStore, ZipFileStore
|
|
10
|
+
// Also accepts FileSystemStore, ZipFileStore, or any zarrita Readable store
|
|
11
11
|
store, options = {}) {
|
|
12
12
|
const validate = options.validate ?? false;
|
|
13
13
|
const requestedVersion = options.version;
|
|
14
14
|
try {
|
|
15
15
|
// Determine the appropriate store type based on the path
|
|
16
16
|
let resolvedStore;
|
|
17
|
-
if (
|
|
17
|
+
if (typeof store === "object" &&
|
|
18
|
+
store !== null &&
|
|
19
|
+
"get" in store &&
|
|
20
|
+
typeof store.get === "function") {
|
|
21
|
+
// Duck-type check for zarrita Readable stores (e.g. TiffStore, FetchStore, MemoryStore)
|
|
22
|
+
resolvedStore = store;
|
|
23
|
+
}
|
|
24
|
+
else if (store instanceof Map || store instanceof zarr.FetchStore) {
|
|
25
|
+
// Defensive fallback for Map/FetchStore (normally caught by duck-type check above)
|
|
18
26
|
resolvedStore = store;
|
|
19
27
|
}
|
|
20
|
-
else if (store
|
|
28
|
+
else if (typeof store === "string" &&
|
|
29
|
+
(store.startsWith("http://") || store.startsWith("https://"))) {
|
|
21
30
|
// Use FetchStore for HTTP/HTTPS URLs
|
|
22
31
|
resolvedStore = new zarr.FetchStore(store);
|
|
23
32
|
}
|
|
24
33
|
else {
|
|
34
|
+
// Only strings (local paths) reach this branch
|
|
35
|
+
const storePath = store;
|
|
25
36
|
// For local paths, check if we're in a browser environment
|
|
26
37
|
if (typeof window !== "undefined") {
|
|
27
38
|
throw new Error("Local file paths are not supported in browser environments. Use HTTP/HTTPS URLs instead.");
|
|
@@ -29,15 +40,12 @@ store, options = {}) {
|
|
|
29
40
|
// Use dynamic import for FileSystemStore, ZipFileStore in Node.js/Deno environments
|
|
30
41
|
try {
|
|
31
42
|
const { FileSystemStore, ZipFileStore } = await import("@zarrita/storage");
|
|
32
|
-
// @ts-ignore: Node/Deno workaround
|
|
33
43
|
if (store instanceof FileSystemStore || store instanceof ZipFileStore) {
|
|
34
|
-
// @ts-ignore: Node/Deno workaround
|
|
35
44
|
resolvedStore = store;
|
|
36
45
|
}
|
|
37
46
|
else {
|
|
38
47
|
// Normalize the path for cross-platform compatibility
|
|
39
|
-
const normalizedPath =
|
|
40
|
-
// @ts-ignore: Node/Deno workaround
|
|
48
|
+
const normalizedPath = storePath.replace(/^\/([A-Za-z]:)/, "$1");
|
|
41
49
|
resolvedStore = new FileSystemStore(normalizedPath);
|
|
42
50
|
}
|
|
43
51
|
}
|
|
@@ -48,7 +56,6 @@ store, options = {}) {
|
|
|
48
56
|
// Try to use consolidated metadata for better performance
|
|
49
57
|
let optimizedStore;
|
|
50
58
|
try {
|
|
51
|
-
// @ts-ignore: tryWithConsolidated typing
|
|
52
59
|
optimizedStore = await zarr.tryWithConsolidated(resolvedStore);
|
|
53
60
|
}
|
|
54
61
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from_ngff_zarr.js","sourceRoot":"","sources":["../../src/io/from_ngff_zarr.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,+BAA+B;AAC/B,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"from_ngff_zarr.js","sourceRoot":"","sources":["../../src/io/from_ngff_zarr.ts"],"names":[],"mappings":"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"}
|