@fideus-labs/ngff-zarr 0.2.4 → 0.2.5

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 (192) hide show
  1. package/README.md +268 -76
  2. package/esm/browser-mod.js +1 -0
  3. package/esm/browser-mod.js.map +1 -0
  4. package/esm/io/from_ngff_zarr.d.ts.map +1 -1
  5. package/esm/io/from_ngff_zarr.js +2 -2
  6. package/esm/io/from_ngff_zarr.js.map +1 -0
  7. package/esm/io/hcs.js +1 -0
  8. package/esm/io/hcs.js.map +1 -0
  9. package/esm/io/itk_image_to_ngff_image.js +1 -0
  10. package/esm/io/itk_image_to_ngff_image.js.map +1 -0
  11. package/esm/io/ngff_image_to_itk_image.js +1 -0
  12. package/esm/io/ngff_image_to_itk_image.js.map +1 -0
  13. package/esm/io/to_ngff_image.js +1 -0
  14. package/esm/io/to_ngff_image.js.map +1 -0
  15. package/esm/io/to_ngff_zarr.d.ts.map +1 -1
  16. package/esm/io/to_ngff_zarr.js +2 -2
  17. package/esm/io/to_ngff_zarr.js.map +1 -0
  18. package/esm/methods/itkwasm-browser.js +1 -0
  19. package/esm/methods/itkwasm-browser.js.map +1 -0
  20. package/esm/methods/itkwasm-node.js +1 -0
  21. package/esm/methods/itkwasm-node.js.map +1 -0
  22. package/esm/methods/itkwasm-shared.js +1 -0
  23. package/esm/methods/itkwasm-shared.js.map +1 -0
  24. package/esm/methods/itkwasm.d.ts +14 -0
  25. package/esm/methods/itkwasm.d.ts.map +1 -0
  26. package/esm/methods/itkwasm.js +18 -0
  27. package/esm/methods/itkwasm.js.map +1 -0
  28. package/esm/mod.js +1 -0
  29. package/esm/mod.js.map +1 -0
  30. package/esm/process/to_multiscales-browser.js +1 -0
  31. package/esm/process/to_multiscales-browser.js.map +1 -0
  32. package/esm/process/to_multiscales-node.js +1 -0
  33. package/esm/process/to_multiscales-node.js.map +1 -0
  34. package/esm/process/to_multiscales-shared.js +1 -0
  35. package/esm/process/to_multiscales-shared.js.map +1 -0
  36. package/esm/schemas/coordinate_systems.js +1 -0
  37. package/esm/schemas/coordinate_systems.js.map +1 -0
  38. package/esm/schemas/index.js +1 -0
  39. package/esm/schemas/index.js.map +1 -0
  40. package/esm/schemas/methods.js +1 -0
  41. package/esm/schemas/methods.js.map +1 -0
  42. package/esm/schemas/multiscales.js +1 -0
  43. package/esm/schemas/multiscales.js.map +1 -0
  44. package/esm/schemas/ngff_image.js +1 -0
  45. package/esm/schemas/ngff_image.js.map +1 -0
  46. package/esm/schemas/ome_zarr.js +1 -0
  47. package/esm/schemas/ome_zarr.js.map +1 -0
  48. package/esm/schemas/rfc4.js +1 -0
  49. package/esm/schemas/rfc4.js.map +1 -0
  50. package/esm/schemas/units.js +1 -0
  51. package/esm/schemas/units.js.map +1 -0
  52. package/esm/schemas/zarr_metadata.js +1 -0
  53. package/esm/schemas/zarr_metadata.js.map +1 -0
  54. package/esm/types/array_interface.js +1 -0
  55. package/esm/types/array_interface.js.map +1 -0
  56. package/esm/types/hcs.js +1 -0
  57. package/esm/types/hcs.js.map +1 -0
  58. package/esm/types/methods.js +1 -0
  59. package/esm/types/methods.js.map +1 -0
  60. package/esm/types/multiscales.js +1 -0
  61. package/esm/types/multiscales.js.map +1 -0
  62. package/esm/types/ngff_image.js +1 -0
  63. package/esm/types/ngff_image.js.map +1 -0
  64. package/esm/types/rfc4.js +1 -0
  65. package/esm/types/rfc4.js.map +1 -0
  66. package/esm/types/units.js +1 -0
  67. package/esm/types/units.js.map +1 -0
  68. package/esm/types/zarr_metadata.js +1 -0
  69. package/esm/types/zarr_metadata.js.map +1 -0
  70. package/esm/utils/create_queue.js +1 -0
  71. package/esm/utils/create_queue.js.map +1 -0
  72. package/esm/utils/factory.js +1 -0
  73. package/esm/utils/factory.js.map +1 -0
  74. package/esm/utils/method_metadata.js +1 -0
  75. package/esm/utils/method_metadata.js.map +1 -0
  76. package/esm/utils/validation.js +1 -0
  77. package/esm/utils/validation.js.map +1 -0
  78. package/package.json +23 -34
  79. package/esm/_dnt.shims.d.ts +0 -2
  80. package/esm/_dnt.shims.d.ts.map +0 -1
  81. package/esm/_dnt.shims.js +0 -57
  82. package/esm/package.json +0 -3
  83. package/script/_dnt.shims.d.ts +0 -2
  84. package/script/_dnt.shims.d.ts.map +0 -1
  85. package/script/_dnt.shims.js +0 -60
  86. package/script/browser-mod.d.ts +0 -16
  87. package/script/browser-mod.d.ts.map +0 -1
  88. package/script/browser-mod.js +0 -51
  89. package/script/io/from_ngff_zarr.d.ts +0 -10
  90. package/script/io/from_ngff_zarr.d.ts.map +0 -1
  91. package/script/io/from_ngff_zarr.js +0 -234
  92. package/script/io/hcs.d.ts +0 -18
  93. package/script/io/hcs.d.ts.map +0 -1
  94. package/script/io/hcs.js +0 -55
  95. package/script/io/itk_image_to_ngff_image.d.ts +0 -30
  96. package/script/io/itk_image_to_ngff_image.d.ts.map +0 -1
  97. package/script/io/itk_image_to_ngff_image.js +0 -153
  98. package/script/io/ngff_image_to_itk_image.d.ts +0 -30
  99. package/script/io/ngff_image_to_itk_image.d.ts.map +0 -1
  100. package/script/io/ngff_image_to_itk_image.js +0 -244
  101. package/script/io/to_ngff_image.d.ts +0 -17
  102. package/script/io/to_ngff_image.d.ts.map +0 -1
  103. package/script/io/to_ngff_image.js +0 -162
  104. package/script/io/to_ngff_zarr.d.ts +0 -10
  105. package/script/io/to_ngff_zarr.d.ts.map +0 -1
  106. package/script/io/to_ngff_zarr.js +0 -346
  107. package/script/methods/itkwasm-browser.d.ts +0 -6
  108. package/script/methods/itkwasm-browser.d.ts.map +0 -1
  109. package/script/methods/itkwasm-browser.js +0 -488
  110. package/script/methods/itkwasm-node.d.ts +0 -6
  111. package/script/methods/itkwasm-node.d.ts.map +0 -1
  112. package/script/methods/itkwasm-node.js +0 -493
  113. package/script/methods/itkwasm-shared.d.ts +0 -68
  114. package/script/methods/itkwasm-shared.d.ts.map +0 -1
  115. package/script/methods/itkwasm-shared.js +0 -524
  116. package/script/mod.d.ts +0 -24
  117. package/script/mod.d.ts.map +0 -1
  118. package/script/mod.js +0 -50
  119. package/script/package.json +0 -3
  120. package/script/process/to_multiscales-browser.d.ts +0 -17
  121. package/script/process/to_multiscales-browser.d.ts.map +0 -1
  122. package/script/process/to_multiscales-browser.js +0 -17
  123. package/script/process/to_multiscales-node.d.ts +0 -18
  124. package/script/process/to_multiscales-node.d.ts.map +0 -1
  125. package/script/process/to_multiscales-node.js +0 -21
  126. package/script/process/to_multiscales-shared.d.ts +0 -28
  127. package/script/process/to_multiscales-shared.d.ts.map +0 -1
  128. package/script/process/to_multiscales-shared.js +0 -66
  129. package/script/schemas/coordinate_systems.d.ts +0 -251
  130. package/script/schemas/coordinate_systems.d.ts.map +0 -1
  131. package/script/schemas/coordinate_systems.js +0 -142
  132. package/script/schemas/index.d.ts +0 -9
  133. package/script/schemas/index.d.ts.map +0 -1
  134. package/script/schemas/index.js +0 -101
  135. package/script/schemas/methods.d.ts +0 -3
  136. package/script/schemas/methods.d.ts.map +0 -1
  137. package/script/schemas/methods.js +0 -11
  138. package/script/schemas/multiscales.d.ts +0 -4
  139. package/script/schemas/multiscales.d.ts.map +0 -1
  140. package/script/schemas/multiscales.js +0 -24
  141. package/script/schemas/ngff_image.d.ts +0 -20
  142. package/script/schemas/ngff_image.d.ts.map +0 -1
  143. package/script/schemas/ngff_image.js +0 -24
  144. package/script/schemas/ome_zarr.d.ts +0 -617
  145. package/script/schemas/ome_zarr.d.ts.map +0 -1
  146. package/script/schemas/ome_zarr.js +0 -211
  147. package/script/schemas/rfc4.d.ts +0 -334
  148. package/script/schemas/rfc4.d.ts.map +0 -1
  149. package/script/schemas/rfc4.js +0 -132
  150. package/script/schemas/units.d.ts +0 -78
  151. package/script/schemas/units.d.ts.map +0 -1
  152. package/script/schemas/units.js +0 -70
  153. package/script/schemas/zarr_metadata.d.ts +0 -55
  154. package/script/schemas/zarr_metadata.d.ts.map +0 -1
  155. package/script/schemas/zarr_metadata.js +0 -71
  156. package/script/types/array_interface.d.ts +0 -7
  157. package/script/types/array_interface.d.ts.map +0 -1
  158. package/script/types/array_interface.js +0 -2
  159. package/script/types/hcs.d.ts +0 -70
  160. package/script/types/hcs.d.ts.map +0 -1
  161. package/script/types/hcs.js +0 -233
  162. package/script/types/methods.d.ts +0 -7
  163. package/script/types/methods.d.ts.map +0 -1
  164. package/script/types/methods.js +0 -12
  165. package/script/types/multiscales.d.ts +0 -21
  166. package/script/types/multiscales.d.ts.map +0 -1
  167. package/script/types/multiscales.js +0 -38
  168. package/script/types/ngff_image.d.ts +0 -27
  169. package/script/types/ngff_image.d.ts.map +0 -1
  170. package/script/types/ngff_image.js +0 -48
  171. package/script/types/rfc4.d.ts +0 -94
  172. package/script/types/rfc4.d.ts.map +0 -1
  173. package/script/types/rfc4.js +0 -143
  174. package/script/types/units.d.ts +0 -12
  175. package/script/types/units.d.ts.map +0 -1
  176. package/script/types/units.js +0 -66
  177. package/script/types/zarr_metadata.d.ts +0 -58
  178. package/script/types/zarr_metadata.d.ts.map +0 -1
  179. package/script/types/zarr_metadata.js +0 -20
  180. package/script/utils/create_queue.d.ts +0 -6
  181. package/script/utils/create_queue.d.ts.map +0 -1
  182. package/script/utils/create_queue.js +0 -17
  183. package/script/utils/factory.d.ts +0 -13
  184. package/script/utils/factory.d.ts.map +0 -1
  185. package/script/utils/factory.js +0 -108
  186. package/script/utils/method_metadata.d.ts +0 -10
  187. package/script/utils/method_metadata.d.ts.map +0 -1
  188. package/script/utils/method_metadata.js +0 -40
  189. package/script/utils/validation.d.ts +0 -6
  190. package/script/utils/validation.d.ts.map +0 -1
  191. package/script/utils/validation.js +0 -78
  192. /package/{LICENSE → LICENSE.txt} +0 -0
