@fideus-labs/ngff-zarr 0.18.1 → 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.
@@ -25,6 +25,7 @@ export type { ChannelStatisticsAccumulator } from "./utils/compute_omero-shared.
25
25
  export { buildOmeroFromAccumulators, computeChannelStatistics, createAccumulator, extractChannel, finalizeStatistics, QUANTILE_SAMPLE_SIZE, updateAccumulator, validateQuantiles, } from "./utils/compute_omero-shared.js";
26
26
  export { createAxis, createDataset, createMetadata, createMultiscales, createNgffImage, createNgffMultiscales, } from "./utils/factory.js";
27
27
  export { getMethodMetadata } from "./utils/method_metadata.js";
28
+ export { SpecRule, type ValidateOptions, validatePlate, validateStructural, validateWell, ValidationError, ValidationLevel, } from "./utils/structural_validation.js";
28
29
  export { isValidDimension, isValidUnit, validateMetadata, } from "./utils/validation.js";
29
30
  export { terminateWorkerPool, zarrGet, zarrSet } from "./utils/worker_pool.js";
30
31
  //# sourceMappingURL=browser-mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-mod.d.ts","sourceRoot":"","sources":["../src/browser-mod.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIxD,OAAO,EACL,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,mBAAmB,EACxB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,WAAW,GACjB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,UAAU,EACV,KAAK,iBAAiB,EACtB,aAAa,EACb,KAAK,oBAAoB,EACzB,SAAS,EACT,KAAK,gBAAgB,EACrB,YAAY,EACZ,KAAK,mBAAmB,GACzB,MAAM,8BAA8B,CAAC;AAEtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,kCAAkC,EAClC,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAEpF,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"browser-mod.d.ts","sourceRoot":"","sources":["../src/browser-mod.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIxD,OAAO,EACL,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,mBAAmB,EACxB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,WAAW,GACjB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,UAAU,EACV,KAAK,iBAAiB,EACtB,aAAa,EACb,KAAK,oBAAoB,EACzB,SAAS,EACT,KAAK,gBAAgB,EACrB,YAAY,EACZ,KAAK,mBAAmB,GACzB,MAAM,8BAA8B,CAAC;AAEtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,kCAAkC,EAClC,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAEpF,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACL,QAAQ,EACR,KAAK,eAAe,EACpB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
