@fideus-labs/ngff-zarr 0.17.0 → 0.19.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 (81) hide show
  1. package/esm/browser-mod.d.ts +6 -5
  2. package/esm/browser-mod.d.ts.map +1 -1
  3. package/esm/browser-mod.js +5 -4
  4. package/esm/browser-mod.js.map +1 -1
  5. package/esm/io/from_ngff_zarr-browser.d.ts +8 -4
  6. package/esm/io/from_ngff_zarr-browser.d.ts.map +1 -1
  7. package/esm/io/from_ngff_zarr-browser.js +6 -4
  8. package/esm/io/from_ngff_zarr-browser.js.map +1 -1
  9. package/esm/io/from_ngff_zarr.d.ts +7 -3
  10. package/esm/io/from_ngff_zarr.d.ts.map +1 -1
  11. package/esm/io/from_ngff_zarr.js +5 -3
  12. package/esm/io/from_ngff_zarr.js.map +1 -1
  13. package/esm/io/hcs.d.ts.map +1 -1
  14. package/esm/io/hcs.js +11 -3
  15. package/esm/io/hcs.js.map +1 -1
  16. package/esm/io/to_ngff_zarr-browser.d.ts +24 -7
  17. package/esm/io/to_ngff_zarr-browser.d.ts.map +1 -1
  18. package/esm/io/to_ngff_zarr-browser.js +18 -10
  19. package/esm/io/to_ngff_zarr-browser.js.map +1 -1
  20. package/esm/io/to_ngff_zarr.d.ts +30 -13
  21. package/esm/io/to_ngff_zarr.d.ts.map +1 -1
  22. package/esm/io/to_ngff_zarr.js +30 -23
  23. package/esm/io/to_ngff_zarr.js.map +1 -1
  24. package/esm/io/to_ngff_zarr_ozx_common.d.ts +8 -8
  25. package/esm/io/to_ngff_zarr_ozx_common.d.ts.map +1 -1
  26. package/esm/io/to_ngff_zarr_ozx_common.js +5 -5
  27. package/esm/io/to_ngff_zarr_ozx_common.js.map +1 -1
  28. package/esm/mod.d.ts +4 -3
  29. package/esm/mod.d.ts.map +1 -1
  30. package/esm/mod.js +3 -2
  31. package/esm/mod.js.map +1 -1
  32. package/esm/process/to_multiscales-browser.d.ts +3 -3
  33. package/esm/process/to_multiscales-browser.d.ts.map +1 -1
  34. package/esm/process/to_multiscales-browser.js +1 -1
  35. package/esm/process/to_multiscales-node.d.ts +3 -3
  36. package/esm/process/to_multiscales-node.d.ts.map +1 -1
  37. package/esm/process/to_multiscales-node.js +1 -1
  38. package/esm/process/to_multiscales-shared.d.ts +3 -3
  39. package/esm/process/to_multiscales-shared.d.ts.map +1 -1
  40. package/esm/process/to_multiscales-shared.js +3 -3
  41. package/esm/process/to_multiscales-shared.js.map +1 -1
  42. package/esm/schemas/multiscales.d.ts +2 -1
  43. package/esm/schemas/multiscales.d.ts.map +1 -1
  44. package/esm/schemas/multiscales.js +3 -1
  45. package/esm/schemas/multiscales.js.map +1 -1
  46. package/esm/types/hcs.d.ts +10 -3
  47. package/esm/types/hcs.d.ts.map +1 -1
  48. package/esm/types/hcs.js +19 -6
  49. package/esm/types/hcs.js.map +1 -1
  50. package/esm/types/multiscales.d.ts +6 -3
  51. package/esm/types/multiscales.d.ts.map +1 -1
  52. package/esm/types/multiscales.js +3 -2
  53. package/esm/types/multiscales.js.map +1 -1
  54. package/esm/utils/codecs.d.ts +27 -0
  55. package/esm/utils/codecs.d.ts.map +1 -1
  56. package/esm/utils/codecs.js +84 -0
  57. package/esm/utils/codecs.js.map +1 -1
  58. package/esm/utils/compute_omero.d.ts +4 -4
  59. package/esm/utils/compute_omero.d.ts.map +1 -1
  60. package/esm/utils/compute_omero.js +3 -3
  61. package/esm/utils/compute_omero.js.map +1 -1
  62. package/esm/utils/factory.d.ts +3 -2
  63. package/esm/utils/factory.d.ts.map +1 -1
  64. package/esm/utils/factory.js +5 -3
  65. package/esm/utils/factory.js.map +1 -1
  66. package/esm/utils/from_zarr_attrs.d.ts.map +1 -1
  67. package/esm/utils/from_zarr_attrs.js +40 -0
  68. package/esm/utils/from_zarr_attrs.js.map +1 -1
  69. package/esm/utils/py_format.d.ts +18 -0
  70. package/esm/utils/py_format.d.ts.map +1 -0
  71. package/esm/utils/py_format.js +22 -0
  72. package/esm/utils/py_format.js.map +1 -0
  73. package/esm/utils/rfc4_validation.d.ts +8 -0
  74. package/esm/utils/rfc4_validation.d.ts.map +1 -1
  75. package/esm/utils/rfc4_validation.js +13 -2
  76. package/esm/utils/rfc4_validation.js.map +1 -1
  77. package/esm/utils/structural_validation.d.ts +379 -0
  78. package/esm/utils/structural_validation.d.ts.map +1 -0
  79. package/esm/utils/structural_validation.js +739 -0
  80. package/esm/utils/structural_validation.js.map +1 -0
  81. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  import * as zarr from "zarrita";