@@ -1,132 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AxesSchema = exports.AxisSchema = exports.TimeAxisSchema = exports.SpaceAxisSchema = exports.ChannelAxisSchema = exports.BaseAxisSchema = exports.TimeUnitSchema = exports.SpaceUnitSchema = exports.AxisTypeSchema = exports.SpaceAxesNamesSchema = exports.AxesNamesSchema = exports.OrientationSchema = exports.OrientationTypeSchema = exports.AnatomicalOrientationSchema = exports.AnatomicalOrientationValuesSchema = void 0;
4
- // SPDX-FileCopyrightText: Copyright (c) Fideus Labs LLC
5
- // SPDX-License-Identifier: MIT
6
- const zod_1 = require("zod");
7
- // Anatomical Orientation Values based on RFC4
8
- exports.AnatomicalOrientationValuesSchema = zod_1.z.enum([
9
- "left-to-right",
10
- "right-to-left",
11
- "anterior-to-posterior",
12
- "posterior-to-anterior",
13
- "inferior-to-superior",
14
- "superior-to-inferior",
15
- "dorsal-to-ventral",
16
- "ventral-to-dorsal",
17
- "dorsal-to-palmar",
18
- "palmar-to-dorsal",
19
- "dorsal-to-plantar",
20
- "plantar-to-dorsal",
21
- "rostral-to-caudal",
22
- "caudal-to-rostral",
23
- "cranial-to-caudal",
24
- "caudal-to-cranial",
25
- "proximal-to-distal",
26
- "distal-to-proximal",
27
- ]);
28
- // AnatomicalOrientation object schema
29
- exports.AnatomicalOrientationSchema = zod_1.z.object({
30
- type: zod_1.z.literal("anatomical"),
31
- value: exports.AnatomicalOrientationValuesSchema,
32
- });
33
- // Base Orientation schema (extensible for future orientation types)
34
- exports.OrientationTypeSchema = zod_1.z.enum(["anatomical"]);
35
- exports.OrientationSchema = zod_1.z.object({
36
- type: exports.OrientationTypeSchema,
37
- value: exports.AnatomicalOrientationValuesSchema,
38
- });
39
- // Axes Names enum
40
- exports.AxesNamesSchema = zod_1.z.enum(["t", "c", "z", "y", "x"]);
41
- // Space Axes Names enum (subset of AxesNames for spatial dimensions)
42
- exports.SpaceAxesNamesSchema = zod_1.z.enum(["z", "y", "x"]);
43
- // Axis Type enum
44
- exports.AxisTypeSchema = zod_1.z.enum(["channel", "space", "time"]);
45
- // Space Units enum
46
- exports.SpaceUnitSchema = zod_1.z.enum([
47
- "angstrom",
48
- "attometer",
49
- "centimeter",
50
- "decimeter",
51
- "exameter",
52
- "femtometer",
53
- "foot",
54
- "gigameter",
55
- "hectometer",
56
- "inch",
57
- "kilometer",
58
- "megameter",
59
- "meter",
60
- "micrometer",
61
- "mile",
62
- "millimeter",
63
- "nanometer",
64
- "parsec",
65
- "petameter",
66
- "picometer",
67
- "terameter",
68
- "yard",
69
- "yoctometer",
70
- "yottameter",
71
- "zeptometer",
72
- "zettameter",
73
- ]);
74
- // Time Units enum
75
- exports.TimeUnitSchema = zod_1.z.enum([
76
- "attosecond",
77
- "centisecond",
78
- "day",
79
- "decisecond",
80
- "exasecond",
81
- "femtosecond",
82
- "gigasecond",
83
- "hectosecond",
84
- "hour",
85
- "kilosecond",
86
- "megasecond",
87
- "microsecond",
88
- "millisecond",
89
- "minute",
90
- "nanosecond",
91
- "petasecond",
92
- "picosecond",
93
- "second",
94
- "terasecond",
95
- "yoctosecond",
96
- "yottasecond",
97
- "zeptosecond",
98
- "zettasecond",
99
- ]);
100
- // Base Axis schema
101
- exports.BaseAxisSchema = zod_1.z.object({
102
- name: zod_1.z.string(),
103
- type: exports.AxisTypeSchema,
104
- });
105
- // Channel Axis schema
106
- exports.ChannelAxisSchema = zod_1.z.object({
107
- name: zod_1.z.literal("c"),
108
- type: zod_1.z.literal("channel"),
109
- });
110
- // Space Axis schema (includes orientation)
111
- exports.SpaceAxisSchema = zod_1.z.object({
112
- name: exports.SpaceAxesNamesSchema,
113
- type: zod_1.z.literal("space"),
114
- unit: exports.SpaceUnitSchema,
115
- orientation: zod_1.z.union([exports.AnatomicalOrientationSchema, zod_1.z.null()]).optional(),
116
- });
117
- // Time Axis schema
118
- exports.TimeAxisSchema = zod_1.z.object({
119
- name: zod_1.z.literal("t"),
120
- type: zod_1.z.literal("time"),
121
- unit: exports.TimeUnitSchema,
122
- });
123
- // Union of all axis types
124
- exports.AxisSchema = zod_1.z.union([
125
- exports.ChannelAxisSchema,
126
- exports.SpaceAxisSchema,
127
- exports.TimeAxisSchema,
128
- ]);
129
- // Axes collection schema
130
- exports.AxesSchema = zod_1.z.object({
131
- axes: zod_1.z.array(exports.AxisSchema).nullable().optional(),
132
- });
@@ -1,78 +0,0 @@
1
- import { z } from "zod";
2
- export declare const SupportedDimsSchema: z.ZodEnum<{
3
- c: "c";
4
- x: "x";
5
- y: "y";
6
- z: "z";
7
- t: "t";
8
- }>;
9
- export declare const SpatialDimsSchema: z.ZodEnum<{
10
- x: "x";
11
- y: "y";
12
- z: "z";
13
- }>;
14
- export declare const AxesTypeSchema: z.ZodEnum<{
15
- time: "time";
16
- space: "space";
17
- channel: "channel";
18
- }>;
19
- export declare const SpaceUnitsSchema: z.ZodEnum<{
20
- angstrom: "angstrom";
21
- attometer: "attometer";
22
- centimeter: "centimeter";
23
- decimeter: "decimeter";
24
- exameter: "exameter";
25
- femtometer: "femtometer";
26
- foot: "foot";
27
- gigameter: "gigameter";
28
- hectometer: "hectometer";
29
- inch: "inch";
30
- kilometer: "kilometer";
31
- megameter: "megameter";
32
- meter: "meter";
33
- micrometer: "micrometer";
34
- mile: "mile";
35
- millimeter: "millimeter";
36
- nanometer: "nanometer";
37
- parsec: "parsec";
38
- petameter: "petameter";
39
- picometer: "picometer";
40
- terameter: "terameter";
41
- yard: "yard";
42
- yoctometer: "yoctometer";
43
- yottameter: "yottameter";
44
- zeptometer: "zeptometer";
45
- zettameter: "zettameter";
46
- }>;
47
- export declare const TimeUnitsSchema: z.ZodEnum<{
48
- attosecond: "attosecond";
49
- centisecond: "centisecond";
50
- day: "day";
51
- decisecond: "decisecond";
52
- exasecond: "exasecond";
53
- femtosecond: "femtosecond";
54
- gigasecond: "gigasecond";
55
- hectosecond: "hectosecond";
56
- hour: "hour";
57
- kilosecond: "kilosecond";
58
- megasecond: "megasecond";
59
- microsecond: "microsecond";
60
- millisecond: "millisecond";
61
- minute: "minute";
62
- nanosecond: "nanosecond";
63
- petasecond: "petasecond";
64
- picosecond: "picosecond";
65
- second: "second";
66
- terasecond: "terasecond";
67
- yoctosecond: "yoctosecond";
68
- yottasecond: "yottasecond";
69
- zeptosecond: "zeptosecond";
70
- zettasecond: "zettasecond";
71
- }>;
72
- export declare const UnitsSchema: z.ZodUnion<[
73
- typeof SpaceUnitsSchema,
74
- typeof TimeUnitsSchema
75
- ]>;
76
- export declare const dimensionValidator: z.ZodTypeAny;
77
- export declare const unitValidator: z.ZodTypeAny;
78
- //# sourceMappingURL=units.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../src/schemas/units.ts"],"names":[],"mappings":"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"}
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unitValidator = exports.dimensionValidator = exports.UnitsSchema = exports.TimeUnitsSchema = exports.SpaceUnitsSchema = exports.AxesTypeSchema = exports.SpatialDimsSchema = exports.SupportedDimsSchema = void 0;
4
- // SPDX-FileCopyrightText: Copyright (c) Fideus Labs LLC
5
- // SPDX-License-Identifier: MIT
6
- const zod_1 = require("zod");
7
- const units_js_1 = require("../types/units.js");
8
- exports.SupportedDimsSchema = zod_1.z.enum(["c", "x", "y", "z", "t"]);
9
- exports.SpatialDimsSchema = zod_1.z.enum(["x", "y", "z"]);
10
- exports.AxesTypeSchema = zod_1.z.enum(["time", "space", "channel"]);
11
- exports.SpaceUnitsSchema = zod_1.z.enum([
12
- "angstrom",
13
- "attometer",
14
- "centimeter",
15
- "decimeter",
16
- "exameter",
17
- "femtometer",
18
- "foot",
19
- "gigameter",
20
- "hectometer",
21
- "inch",
22
- "kilometer",
23
- "megameter",
24
- "meter",
25
- "micrometer",
26
- "mile",
27
- "millimeter",
28
- "nanometer",
29
- "parsec",
30
- "petameter",
31
- "picometer",
32
- "terameter",
33
- "yard",
34
- "yoctometer",
35
- "yottameter",
36
- "zeptometer",
37
- "zettameter",
38
- ]);
39
- exports.TimeUnitsSchema = zod_1.z.enum([
40
- "attosecond",
41
- "centisecond",
42
- "day",
43
- "decisecond",
44
- "exasecond",
45
- "femtosecond",
46
- "gigasecond",
47
- "hectosecond",
48
- "hour",
49
- "kilosecond",
50
- "megasecond",
51
- "microsecond",
52
- "millisecond",
53
- "minute",
54
- "nanosecond",
55
- "petasecond",
56
- "picosecond",
57
- "second",
58
- "terasecond",
59
- "yoctosecond",
60
- "yottasecond",
61
- "zeptosecond",
62
- "zettasecond",
63
- ]);
64
- exports.UnitsSchema = zod_1.z.union([exports.SpaceUnitsSchema, exports.TimeUnitsSchema]);
65
- exports.dimensionValidator = zod_1.z
66
- .string()
67
- .refine((dim) => units_js_1.supportedDims.includes(dim), { message: "Dimension must be one of: c, x, y, z, t" });
68
- exports.unitValidator = zod_1.z
69
- .string()
70
- .refine((unit) => [...units_js_1.timeUnits, ...units_js_1.spaceUnits].includes(unit), { message: "Unit must be a valid time or space unit" });
@@ -1,55 +0,0 @@
1
- import { z } from "zod";
2
- import { AxesTypeSchema, SupportedDimsSchema, UnitsSchema } from "./units.js";
3
- import { AnatomicalOrientationSchema } from "./rfc4.js";
4
- export declare const AxisSchema: z.ZodObject<{
5
- name: typeof SupportedDimsSchema;
6
- type: typeof AxesTypeSchema;
7
- unit: z.ZodOptional<typeof UnitsSchema>;
8
- orientation: z.ZodOptional<typeof AnatomicalOrientationSchema>;
9
- }>;
10
- export declare const IdentitySchema: z.ZodObject<{
11
- type: z.ZodLiteral<"identity">;
12
- }>;
13
- export declare const ScaleSchema: z.ZodObject<{
14
- scale: z.ZodArray<z.ZodNumber>;
15
- type: z.ZodLiteral<"scale">;
16
- }>;
17
- export declare const TranslationSchema: z.ZodObject<{
18
- translation: z.ZodArray<z.ZodNumber>;
19
- type: z.ZodLiteral<"translation">;
20
- }>;
21
- export declare const TransformSchema: z.ZodType<unknown>;
22
- export declare const DatasetSchema: z.ZodObject<{
23
- path: z.ZodString;
24
- coordinateTransformations: z.ZodArray<typeof TransformSchema>;
25
- }>;
26
- export declare const OmeroWindowSchema: z.ZodObject<{
27
- min: z.ZodNumber;
28
- max: z.ZodNumber;
29
- start: z.ZodNumber;
30
- end: z.ZodNumber;
31
- }>;
32
- export declare const OmeroChannelSchema: z.ZodObject<{
33
- color: z.ZodString;
34
- window: typeof OmeroWindowSchema;
35
- label: z.ZodOptional<z.ZodString>;
36
- }>;
37
- export declare const OmeroSchema: z.ZodObject<{
38
- channels: z.ZodArray<typeof OmeroChannelSchema>;
39
- }>;
40
- export declare const MethodMetadataSchema: z.ZodType<{
41
- description: string;
42
- method: string;
43
- version: string;
44
- }>;
45
- export declare const MetadataSchema: z.ZodObject<{
46
- axes: z.ZodArray<typeof AxisSchema>;
47
- datasets: z.ZodArray<typeof DatasetSchema>;
48
- coordinateTransformations: z.ZodOptional<z.ZodArray<typeof TransformSchema>>;
49
- omero: z.ZodOptional<typeof OmeroSchema>;
50
- name: z.ZodDefault<z.ZodString>;
51
- version: z.ZodDefault<z.ZodString>;
52
- type: z.ZodOptional<z.ZodString>;
53
- metadata: z.ZodOptional<typeof MethodMetadataSchema>;
54
- }>;
55
- //# sourceMappingURL=zarr_metadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zarr_metadata.d.ts","sourceRoot":"","sources":["../../src/schemas/zarr_metadata.ts"],"names":[],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MetadataSchema = exports.MethodMetadataSchema = exports.OmeroSchema = exports.OmeroChannelSchema = exports.OmeroWindowSchema = exports.DatasetSchema = exports.TransformSchema = exports.TranslationSchema = exports.ScaleSchema = exports.IdentitySchema = exports.AxisSchema = void 0;
4
- // SPDX-FileCopyrightText: Copyright (c) Fideus Labs LLC
5
- // SPDX-License-Identifier: MIT
6
- const zod_1 = require("zod");
7
- const units_js_1 = require("./units.js");
8
- const rfc4_js_1 = require("./rfc4.js");
9
- const coordinate_systems_js_1 = require("./coordinate_systems.js");
10
- // Enhanced Axis schema that supports RFC4 orientation
11
- exports.AxisSchema = zod_1.z.object({
12
- name: units_js_1.SupportedDimsSchema,
13
- type: units_js_1.AxesTypeSchema,
14
- unit: units_js_1.UnitsSchema.optional(),
15
- // RFC4: Optional orientation for space axes
16
- orientation: rfc4_js_1.AnatomicalOrientationSchema.optional(),
17
- });
18
- // Legacy schemas for backward compatibility
19
- exports.IdentitySchema = zod_1.z.object({
20
- type: zod_1.z.literal("identity"),
21
- });
22
- exports.ScaleSchema = zod_1.z.object({
23
- scale: zod_1.z.array(zod_1.z.number()),
24
- type: zod_1.z.literal("scale"),
25
- });
26
- exports.TranslationSchema = zod_1.z.object({
27
- translation: zod_1.z.array(zod_1.z.number()),
28
- type: zod_1.z.literal("translation"),
29
- });
30
- // Enhanced transform schema that includes all RFC5 transformations
31
- exports.TransformSchema = zod_1.z.union([
32
- exports.ScaleSchema,
33
- exports.TranslationSchema,
34
- exports.IdentitySchema,
35
- coordinate_systems_js_1.CoordinateTransformationSchema,
36
- ]);
37
- exports.DatasetSchema = zod_1.z.object({
38
- path: zod_1.z.string(),
39
- coordinateTransformations: zod_1.z.array(exports.TransformSchema),
40
- });
41
- exports.OmeroWindowSchema = zod_1.z.object({
42
- min: zod_1.z.number(),
43
- max: zod_1.z.number(),
44
- start: zod_1.z.number(),
45
- end: zod_1.z.number(),
46
- });
47
- exports.OmeroChannelSchema = zod_1.z.object({
48
- color: zod_1.z.string().regex(/^[0-9A-Fa-f]{6}$/, {
49
- message: "Color must be 6 hex digits",
50
- }),
51
- window: exports.OmeroWindowSchema,
52
- label: zod_1.z.string().optional(),
53
- });
54
- exports.OmeroSchema = zod_1.z.object({
55
- channels: zod_1.z.array(exports.OmeroChannelSchema),
56
- });
57
- exports.MethodMetadataSchema = zod_1.z.object({
58
- description: zod_1.z.string(),
59
- method: zod_1.z.string(),
60
- version: zod_1.z.string(),
61
- });
62
- exports.MetadataSchema = zod_1.z.object({
63
- axes: zod_1.z.array(exports.AxisSchema),
64
- datasets: zod_1.z.array(exports.DatasetSchema),
65
- coordinateTransformations: zod_1.z.array(exports.TransformSchema).optional(),
66
- omero: exports.OmeroSchema.optional(),
67
- name: zod_1.z.string().default("image"),
68
- version: zod_1.z.string().default("0.4"),
69
- type: zod_1.z.string().optional(),
70
- metadata: exports.MethodMetadataSchema.optional(),
71
- });
@@ -1,7 +0,0 @@
1
- export interface ArrayLike {
2
- readonly shape: number[];
3
- readonly dtype: string;
4
- readonly chunks: number[];
5
- readonly path?: string;
6
- }
7
- //# sourceMappingURL=array_interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"array_interface.d.ts","sourceRoot":"","sources":["../../src/types/array_interface.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,70 +0,0 @@
1
- import type { Multiscales } from "./multiscales.js";
2
- import type { PlateAcquisition, PlateColumn, PlateRow, PlateWell, WellImage } from "../schemas/index.js";
3
- export interface LRUCacheOptions {
4
- maxSize: number;
5
- }
6
- export declare class LRUCache<K, V> {
7
- private cache;
8
- private readonly maxSize;
9
- constructor(options: LRUCacheOptions);
10
- get(key: K): V | undefined;
11
- set(key: K, value: V): void;
12
- has(key: K): boolean;
13
- clear(): void;
14
- }
15
- export interface PlateMetadata {
16
- columns: PlateColumn[];
17
- rows: PlateRow[];
18
- wells: PlateWell[];
19
- version: string;
20
- acquisitions?: PlateAcquisition[] | undefined;
21
- field_count?: number | undefined;
22
- name?: string | undefined;
23
- }
24
- export interface WellMetadata {
25
- images: WellImage[];
26
- version: string;
27
- }
28
- export interface HCSPlateOptions {
29
- store: string | object;
30
- metadata: PlateMetadata;
31
- wellCacheSize?: number | undefined;
32
- imageCacheSize?: number | undefined;
33
- }
34
- export interface HCSWellOptions {
35
- store: string | object;
36
- wellPath: string;
37
- plateMetadata: PlateWell;
38
- wellGroupMetadata: WellMetadata;
39
- imageCacheSize?: number | undefined;
40
- }
41
- export declare class HCSWell {
42
- private readonly store;
43
- readonly path: string;
44
- readonly plateMetadata: PlateWell;
45
- readonly metadata: WellMetadata;
46
- private readonly _images;
47
- constructor(options: HCSWellOptions);
48
- get rowIndex(): number;
49
- get columnIndex(): number;
50
- get images(): WellImage[];
51
- getImage(fieldIndex?: number): Promise<Multiscales | null>;
52
- getImageByAcquisition(acquisitionId: number, fieldIndex?: number): Promise<Multiscales | null>;
53
- static fromStore(store: string | object, wellPath: string, wellMetadata: PlateWell, imageCacheSize?: number | undefined): HCSWell;
54
- }
55
- export declare class HCSPlate {
56
- private readonly store;
57
- readonly metadata: PlateMetadata;
58
- private readonly _wells;
59
- private readonly imageCacheSize;
60
- constructor(options: HCSPlateOptions);
61
- get name(): string | undefined;
62
- get rows(): PlateRow[];
63
- get columns(): PlateColumn[];
64
- get wells(): PlateWell[];
65
- get acquisitions(): PlateAcquisition[] | undefined;
66
- get fieldCount(): number | undefined;
67
- getWell(rowName: string, columnName: string): HCSWell | null;
68
- getWellByIndices(rowIndex: number, columnIndex: number): HCSWell | null;
69
- }
70
- //# sourceMappingURL=hcs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hcs.d.ts","sourceRoot":"","sources":["../../src/types/hcs.ts"],"names":[],"mappings":"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"}