@fideus-labs/ngff-zarr 0.15.1 → 0.16.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.
@@ -1 +1 @@
1
- {"version":3,"file":"ngff_image_to_itk_image.d.ts","sourceRoot":"","sources":["../../src/io/ngff_image_to_itk_image.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,KAAK,EAEL,QAAQ,EAGT,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAErB,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,GACxC,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAyB/C;AAoCD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,KAAK,CAAC,CAqMhB"}
1
+ {"version":3,"file":"ngff_image_to_itk_image.d.ts","sourceRoot":"","sources":["../../src/io/ngff_image_to_itk_image.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,KAAK,EAEL,QAAQ,EAGT,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAInD,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAErB,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,GACxC,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAyB/C;AAoCD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,KAAK,CAAC,CAuOhB"}
@@ -6,6 +6,7 @@
6
6
  import * as zarr from "zarrita";
7
7
  import { defaultCodecs } from "../utils/codecs.js";
8
8
  import { NgffImage } from "../types/ngff_image.js";
9
+ import { anatomicalOrientationToItkDirection } from "../types/rfc4.js";
9
10
  import { zarrGet, zarrSet } from "../utils/worker_pool.js";
10
11
  /**
11
12
  * Convert the data type from zarr DataType to ITK-Wasm component type
@@ -202,10 +203,41 @@ export async function ngffImageToItkImage(ngffImage, options = {}) {
202
203
  // Read all data from zarr array
203
204
  const selection = new Array(data.shape.length).fill(null);
204
205
  const dataChunk = await zarrGet(data, selection);
205
- // Create direction matrix (identity for now)
206
+ // Build direction matrix from anatomical orientations when available.
207
+ // sortedItkDims is in ITK physical-space order [x, y, z (, t)].
208
+ // Column j of the direction matrix corresponds to sortedItkDims[j].
206
209
  const direction = new Float64Array(dimension * dimension);
207
210
  for (let i = 0; i < dimension; i++) {
208
- direction[i * dimension + i] = 1.0;
211
+ direction[i * dimension + i] = 1.0; // Start with identity
212
+ }
213
+ const orientations = workingImage.axesOrientations;
214
+ if (orientations) {
215
+ // Only spatial dims (not "t") contribute to the direction matrix.
216
+ const spatialItkDims = sortedItkDims.filter((d) => d !== "t");
217
+ const nSpatial = spatialItkDims.length;
218
+ const columns = [];
219
+ let useOrientations = true;
220
+ for (const dim of spatialItkDims) {
221
+ const ori = orientations[dim];
222
+ if (ori === undefined) {
223
+ useOrientations = false;
224
+ break;
225
+ }
226
+ const col = anatomicalOrientationToItkDirection(ori.value);
227
+ if (col === undefined) {
228
+ // Non-LPS orientation: fall back to identity
229
+ useOrientations = false;
230
+ break;
231
+ }
232
+ columns.push(col);
233
+ }
234
+ if (useOrientations && columns.length > 0) {
235
+ for (let colIdx = 0; colIdx < nSpatial; colIdx++) {
236
+ for (let row = 0; row < nSpatial; row++) {
237
+ direction[row * dimension + colIdx] = columns[colIdx][row];
238
+ }
239
+ }
240
+ }
209
241
  }
210
242
  // Create ITK-Wasm Image
211
243
  const itkImage = {
@@ -1 +1 @@
1
- {"version":3,"file":"ngff_image_to_itk_image.js","sourceRoot":"","sources":["../../src/io/ngff_image_to_itk_image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngff_image_to_itk_image.js","sourceRoot":"","sources":["../../src/io/ngff_image_to_itk_image.ts"],"names":[],"mappings":"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"}
@@ -98,6 +98,24 @@ export declare function itkLpsToAnatomicalOrientation(axisName: string): Anatomi
98
98
  * @throws Error if directionColumn has fewer than 2 elements
99
99
  */
100
100
  export declare function itkDirectionToAnatomicalOrientation(directionColumn: readonly number[]): AnatomicalOrientation;
101
+ /**
102
+ * Convert an anatomical orientation to an ITK direction cosine vector.
103
+ *
104
+ * This is the reverse of {@link itkDirectionToAnatomicalOrientation}.
105
+ * Given an anatomical orientation value, it returns the unit direction
106
+ * column vector in ITK LPS physical space.
107
+ *
108
+ * Only the six LPS-compatible orientations are supported. For any other
109
+ * orientation (e.g. dorsal, palmar, rostral, etc.) the function returns
110
+ * `undefined`, signalling that the caller should fall back to an identity
111
+ * direction matrix.
112
+ *
113
+ * @param orientation - The anatomical orientation value.
114
+ * @returns A 3-element unit direction column vector `[lps_x, lps_y, lps_z]`,
115
+ * or `undefined` if the orientation is not one of the six LPS-compatible
116
+ * values.
117
+ */
118
+ export declare function anatomicalOrientationToItkDirection(orientation: AnatomicalOrientationValues): number[] | undefined;
101
119
  /**
102
120
  * Check if RFC 4 is enabled in the list of enabled RFCs.
103
121
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rfc4.d.ts","sourceRoot":"","sources":["../../src/types/rfc4.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH;;;;;GAKG;AACH,oBAAY,2BAA2B;IAErC,WAAW,kBAAkB;IAE7B,WAAW,kBAAkB;IAE7B,mBAAmB,0BAA0B;IAE7C,mBAAmB,0BAA0B;IAE7C,kBAAkB,yBAAyB;IAE3C,kBAAkB,yBAAyB;IAE3C,eAAe,sBAAsB;IAErC,eAAe,sBAAsB;IAErC,cAAc,qBAAqB;IAEnC,cAAc,qBAAqB;IAEnC,eAAe,sBAAsB;IAErC,eAAe,sBAAsB;IAErC,eAAe,sBAAsB;IAErC,eAAe,sBAAsB;IAErC,eAAe,sBAAsB;IAErC,eAAe,sBAAsB;IAErC,gBAAgB,uBAAuB;IAEvC,gBAAgB,uBAAuB;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,2BAA2B,GACjC,qBAAqB,CAKvB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAQrD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAQrD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,GACf,qBAAqB,GAAG,SAAS,CAEnC;AA8CD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mCAAmC,CACjD,eAAe,EAAE,SAAS,MAAM,EAAE,GACjC,qBAAqB,CAsBvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAE7D;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,WAAW,EAAE,qBAAqB,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzB;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB"}
1
+ {"version":3,"file":"rfc4.d.ts","sourceRoot":"","sources":["../../src/types/rfc4.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH;;;;;GAKG;AACH,oBAAY,2BAA2B;IAErC,WAAW,kBAAkB;IAE7B,WAAW,kBAAkB;IAE7B,mBAAmB,0BAA0B;IAE7C,mBAAmB,0BAA0B;IAE7C,kBAAkB,yBAAyB;IAE3C,kBAAkB,yBAAyB;IAE3C,eAAe,sBAAsB;IAErC,eAAe,sBAAsB;IAErC,cAAc,qBAAqB;IAEnC,cAAc,qBAAqB;IAEnC,eAAe,sBAAsB;IAErC,eAAe,sBAAsB;IAErC,eAAe,sBAAsB;IAErC,eAAe,sBAAsB;IAErC,eAAe,sBAAsB;IAErC,eAAe,sBAAsB;IAErC,gBAAgB,uBAAuB;IAEvC,gBAAgB,uBAAuB;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,2BAA2B,GACjC,qBAAqB,CAKvB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAQrD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAQrD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,GACf,qBAAqB,GAAG,SAAS,CAEnC;AA8CD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mCAAmC,CACjD,eAAe,EAAE,SAAS,MAAM,EAAE,GACjC,qBAAqB,CAsBvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,2BAA2B,GACvC,MAAM,EAAE,GAAG,SAAS,CAmBtB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAE7D;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,WAAW,EAAE,qBAAqB,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzB;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB"}
package/esm/types/rfc4.js CHANGED
@@ -185,6 +185,39 @@ export function itkDirectionToAnatomicalOrientation(directionColumn) {
185
185
  const value = directionColumn[dominantAxis] >= 0 ? pair[0] : pair[1];
186
186
  return createAnatomicalOrientation(value);
187
187
  }
188
+ /**
189
+ * Convert an anatomical orientation to an ITK direction cosine vector.
190
+ *
191
+ * This is the reverse of {@link itkDirectionToAnatomicalOrientation}.
192
+ * Given an anatomical orientation value, it returns the unit direction
193
+ * column vector in ITK LPS physical space.
194
+ *
195
+ * Only the six LPS-compatible orientations are supported. For any other
196
+ * orientation (e.g. dorsal, palmar, rostral, etc.) the function returns
197
+ * `undefined`, signalling that the caller should fall back to an identity
198
+ * direction matrix.
199
+ *
200
+ * @param orientation - The anatomical orientation value.
201
+ * @returns A 3-element unit direction column vector `[lps_x, lps_y, lps_z]`,
202
+ * or `undefined` if the orientation is not one of the six LPS-compatible
203
+ * values.
204
+ */
205
+ export function anatomicalOrientationToItkDirection(orientation) {
206
+ for (let axisIndex = 0; axisIndex < LPS_ORIENTATION_PAIRS.length; axisIndex++) {
207
+ const [pos, neg] = LPS_ORIENTATION_PAIRS[axisIndex];
208
+ if (orientation === pos) {
209
+ const col = [0, 0, 0];
210
+ col[axisIndex] = 1;
211
+ return col;
212
+ }
213
+ if (orientation === neg) {
214
+ const col = [0, 0, 0];
215
+ col[axisIndex] = -1;
216
+ return col;
217
+ }
218
+ }
219
+ return undefined;
220
+ }
188
221
  /**
189
222
  * Check if RFC 4 is enabled in the list of enabled RFCs.
190
223
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rfc4.js","sourceRoot":"","sources":["../../src/types/rfc4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rfc4.js","sourceRoot":"","sources":["../../src/types/rfc4.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fideus-labs/ngff-zarr",
3
- "version": "0.15.1",
3
+ "version": "0.16.0",
4
4
  "description": "TypeScript implementation of ngff-zarr for reading and writing OME-Zarr files",
5
5
  "license": "MIT",
6
6
  "type": "module",