4
4
  import { defaultCodecs } from "../utils/codecs.js";
5
5
  import { NgffImage } from "../types/ngff_image.js";
6
- import { Multiscales } from "../types/multiscales.js";
6
+ import { NgffMultiscales } from "../types/multiscales.js";
7
7
  // Create a zarr.Array for testing using an in-memory store
8
8
  async function createTestZarrArray(shape, dtype, chunks, name) {
9
9
  const store = new Map();
@@ -71,8 +71,8 @@ export function createMetadata(axes, datasets, name = "image", version = "0.4")
71
71
  version,
72
72
  };
73
73
  }
74
- export function createMultiscales(images, metadata, scaleFactors, method) {
75
- return new Multiscales({
74
+ export function createNgffMultiscales(images, metadata, scaleFactors, method) {
75
+ return new NgffMultiscales({
76
76
  images: [...images],
77
77
  metadata,
78
78
  scaleFactors: scaleFactors || undefined,
@@ -80,4 +80,6 @@ export function createMultiscales(images, metadata, scaleFactors, method) {
80
80
  chunks: undefined,
81
81
  });
82
82
  }
83
+ // Backwards-compatible alias
84
+ export const createMultiscales = createNgffMultiscales;
83
85
  //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/utils/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/utils/factory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"from_zarr_attrs.d.ts","sourceRoot":"","sources":["../../src/utils/from_zarr_attrs.ts"],"names":[],"mappings":"AAGA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAGV,mBAAmB,EAMpB,MAAM,2BAA2B,CAAC;AAKnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsE3D;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,EACpD,QAAQ,UAAQ,GACf,OAAO,CAAC,mBAAmB,CAAC,CA6R9B;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,EACpD,QAAQ,UAAQ,GACf,OAAO,CAAC,mBAAmB,CAAC,CA6B9B"}
1
+ {"version":3,"file":"from_zarr_attrs.d.ts","sourceRoot":"","sources":["../../src/utils/from_zarr_attrs.ts"],"names":[],"mappings":"AAGA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAGV,mBAAmB,EAMpB,MAAM,2BAA2B,CAAC;AAKnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAiG3D;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,EACpD,QAAQ,UAAQ,GACf,OAAO,CAAC,mBAAmB,CAAC,CA+S9B;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,EACpD,QAAQ,UAAQ,GACf,OAAO,CAAC,mBAAmB,CAAC,CA6B9B"}
@@ -8,6 +8,7 @@ import { SUPPORTED_DIMS } from "../types/zarr_metadata.js";
8
8
  import { NgffImage } from "../types/ngff_image.js";
9
9
  import { parseOmero } from "./parse_metadata.js";
10
10
  import { hasRfc4OrientationMetadata, validateRfc4Orientation, } from "./rfc4_validation.js";
11
+ import { validateStructural, ValidationLevel, } from "./structural_validation.js";
11
12
  import { AnatomicalOrientationValues } from "../types/rfc4.js";
12
13
  /**
13
14
  * Map string orientation values to enum values
@@ -60,6 +61,28 @@ function extractOrientationsFromAxes(axesData) {
60
61
  }
61
62
  return hasOrientation ? orientations : undefined;
62
63
  }
64
+ /**
65
+ * Return whether an OME-Zarr spec version string is `0.4` or newer.
66
+ *
67
+ * The dotted version is compared component-wise as integers, so multi-digit
68
+ * minor versions order correctly: `"0.10"` is newer than `"0.4"`, not older.
69
+ * A plain `Number.parseFloat("0.10")` would yield `0.1` and wrongly drop v0.10+
70
+ * metadata from structural validation. This mirrors the Python port's
71
+ * `packaging.version.parse(version) >= packaging.version.parse("0.4")` gate.
72
+ *
73
+ * Returns `false` for an unparsable version (leading component not a number),
74
+ * matching the prior `Number.isNaN` guard that skipped validation in that case.
75
+ */
76
+ function isSpecVersionAtLeastV04(version) {
77
+ const [major, minor = 0] = version
78
+ .split(".")
79
+ .map((part) => Number.parseInt(part, 10));
80
+ if (Number.isNaN(major)) {
81
+ return false;
82
+ }
83
+ // A NaN minor (e.g. "0.x") fails `minor >= 4`, so it needs no separate guard.
84
+ return major > 0 || (major === 0 && minor >= 4);
85
+ }
63
86
  /**
64
87
  * Parse Metadata and NgffImages from OME-Zarr v0.4 root attributes.
65
88
  *
@@ -143,6 +166,13 @@ export async function fromZarrAttrsV04(rootAttrs, store, validate = false) {
143
166
  name: String(axisObj.name),
144
167
  type: String(axisObj.type),
145
168
  unit: axisObj.unit,
169
+ // Preserve RFC 4 orientation on the parsed axis so the strict
170
+ // structural pass below can run validateAxisOrientation; dropping it
171
+ // here makes that rule a no-op. This mirrors the Python port, whose
172
+ // _filter_axis_dict keeps the raw orientation field on each Axis.
173
+ ...(axisObj.orientation !== undefined && axisObj.orientation !== null
174
+ ? { orientation: axisObj.orientation }
175
+ : {}),
146
176
  };
147
177
  });
148
178
  }
@@ -288,6 +318,16 @@ export async function fromZarrAttrsV04(rootAttrs, store, validate = false) {
288
318
  }
289
319
  : {}),
290
320
  };
321
+ // Strict structural validation of the parsed metadata, layered after the
322
+ // schema pass and RFC 4 dict check above. The structural rules encode the
323
+ // v0.4+ metadata model (typed axes and per-dataset coordinate
324
+ // transformations); the legacy v0.1-0.3 layouts predate it, so the rules are
325
+ // scoped to v0.4 and newer.
326
+ if (validate) {
327
+ if (isSpecVersionAtLeastV04(metadata.version)) {
328
+ validateStructural(metadata, { level: ValidationLevel.Strict });
329
+ }
330
+ }
291
331
  return { metadata, images };
292
332
  }
293
333
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"from_zarr_attrs.js","sourceRoot":"","sources":["../../src/utils/from_zarr_attrs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"from_zarr_attrs.js","sourceRoot":"","sources":["../../src/utils/from_zarr_attrs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Python-style value formatting helpers shared across the validation modules.
3
+ *
4
+ * These keep `ValidationError` message bytes identical to the Python port,
5
+ * which the cross-language parity tests assert.
6
+ */
7
+ /**
8
+ * Render a list of names as a Python-style list literal, e.g. `['z', 'y']`.
9
+ *
10
+ * Mirrors Python's `str(list_of_str)` / f-string rendering: bracketed,
11
+ * single-quoted elements, comma-space separated. Both the structural
12
+ * spatial-axis-order message and the RFC 4 axis-orientation-completeness
13
+ * message interpolate this verbatim, so the two ports stay byte-for-byte
14
+ * identical. Axis names reaching these rules are single-quote-free, so the
15
+ * plain single-quoted element form is exact.
16
+ */
17
+ export declare function formatNameList(names: readonly string[]): string;
18
+ //# sourceMappingURL=py_format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"py_format.d.ts","sourceRoot":"","sources":["../../src/utils/py_format.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE/D"}
@@ -0,0 +1,22 @@
1
+ // SPDX-FileCopyrightText: Copyright (c) Fideus Labs LLC
2
+ // SPDX-License-Identifier: MIT
3
+ /**
4
+ * Python-style value formatting helpers shared across the validation modules.
5
+ *
6
+ * These keep `ValidationError` message bytes identical to the Python port,
7
+ * which the cross-language parity tests assert.
8
+ */
9
+ /**
10
+ * Render a list of names as a Python-style list literal, e.g. `['z', 'y']`.
11
+ *
12
+ * Mirrors Python's `str(list_of_str)` / f-string rendering: bracketed,
13
+ * single-quoted elements, comma-space separated. Both the structural
14
+ * spatial-axis-order message and the RFC 4 axis-orientation-completeness
15
+ * message interpolate this verbatim, so the two ports stay byte-for-byte
16
+ * identical. Axis names reaching these rules are single-quote-free, so the
17
+ * plain single-quoted element form is exact.
18
+ */
19
+ export function formatNameList(names) {
20
+ return `[${names.map((name) => `'${name}'`).join(", ")}]`;
21
+ }
22
+ //# sourceMappingURL=py_format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"py_format.js","sourceRoot":"","sources":["../../src/utils/py_format.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,+BAA+B;AAC/B;;;;;GAKG;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,KAAwB;IACrD,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC5D,CAAC"}
@@ -13,6 +13,14 @@ export declare function hasRfc4OrientationMetadata(axes: Array<Record<string, un
13
13
  /**
14
14
  * Validate RFC 4 anatomical orientation metadata.
15
15
  *
16
+ * The two inconsistency errors carry stable marker substrings -- `same type`
17
+ * for a mixed-`type` failure and `all spatial axes` for the all-or-none
18
+ * completeness failure -- that `validateAxisOrientation` reads to map each
19
+ * failure onto its `SpecRule`. These markers are a load-bearing contract
20
+ * pinned by a message-stability test (see
21
+ * `structural_validation_orientation_test.ts`) so the mapping cannot silently
22
+ * break if the wording is later edited.
23
+ *
16
24
  * @param axes - List of axis metadata dictionaries to validate
17
25
  * @throws Error if the orientation metadata is invalid or inconsistent
18
26
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rfc4_validation.d.ts","sourceRoot":"","sources":["../../src/utils/rfc4_validation.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AA0BH;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACnC,OAAO,CAYT;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACnC,IAAI,CA0DN"}
1
+ {"version":3,"file":"rfc4_validation.d.ts","sourceRoot":"","sources":["../../src/utils/rfc4_validation.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AA2BH;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACnC,OAAO,CAYT;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACnC,IAAI,CA4DN"}
@@ -6,6 +6,7 @@
6
6
  * This module provides validation for RFC 4 anatomical orientation metadata.
7
7
  */
8
8
  import { AnatomicalOrientationValuesSchema } from "../schemas/rfc4.js";
9
+ import { formatNameList } from "./py_format.js";
9
10
  /** Valid anatomical orientation values */
10
11
  const VALID_ORIENTATION_VALUES = new Set([
11
12
  "left-to-right",
@@ -47,6 +48,14 @@ export function hasRfc4OrientationMetadata(axes) {
47
48
  /**
48
49
  * Validate RFC 4 anatomical orientation metadata.
49
50
  *
51
+ * The two inconsistency errors carry stable marker substrings -- `same type`
52
+ * for a mixed-`type` failure and `all spatial axes` for the all-or-none
53
+ * completeness failure -- that `validateAxisOrientation` reads to map each
54
+ * failure onto its `SpecRule`. These markers are a load-bearing contract
55
+ * pinned by a message-stability test (see
56
+ * `structural_validation_orientation_test.ts`) so the mapping cannot silently
57
+ * break if the wording is later edited.
58
+ *
50
59
  * @param axes - List of axis metadata dictionaries to validate
51
60
  * @throws Error if the orientation metadata is invalid or inconsistent
52
61
  */
@@ -91,8 +100,10 @@ export function validateRfc4Orientation(axes) {
91
100
  if (hasOrientation && spatialAxesWithoutOrientation.length > 0) {
92
101
  throw new Error(`RFC 4 requires that if orientation is defined for one spatial axis, ` +
93
102
  `it must be defined for all spatial axes. ` +
94
- `Axes with orientation: ${spatialAxesWithOrientation.join(", ")}, ` +
95
- `axes without orientation: ${spatialAxesWithoutOrientation.join(", ")}`);
103
+ `Axes with orientation: ` +
104
+ `${formatNameList(spatialAxesWithOrientation)}, ` +
105
+ `axes without orientation: ` +
106
+ `${formatNameList(spatialAxesWithoutOrientation)}`);
96
107
  }
97
108
  }
98
109
  //# sourceMappingURL=rfc4_validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rfc4_validation.js","sourceRoot":"","sources":["../../src/utils/rfc4_validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rfc4_validation.js","sourceRoot":"","sources":["../../src/utils/rfc4_validation.ts"],"names":[],"mappings":"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"}