@@ -36,6 +36,7 @@ export { computeOmeroFromMultiscales, computeOmeroFromNgffImage, getDefaultColor
36
36
  export { buildOmeroFromAccumulators, computeChannelStatistics, createAccumulator, extractChannel, finalizeStatistics, QUANTILE_SAMPLE_SIZE, updateAccumulator, validateQuantiles, } from "./utils/compute_omero-shared.js";
37
37
  export { createAxis, createDataset, createMetadata, createMultiscales, createNgffImage, createNgffMultiscales, } from "./utils/factory.js";
38
38
  export { getMethodMetadata } from "./utils/method_metadata.js";
39
+ export { SpecRule, validatePlate, validateStructural, validateWell, ValidationError, ValidationLevel, } from "./utils/structural_validation.js";
39
40
  export { isValidDimension, isValidUnit, validateMetadata, } from "./utils/validation.js";
40
41
  export { terminateWorkerPool, zarrGet, zarrSet } from "./utils/worker_pool.js";
41
42
  //# sourceMappingURL=browser-mod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-mod.js","sourceRoot":"","sources":["../src/browser-mod.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,+BAA+B;AAC/B,oCAAoC;AACpC,wEAAwE;AACxE,EAAE;AACF,kFAAkF;AAClF,yEAAyE;AAEzE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxD,iCAAiC;AACjC,0EAA0E;AAC1E,iFAAiF;AACjF,OAAO,EAEL,YAAY,EAEZ,WAAW,GAGZ,MAAM,gCAAgC,CAAC;AACxC,gCAAgC;AAChC,OAAO,EACL,mBAAmB,GAEpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GAEpB,MAAM,iCAAiC,CAAC;AAEzC,gBAAgB;AAChB,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,UAAU,EAEV,aAAa,EAEb,SAAS,EAET,YAAY,GAEb,MAAM,8BAA8B,CAAC;AACtC,wCAAwC;AACxC,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC;AAK3B,oCAAoC;AACpC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,qEAAqE;AACrE,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"browser-mod.js","sourceRoot":"","sources":["../src/browser-mod.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,+BAA+B;AAC/B,oCAAoC;AACpC,wEAAwE;AACxE,EAAE;AACF,kFAAkF;AAClF,yEAAyE;AAEzE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxD,iCAAiC;AACjC,0EAA0E;AAC1E,iFAAiF;AACjF,OAAO,EAEL,YAAY,EAEZ,WAAW,GAGZ,MAAM,gCAAgC,CAAC;AACxC,gCAAgC;AAChC,OAAO,EACL,mBAAmB,GAEpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GAEpB,MAAM,iCAAiC,CAAC;AAEzC,gBAAgB;AAChB,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,UAAU,EAEV,aAAa,EAEb,SAAS,EAET,YAAY,GAEb,MAAM,8BAA8B,CAAC;AACtC,wCAAwC;AACxC,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC;AAK3B,oCAAoC;AACpC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,qEAAqE;AACrE,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACL,QAAQ,EAER,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hcs.d.ts","sourceRoot":"","sources":["../../src/io/hcs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,iBAAiB,CAAC;AAG/D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAE/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,GAAE,kBAAuB,GAC/B,QAAQ,CAkCV;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,GAAE,gBAAqB,GAC9B,IAAI,CAaN"}
1
+ {"version":3,"file":"hcs.d.ts","sourceRoot":"","sources":["../../src/io/hcs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,iBAAiB,CAAC;AAO/D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAE/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,GAAE,kBAAuB,GAC/B,QAAQ,CAyCV;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,GAAE,gBAAqB,GAC9B,IAAI,CAaN"}
package/esm/io/hcs.js CHANGED
@@ -1,12 +1,10 @@
1
1
  import { HCSPlate as HCSPlateClass } from "../types/hcs.js";
2
+ import { validatePlate, ValidationLevel, } from "../utils/structural_validation.js";
2
3
  /**
3
4
  * Read an HCS plate from an OME-Zarr NGFF store.
4
5
  */
5
6
  export function fromHcsZarr(store, options = {}) {
6
7
  const { validate = false, wellCacheSize, imageCacheSize } = options;
7
- if (validate) {
8
- console.warn("HCS validation not yet implemented");
9
- }
10
8
  if (typeof store !== "string") {
11
9
  throw new Error("Non-string store types not yet supported");
12
10
  }
@@ -26,11 +24,21 @@ export function fromHcsZarr(store, options = {}) {
26
24
  field_count: 2,
27
25
  name: "Test Plate",
28
26
  };
27
+ if (validate) {
28
+ // Strict structural validation of the parsed plate, layered after the
29
+ // schema pass (schema first, then structural -- mirrors the image reader).
30
+ // Per-well image rules run lazily in HCSPlate.getWell, where each well's
31
+ // own metadata is loaded. These plate/well rules are version-agnostic and
32
+ // the HCS reader handles only v0.4/v0.5 plates, so -- unlike the image
33
+ // reader's structural pass -- no >=0.4 version gate is required.
34
+ validatePlate(plateMetadata, { level: ValidationLevel.Strict });
35
+ }
29
36
  return new HCSPlateClass({
30
37
  store,
31
38
  metadata: plateMetadata,
32
39
  wellCacheSize,
33
40
  imageCacheSize,
41
+ validate,
34
42
  });
35
43
  }
36
44
  /**
package/esm/io/hcs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hcs.js","sourceRoot":"","sources":["../../src/io/hcs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAa5D;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,KAAsB,EACtB,UAA8B,EAAE;IAEhC,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAEpE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,wCAAwC;IACxC,iFAAiF;IACjF,MAAM,aAAa,GAAkB;QACnC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACvC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACpC,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;YAC5C,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;YAC5C,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;YAC5C,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;SAC7C;QACD,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QACnD,WAAW,EAAE,CAAC;QACd,IAAI,EAAE,YAAY;KACnB,CAAC;IAEF,OAAO,IAAI,aAAa,CAAC;QACvB,KAAK;QACL,QAAQ,EAAE,aAAa;QACvB,aAAa;QACb,cAAc;KACf,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,KAAe,EACf,KAAsB,EACtB,WAA6B,EAAE;IAE/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,2CAA2C,KAAK,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,MAAM,cAAc,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"hcs.js","sourceRoot":"","sources":["../../src/io/hcs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACL,aAAa,EACb,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAa3C;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,KAAsB,EACtB,UAA8B,EAAE;IAEhC,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAEpE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,wCAAwC;IACxC,iFAAiF;IACjF,MAAM,aAAa,GAAkB;QACnC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACvC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACpC,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;YAC5C,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;YAC5C,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;YAC5C,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;SAC7C;QACD,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QACnD,WAAW,EAAE,CAAC;QACd,IAAI,EAAE,YAAY;KACnB,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,sEAAsE;QACtE,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,iEAAiE;QACjE,aAAa,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,IAAI,aAAa,CAAC;QACvB,KAAK;QACL,QAAQ,EAAE,aAAa;QACvB,aAAa;QACb,cAAc;QACd,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,KAAe,EACf,KAAsB,EACtB,WAA6B,EAAE;IAE/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,2CAA2C,KAAK,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,MAAM,cAAc,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
@@ -7,6 +7,8 @@ export interface ToOmeZarrOptions {
7
7
  overwrite?: boolean;
8
8
  version?: "0.4" | "0.5";
9
9
  chunksPerShard?: number | number[] | Record<string, number>;
10
+ /** List of RFC numbers to enable (e.g., [4] for RFC 4 anatomical orientation) */
11
+ enabledRfcs?: number[];
10
12
  /**
11
13
  * Custom codec pipeline for array compression. When omitted the default
12
14
  * ``blosc(zstd)`` pipeline from {@link defaultCodecs} is used. Use
@@ -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;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI/D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,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;IAC5D;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,wDAAwD;AACxD,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACnC;;;;;;OAMG;IACH,UAAU,CAAC,EACP,CAAC,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC,GACxD,SAAS,CAAC;CACf;AAED,2DAA2D;AAC3D,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEvD;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC,UAAU,EAC7C,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA2Ff;AAED,iDAAiD;AACjD,eAAO,MAAM,UAAU,kBAAY,CAAC;AA2VpC;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,eAAe,EAC5B,QAAQ,GAAE,mBAAwB,GACjC,OAAO,CAAC,UAAU,CAAC,CAmBrB;AAED,oDAAoD;AACpD,eAAO,MAAM,aAAa,qBAAe,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;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAO/D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,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;IAC5D,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,wDAAwD;AACxD,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACnC;;;;;;OAMG;IACH,UAAU,CAAC,EACP,CAAC,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC,GACxD,SAAS,CAAC;CACf;AAED,2DAA2D;AAC3D,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEvD;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC,UAAU,EAC7C,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAkGf;AAED,iDAAiD;AACjD,eAAO,MAAM,UAAU,kBAAY,CAAC;AA2VpC;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,eAAe,EAC5B,QAAQ,GAAE,mBAAwB,GACjC,OAAO,CAAC,UAAU,CAAC,CAmBrB;AAED,oDAAoD;AACpD,eAAO,MAAM,aAAa,qBAAe,CAAC"}
@@ -6,7 +6,7 @@ import * as zarr from "zarrita";
6
6
  import { defaultCodecs } from "../utils/codecs.js";
7
7
  import { createWriteQueue, zarrGet, zarrSet } from "../utils/worker_pool.js";
8
8
  import { memoryStoreToZip } from "./rfc9_zip.js";
9
- import { writeNgffMultiscalesToMemoryStore } from "./to_ngff_zarr_ozx_common.js";
9
+ import { processAxesForRfcs, writeNgffMultiscalesToMemoryStore, } from "./to_ngff_zarr_ozx_common.js";
10
10
  export { isOzxPath } from "./rfc9_zip.js";
11
11
  /**
12
12
  * Browser-compatible version of toOmeZarr.
@@ -16,6 +16,7 @@ export { isOzxPath } from "./rfc9_zip.js";
16
16
  export async function toOmeZarr(store, multiscales, options = {}) {
17
17
  const _overwrite = options.overwrite ?? true;
18
18
  const _version = options.version ?? "0.4";
19
+ const enabledRfcs = options.enabledRfcs;
19
20
  try {
20
21
  // Determine the appropriate store type based on the path
21
22
  let _resolvedStore;
@@ -34,11 +35,13 @@ export async function toOmeZarr(store, multiscales, options = {}) {
34
35
  }
35
36
  // Create root location and group with zarrita v0.5.2 API
36
37
  const root = zarr.root(_resolvedStore);
38
+ // Process axes - filter orientation based on enabledRfcs
39
+ const processedAxes = processAxesForRfcs(multiscales.metadata.axes, enabledRfcs);
37
40
  // Prepare multiscales metadata
38
41
  const multiscalesMetadata = {
39
42
  version: _version,
40
43
  name: multiscales.metadata.name,
41
- axes: multiscales.metadata.axes,
44
+ axes: processedAxes,
42
45
  datasets: multiscales.metadata.datasets,
43
46
  ...(multiscales.metadata.coordinateTransformations && {
44
47
  coordinateTransformations: multiscales.metadata.coordinateTransformations,
@@ -1 +1 @@
1
- {"version":3,"file":"to_ngff_zarr-browser.js","sourceRoot":"","sources":["../../src/io/to_ngff_zarr-browser.ts"],"names":[],"mappings":"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"}
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/mod.d.ts CHANGED
@@ -29,6 +29,7 @@ export { createAxis, createDataset, createMetadata, createMultiscales, createNgf
29
29
  export { fromZarrAttrsV04, fromZarrAttrsV05 } from "./utils/from_zarr_attrs.js";
30
30
  export { getMethodMetadata } from "./utils/method_metadata.js";
31
31
  export { detectVersion, extractMethodMetadata, parseOmero, } from "./utils/parse_metadata.js";
32
+ export { SpecRule, type ValidateOptions, validatePlate, validateStructural, validateWell, ValidationError, ValidationLevel, } from "./utils/structural_validation.js";
32
33
  export { isValidDimension, isValidUnit, validateMetadata, } from "./utils/validation.js";
33
34
  export { terminateWorkerPool, zarrGet, zarrSet } from "./utils/worker_pool.js";
34
35
  //# sourceMappingURL=mod.d.ts.map
package/esm/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,kCAAkC,EAClC,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,kCAAkC,EAClC,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,QAAQ,EACR,KAAK,eAAe,EACpB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
package/esm/mod.js CHANGED
@@ -29,6 +29,7 @@ export { createAxis, createDataset, createMetadata, createMultiscales, createNgf
29
29
  export { fromZarrAttrsV04, fromZarrAttrsV05 } from "./utils/from_zarr_attrs.js";
30
30
  export { getMethodMetadata } from "./utils/method_metadata.js";
31
31
  export { detectVersion, extractMethodMetadata, parseOmero, } from "./utils/parse_metadata.js";
32
+ export { SpecRule, validatePlate, validateStructural, validateWell, ValidationError, ValidationLevel, } from "./utils/structural_validation.js";
32
33
  export { isValidDimension, isValidUnit, validateMetadata, } from "./utils/validation.js";
33
34
  export { terminateWorkerPool, zarrGet, zarrSet } from "./utils/worker_pool.js";
34
35
  //# sourceMappingURL=mod.js.map
package/esm/mod.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,+BAA+B;AAE/B,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAEhD,gBAAgB;AAChB,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,+BAA+B;AAE/B,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAEhD,gBAAgB;AAChB,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,QAAQ,EAER,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
@@ -30,6 +30,12 @@ export interface HCSPlateOptions {
30
30
  metadata: PlateMetadata;
31
31
  wellCacheSize?: number | undefined;
32
32
  imageCacheSize?: number | undefined;
33
+ /**
34
+ * When `true`, each well's structural rules run as it is first loaded via
35
+ * {@link HCSPlate.getWell}. Defaults to `false`, leaving the read path
36
+ * unvalidated. Set by `fromHcsZarr` when its own `validate` flag is enabled.
37
+ */
38
+ validate?: boolean | undefined;
33
39
  }
34
40
  export interface HCSWellOptions {
35
41
  store: string | object;
@@ -57,6 +63,7 @@ export declare class HCSPlate {
57
63
  readonly metadata: PlateMetadata;
58
64
  private readonly _wells;
59
65
  private readonly imageCacheSize;
66
+ private readonly _validate;
60
67
  constructor(options: HCSPlateOptions);
61
68
  get name(): string | undefined;
62
69
  get rows(): PlateRow[];
@@ -1 +1 @@
1
- {"version":3,"file":"hcs.d.ts","sourceRoot":"","sources":["../../src/types/hcs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hcs.d.ts","sourceRoot":"","sources":["../../src/types/hcs.ts"],"names":[],"mappings":"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"}
package/esm/types/hcs.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { validateWell, ValidationLevel, } from "../utils/structural_validation.js";
1
2
  export class LRUCache {
2
3
  cache;
3
4
  maxSize;
@@ -130,6 +131,7 @@ export class HCSPlate {
130
131
  metadata;
131
132
  _wells;
132
133
  imageCacheSize;
134
+ _validate;
133
135
  constructor(options) {
134
136
  this.store = options.store;
135
137
  this.metadata = {
@@ -144,6 +146,7 @@ export class HCSPlate {
144
146
  name: options.metadata.name,
145
147
  };
146
148
  this.imageCacheSize = options.imageCacheSize;
149
+ this._validate = options.validate ?? false;
147
150
  const wellCacheSize = options.wellCacheSize ?? 500;
148
151
  this._wells = new LRUCache({ maxSize: wellCacheSize });
149
152
  }
@@ -180,15 +183,25 @@ export class HCSPlate {
180
183
  return cached;
181
184
  }
182
185
  // Load the well
186
+ let well;
183
187
  try {
184
- const well = HCSWell.fromStore(this.store, wellPath, wellMeta, this.imageCacheSize);
185
- this._wells.set(wellPath, well);
186
- return well;
188
+ well = HCSWell.fromStore(this.store, wellPath, wellMeta, this.imageCacheSize);
187
189
  }
188
190
  catch (error) {
189
191
  console.error(`Failed to load well at ${wellPath}:`, error);
190
192
  return null;
191
193
  }
194
+ if (this._validate) {
195
+ // Strict structural validation of the well's own metadata in the context
196
+ // of this plate, performed where each well is first loaded (mirrors the
197
+ // schema/structural split in fromHcsZarr). A ValidationError propagates
198
+ // to the caller rather than being swallowed as a load failure.
199
+ validateWell(this.metadata, well.metadata, {
200
+ level: ValidationLevel.Strict,
201
+ });
202
+ }
203
+ this._wells.set(wellPath, well);
204
+ return well;
192
205
  }
193
206
  getWellByIndices(rowIndex, columnIndex) {
194
207
  if (rowIndex < 0 ||
@@ -1 +1 @@
1
- {"version":3,"file":"hcs.js","sourceRoot":"","sources":["../../src/types/hcs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hcs.js","sourceRoot":"","sources":["../../src/types/hcs.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,YAAY,EACZ,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAM3C,MAAM,OAAO,QAAQ;IACX,KAAK,CAAY;IACR,OAAO,CAAS;IAEjC,YAAY,OAAwB;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,GAAM;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,mCAAmC;YACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,uBAAuB;YACvB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3C,kCAAkC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAsCD,MAAM,OAAO,OAAO;IACD,KAAK,CAAkB;IACxB,IAAI,CAAS;IACb,aAAa,CAAY;IACzB,QAAQ,CAAe;IACtB,OAAO,CAAoC;IAE5D,YAAY,OAAuB;QACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG;YACd,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAC7C,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,OAAO;SAC3C,CAAC;QAEF,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,QAAQ,CAA0B;YACnD,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;IACxC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,aAAqB,CAAC;QACnC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QAEnD,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,mCAAmC;QACnC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAEhE,IAAI,aAAqB,CAAC;QAC1B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnC,mDAAmD;YACnD,aAAa,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,uDAAuD;YACvD,iEAAiE;YACjE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACzC,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,aAAa,GAAG,EAAE,KAAK,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,qBAAqB,CACnB,aAAqB,EACrB,aAAqB,CAAC;QAEtB,4CAA4C;QAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CACnD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,aAAa,CAC3C,CAAC;QAEF,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC7D,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,+CAA+C;QAC/C,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,SAAS,CACd,KAAsB,EACtB,QAAgB,EAChB,YAAuB,EACvB,cAAmC;QAEnC,oFAAoF;QACpF,MAAM,iBAAiB,GAAiB;YACtC,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE;gBAC7B,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE;aAC9B;YACD,OAAO,EAAE,KAAK;SACf,CAAC;QAEF,OAAO,IAAI,OAAO,CAAC;YACjB,KAAK;YACL,QAAQ;YACR,aAAa,EAAE,YAAY;YAC3B,iBAAiB;YACjB,cAAc;SACf,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,QAAQ;IACF,KAAK,CAAkB;IACxB,QAAQ,CAAgB;IACvB,MAAM,CAA4B;IAClC,cAAc,CAAqB;IACnC,SAAS,CAAU;IAEpC,YAAY,OAAwB;QAClC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG;YACd,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YACtC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAClC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;YACjC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY;gBACzC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACpC,CAAC,CAAC,SAAS;YACb,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;YACzC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;SAC5B,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;QAE3C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,GAAG,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAkB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY;YAC/B,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,UAAkB;QACzC,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;QAE5C,mCAAmC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,gBAAgB;QAChB,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,OAAO,CAAC,SAAS,CACtB,IAAI,CAAC,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,IAAI,CAAC,cAAc,CACpB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,yEAAyE;YACzE,wEAAwE;YACxE,wEAAwE;YACxE,+DAA+D;YAC/D,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACzC,KAAK,EAAE,eAAe,CAAC,MAAM;aAC9B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,QAAgB,EAAE,WAAmB;QACpD,IACE,QAAQ,GAAG,CAAC;YACZ,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM;YACrC,WAAW,GAAG,CAAC;YACf,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAC3C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;CACF"}
@@ -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":"AAAA,wDAAwD;AACxD,+BAA+B;AAE/B;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAWhC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAE/D;;GAEG;AACH,MAAM,qBAAqB,GAAgD;IACzE,eAAe,EAAE,2BAA2B,CAAC,WAAW;IACxD,eAAe,EAAE,2BAA2B,CAAC,WAAW;IACxD,uBAAuB,EAAE,2BAA2B,CAAC,mBAAmB;IACxE,uBAAuB,EAAE,2BAA2B,CAAC,mBAAmB;IACxE,sBAAsB,EAAE,2BAA2B,CAAC,kBAAkB;IACtE,sBAAsB,EAAE,2BAA2B,CAAC,kBAAkB;IACtE,mBAAmB,EAAE,2BAA2B,CAAC,eAAe;IAChE,mBAAmB,EAAE,2BAA2B,CAAC,eAAe;IAChE,kBAAkB,EAAE,2BAA2B,CAAC,cAAc;IAC9D,kBAAkB,EAAE,2BAA2B,CAAC,cAAc;IAC9D,mBAAmB,EAAE,2BAA2B,CAAC,eAAe;IAChE,mBAAmB,EAAE,2BAA2B,CAAC,eAAe;IAChE,mBAAmB,EAAE,2BAA2B,CAAC,eAAe;IAChE,mBAAmB,EAAE,2BAA2B,CAAC,eAAe;IAChE,mBAAmB,EAAE,2BAA2B,CAAC,eAAe;IAChE,mBAAmB,EAAE,2BAA2B,CAAC,eAAe;IAChE,oBAAoB,EAAE,2BAA2B,CAAC,gBAAgB;IAClE,oBAAoB,EAAE,2BAA2B,CAAC,gBAAgB;CACnE,CAAC;AAEF;;;GAGG;AACH,SAAS,2BAA2B,CAClC,QAAiD;IAEjD,MAAM,YAAY,GAA0C,EAAE,CAAC;IAC/D,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAA+B,CAAC;YAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAc,CAAC;YACpC,MAAM,WAAW,GAAG,OAAO,CAAC,WAEf,CAAC;YAEd,IACE,WAAW;gBACX,OAAO,WAAW,KAAK,QAAQ;gBAC/B,WAAW,CAAC,IAAI,KAAK,YAAY,EACjC,CAAC;gBACD,MAAM,SAAS,GAAG,qBAAqB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,SAAS,EAAE,CAAC;oBACd,YAAY,CAAC,IAAI,CAAC,GAAG;wBACnB,IAAI,EAAE,YAAqB;wBAC3B,KAAK,EAAE,SAAS;qBACjB,CAAC;oBACF,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAkC,EAClC,KAAoD,EACpD,QAAQ,GAAG,KAAK;IAEhB,mCAAmC;IACnC,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAwB,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,CAA4B,CAAC;IAE3E,gEAAgE;IAChE,IAAI,QAAQ,EAAE,CAAC;QACb,8BAA8B;QAC9B,IAAI,CAAC,CAAC,aAAa,IAAI,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC;YACrC,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAClC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,IACE,MAAM,IAAI,mBAAmB;YAC7B,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EACvC,CAAC;YACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAEpC,CAAC;YACF,qDAAqD;YACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAC/B,CAAC,IAAI,EAAmC,EAAE,CACxC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAC5C,CAAC;YACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,0BAA0B,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClE,uBAAuB,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,KAAK,GAAsB,UAAU,CACzC,SAAS,CAAC,KAA4C,CACvD,CAAC;IAEF,oDAAoD;IACpD,IAAI,IAAc,CAAC;IACnB,IAAI,IAAY,CAAC;IACjB,IAAI,KAAwC,CAAC;IAE7C,IAAI,CAAC,CAAC,MAAM,IAAI,mBAAmB,CAAC,EAAE,CAAC;QACrC,oCAAoC;QACpC,IAAI,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,GAAG;YACL,EAAE,IAAI,EAAE,GAAoB,EAAE,IAAI,EAAE,MAAkB,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE;gBACE,IAAI,EAAE,GAAoB;gBAC1B,IAAI,EAAE,SAAqB;gBAC3B,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,GAAoB;gBAC1B,IAAI,EAAE,OAAmB;gBACzB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,GAAoB;gBAC1B,IAAI,EAAE,OAAmB;gBACzB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,GAAoB;gBAC1B,IAAI,EAAE,OAAmB;gBACzB,IAAI,EAAE,SAAS;aAChB;SACF,CAAC;QACF,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAEpC,CAAC;QACF,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxB,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAClE,CAAC;QAEF,8DAA8D;QAC9D,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3B,MAAM,OAAO,GAAG,IAA+B,CAAC;gBAChD,OAAO;oBACL,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAkB;oBAC3C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAa;oBACtC,IAAI,EAAE,OAAO,CAAC,IAAyB;iBACxC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,QAAQ,GAA6B;gBACzC,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,SAAS;gBACZ,CAAC,EAAE,OAAO;gBACV,CAAC,EAAE,OAAO;gBACV,CAAC,EAAE,OAAO;aACX,CAAC;YACF,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAkB,CAAC;gBAC3C,OAAO;oBACL,IAAI;oBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO;oBAC/B,IAAI,EAAE,SAAS;iBAChB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5D,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,IAA+B,CAAC;gBAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAc,CAAC;gBACpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAyB,CAAC;gBAC/C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,IAAI,gBAAmE,CAAC;IACxE,IACE,MAAM,IAAI,mBAAmB,IAAI,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EACxE,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAEpC,CAAC;QACF,gBAAgB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,uCAAuC;IACvC,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAExC,CAAC;IAEF,mCAAmC;IACnC,IAAI,cAA6D,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,mBAAmB,GACtB,IAEC;aACC,mBAAmB,CAAC;QACzB,IAAI,mBAAmB,EAAE,CAAC;YACxB,cAAc,GAAG,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAGjC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,cAAc,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAA+B,EAAE;QAC5D,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IAEH,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAElC,sBAAsB;QACtB,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrD,IAAI,EAAE,OAAO;SACd,CAAC,CAA6C,CAAC;QAEhD,mCAAmC;QACnC,MAAM,KAAK,GAA2B,MAAM,CAAC,WAAW,CACtD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAC1B,CAAC;QACF,MAAM,WAAW,GAA2B,MAAM,CAAC,WAAW,CAC5D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAC1B,CAAC;QACF,MAAM,yBAAyB,GAAgB,EAAE,CAAC;QAElD,IAAI,2BAA2B,IAAI,OAAO,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,yBAE1B,CAAC;YACF,KAAK,MAAM,cAAc,IAAI,UAAU,EAAE,CAAC;gBACxC,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;oBAC9B,MAAM,WAAW,GAAG,cAAc,CAAC,KAAiB,CAAC;oBACrD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBACtB,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;4BAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;wBAC9B,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,yBAAyB,CAAC,IAAI,CAAC;wBAC7B,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,WAAW;qBACV,CAAC,CAAC;gBACd,CAAC;qBAAM,IAAI,aAAa,IAAI,cAAc,EAAE,CAAC;oBAC3C,MAAM,iBAAiB,GAAG,cAAc,CAAC,WAAuB,CAAC;oBACjE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBACtB,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC;4BACjC,WAAW,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,yBAAyB,CAAC,IAAI,CAAC;wBAC7B,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,iBAAiB;qBAChB,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI;YACJ,yBAAyB;SAC1B,CAAC,CAAC;QAEH,MAAM,aAAa,GAA0B,EAAE,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACxC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;YAC9B,IAAI,EAAE,SAAS;YACf,IAAI;YACJ,KAAK;YACL,WAAW;YACX,IAAI,EAAG,mBAAmB,CAAC,IAAe,IAAI,OAAO;YACrD,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC9C,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,SAAS;YACb,gBAAgB;YAChB,iBAAiB,EAAE,SAAS;SAC7B,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAED,wFAAwF;IACxF,MAAM,QAAQ,GAAsB;QAClC,IAAI;QACJ,QAAQ;QACR,IAAI,EAAG,mBAAmB,CAAC,IAAe,IAAI,OAAO;QACrD,OAAO,EAAG,mBAAmB,CAAC,OAAkB,IAAI,KAAK;QACzD,KAAK;QACL,yBAAyB,EACtB,mBAAmB,CAAC,yBAAyC;YAC5D,SAAS;QACb,GAAG,CAAC,mBAAmB,CAAC,IAAI,KAAK,SAAS;YACtC,mBAAmB,CAAC,IAAI,KAAK,IAAI;YACnC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;YAC5C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,mBAAmB,CAAC,QAAQ,KAAK,SAAS;YAC1C,mBAAmB,CAAC,QAAQ,KAAK,IAAI;YACvC,CAAC,CAAC;gBACA,QAAQ,EAAE,mBAAmB,CAAC,QAI7B;aACF;YACD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAkC,EAClC,KAAoD,EACpD,QAAQ,GAAG,KAAK;IAEhB,4EAA4E;IAC5E,MAAM,OAAO,GAAG,SAAS,CAAC,GAA0C,CAAC;IAErE,IAAI,QAAiC,CAAC;IACtC,IAAI,OAAO,IAAI,aAAa,IAAI,OAAO,EAAE,CAAC;QACxC,0CAA0C;QAC1C,QAAQ,GAAG;YACT,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK;SACxC,CAAC;IACJ,CAAC;SAAM,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QACtC,2EAA2E;QAC3E,QAAQ,GAAG;YACT,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEjE,wBAAwB;IACxB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;IAEhC,OAAO,MAAM,CAAC;AAChB,CAAC"}
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