@fideus-labs/fiff 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +319 -0
- package/dist/chunk-reader.d.ts.map +1 -1
- package/dist/chunk-reader.js +2 -4
- package/dist/chunk-reader.js.map +1 -1
- package/dist/dtypes.d.ts +15 -0
- package/dist/dtypes.d.ts.map +1 -1
- package/dist/dtypes.js +36 -11
- package/dist/dtypes.js.map +1 -1
- package/dist/ifd-indexer.d.ts.map +1 -1
- package/dist/ifd-indexer.js +2 -7
- package/dist/ifd-indexer.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +2 -4
- package/dist/metadata.js.map +1 -1
- package/dist/ome-xml-writer.d.ts +57 -0
- package/dist/ome-xml-writer.d.ts.map +1 -0
- package/dist/ome-xml-writer.js +210 -0
- package/dist/ome-xml-writer.js.map +1 -0
- package/dist/ome-xml.d.ts.map +1 -1
- package/dist/ome-xml.js +2 -7
- package/dist/ome-xml.js.map +1 -1
- package/dist/tiff-store.d.ts +0 -9
- package/dist/tiff-store.d.ts.map +1 -1
- package/dist/tiff-store.js +2 -0
- package/dist/tiff-store.js.map +1 -1
- package/dist/tiff-writer.d.ts +65 -0
- package/dist/tiff-writer.d.ts.map +1 -0
- package/dist/tiff-writer.js +373 -0
- package/dist/tiff-writer.js.map +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +2 -4
- package/dist/utils.js.map +1 -1
- package/dist/write.d.ts +58 -0
- package/dist/write.d.ts.map +1 -0
- package/dist/write.js +159 -0
- package/dist/write.js.map +1 -0
- package/package.json +11 -1
package/README.md
ADDED
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
<!-- SPDX-FileCopyrightText: Copyright (c) Fideus Labs LLC -->
|
|
2
|
+
<!-- SPDX-License-Identifier: MIT -->
|
|
3
|
+
<p align="center">
|
|
4
|
+
<strong>fiff</strong>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://github.com/fideus-labs/fiff/actions/workflows/ci.yml"><img src="https://github.com/fideus-labs/fiff/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
9
|
+
<a href="https://www.npmjs.com/package/@fideus-labs/fiff"><img src="https://img.shields.io/npm/v/@fideus-labs/fiff" alt="npm version" /></a>
|
|
10
|
+
<a href="https://github.com/fideus-labs/fiff/blob/main/LICENSE.txt"><img src="https://img.shields.io/npm/l/@fideus-labs/fiff" alt="license" /></a>
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
<p align="center">
|
|
14
|
+
Read and write <a href="https://docs.openmicroscopy.org/ome-model/latest/ome-tiff/">OME-TIFF</a> files through a <a href="https://github.com/manzt/zarrita.js">zarrita.js</a> Zarr store following the <a href="https://ngff.openmicroscopy.org/0.5/">OME-Zarr v0.5</a> data model.
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
## ✨ Features
|
|
18
|
+
|
|
19
|
+
### Reading
|
|
20
|
+
|
|
21
|
+
- 🚀 **Lazy HTTP range requests** -- Chunk data is fetched on demand via
|
|
22
|
+
geotiff.js `readRasters()`, no full file download needed
|
|
23
|
+
- 📐 **OME-XML support** -- Parses OME-XML metadata for dimensions, channels,
|
|
24
|
+
physical units, and all 6 DimensionOrder permutations
|
|
25
|
+
- 🔍 **Pyramid detection** -- Automatically discovers multi-resolution levels
|
|
26
|
+
via SubIFDs (modern), flat IFDs (legacy), or COG overviews
|
|
27
|
+
- 🧩 **Edge-chunk zero-padding** -- Boundary chunks are automatically padded to
|
|
28
|
+
full tile size for correct Zarr consumption
|
|
29
|
+
- 🔗 **zarrita.js compatible** -- Implements the `AsyncReadable` interface;
|
|
30
|
+
use directly with `zarr.open()` from zarrita.js
|
|
31
|
+
- 📋 **OME-Zarr v0.5 output** -- Generates Zarr v3 metadata with
|
|
32
|
+
`ome.multiscales` and `ome.omero` attributes
|
|
33
|
+
|
|
34
|
+
### Writing
|
|
35
|
+
|
|
36
|
+
- 📝 **OME-TIFF generation** -- Convert ngff-zarr `Multiscales` objects to
|
|
37
|
+
valid OME-TIFF files with embedded OME-XML metadata
|
|
38
|
+
- 🔻 **Full pyramid support** -- Multi-resolution levels are written as SubIFDs,
|
|
39
|
+
matching the modern OME-TIFF pyramid convention
|
|
40
|
+
- 🗜️ **Deflate compression** -- Optional zlib/deflate compression for smaller
|
|
41
|
+
files, compatible with all major TIFF readers
|
|
42
|
+
- 📐 **5D support** -- Handles all dimension orders (XYZCT, XYZTC, etc.) and
|
|
43
|
+
arbitrary combinations of T, C, Z, Y, X axes
|
|
44
|
+
|
|
45
|
+
## 📦 Installation
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npm install @fideus-labs/fiff
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
For write support, also install the optional peer dependency:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
npm install @fideus-labs/ngff-zarr
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## ⚡ Usage
|
|
58
|
+
|
|
59
|
+
### Reading: Open an OME-TIFF as a Zarr store
|
|
60
|
+
|
|
61
|
+
#### From a remote URL
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
import { TiffStore } from "@fideus-labs/fiff";
|
|
65
|
+
import * as zarr from "zarrita";
|
|
66
|
+
|
|
67
|
+
const store = await TiffStore.fromUrl("https://example.com/image.ome.tif");
|
|
68
|
+
const group = await zarr.open(store as unknown as zarr.Readable, { kind: "group" });
|
|
69
|
+
|
|
70
|
+
// Open the full-resolution array (level 0)
|
|
71
|
+
const arr = await zarr.open(group.resolve("0"), { kind: "array" });
|
|
72
|
+
const chunk = await zarr.get(arr);
|
|
73
|
+
|
|
74
|
+
console.log(chunk.shape); // e.g. [1, 3, 1, 512, 512]
|
|
75
|
+
console.log(chunk.data); // Float32Array, Uint16Array, etc.
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### From an ArrayBuffer
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
const response = await fetch("https://example.com/image.tif");
|
|
82
|
+
const buffer = await response.arrayBuffer();
|
|
83
|
+
const store = await TiffStore.fromArrayBuffer(buffer);
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
#### From a File / Blob
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
const file = document.querySelector("input[type=file]").files[0];
|
|
90
|
+
const store = await TiffStore.fromBlob(file);
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
#### From an existing GeoTIFF instance
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
import { fromUrl } from "geotiff";
|
|
97
|
+
|
|
98
|
+
const tiff = await fromUrl("https://example.com/image.tif");
|
|
99
|
+
const store = await TiffStore.fromGeoTIFF(tiff);
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
#### Accessing store metadata
|
|
103
|
+
|
|
104
|
+
```typescript
|
|
105
|
+
const store = await TiffStore.fromUrl("https://example.com/image.ome.tif");
|
|
106
|
+
|
|
107
|
+
store.levels; // number of resolution levels
|
|
108
|
+
store.dataType; // "uint16", "float32", etc.
|
|
109
|
+
store.dimensionNames; // ["t", "c", "z", "y", "x"]
|
|
110
|
+
store.getShape(0); // full-res shape, e.g. [1, 3, 1, 2048, 2048]
|
|
111
|
+
store.getShape(1); // level 1 shape, e.g. [1, 3, 1, 1024, 1024]
|
|
112
|
+
store.ome; // parsed OME-XML image metadata (if present)
|
|
113
|
+
store.pyramidInfo; // pyramid structure details
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Writing: Convert ngff-zarr Multiscales to OME-TIFF
|
|
117
|
+
|
|
118
|
+
`toOmeTiff()` takes an ngff-zarr `Multiscales` object and returns a complete
|
|
119
|
+
OME-TIFF file as an `ArrayBuffer`.
|
|
120
|
+
|
|
121
|
+
#### Basic write
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
import { toOmeTiff } from "@fideus-labs/fiff";
|
|
125
|
+
import {
|
|
126
|
+
createNgffImage,
|
|
127
|
+
createAxis,
|
|
128
|
+
createDataset,
|
|
129
|
+
createMetadata,
|
|
130
|
+
createMultiscales,
|
|
131
|
+
} from "@fideus-labs/ngff-zarr";
|
|
132
|
+
import * as zarr from "zarrita";
|
|
133
|
+
|
|
134
|
+
// 1. Create an ngff-zarr image
|
|
135
|
+
const image = await createNgffImage(
|
|
136
|
+
[], // no parent images
|
|
137
|
+
[512, 512], // shape: [y, x]
|
|
138
|
+
"uint16", // data type
|
|
139
|
+
["y", "x"], // dimension names
|
|
140
|
+
{ y: 0.5, x: 0.5 }, // pixel spacing (micrometers)
|
|
141
|
+
{ y: 0.0, x: 0.0 }, // origin offsets
|
|
142
|
+
"my-image",
|
|
143
|
+
);
|
|
144
|
+
|
|
145
|
+
// 2. Populate pixel data
|
|
146
|
+
const data = new Uint16Array(512 * 512);
|
|
147
|
+
for (let i = 0; i < data.length; i++) data[i] = i % 65536;
|
|
148
|
+
await zarr.set(image.data, null, {
|
|
149
|
+
data,
|
|
150
|
+
shape: [512, 512],
|
|
151
|
+
stride: [512, 1],
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
// 3. Build the Multiscales object
|
|
155
|
+
const axes = [
|
|
156
|
+
createAxis("y", "space", "micrometer"),
|
|
157
|
+
createAxis("x", "space", "micrometer"),
|
|
158
|
+
];
|
|
159
|
+
const datasets = [createDataset("0", [0.5, 0.5], [0.0, 0.0])];
|
|
160
|
+
const metadata = createMetadata(axes, datasets, "my-image");
|
|
161
|
+
const multiscales = createMultiscales([image], metadata);
|
|
162
|
+
|
|
163
|
+
// 4. Write to OME-TIFF
|
|
164
|
+
const buffer = await toOmeTiff(multiscales);
|
|
165
|
+
|
|
166
|
+
// Save to disk (Node.js / Bun)
|
|
167
|
+
await Bun.write("output.ome.tif", buffer);
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
#### Write options
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
const buffer = await toOmeTiff(multiscales, {
|
|
174
|
+
compression: "deflate", // "deflate" (default) or "none"
|
|
175
|
+
compressionLevel: 6, // 1-9, default 6 (only for deflate)
|
|
176
|
+
dimensionOrder: "XYZCT", // IFD layout order, default "XYZCT"
|
|
177
|
+
imageName: "my-image", // name in OME-XML metadata
|
|
178
|
+
creator: "my-app", // creator string in OME-XML
|
|
179
|
+
});
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
#### Multi-resolution pyramids
|
|
183
|
+
|
|
184
|
+
When the `Multiscales` object contains multiple images (resolution levels),
|
|
185
|
+
all sub-resolution levels are written as SubIFDs:
|
|
186
|
+
|
|
187
|
+
```typescript
|
|
188
|
+
const fullRes = await createNgffImage([], [1024, 1024], "uint16", ["y", "x"], ...);
|
|
189
|
+
const halfRes = await createNgffImage([], [512, 512], "uint16", ["y", "x"], ...);
|
|
190
|
+
// ... populate both images with zarr.set() ...
|
|
191
|
+
|
|
192
|
+
const datasets = [
|
|
193
|
+
createDataset("0", [0.5, 0.5], [0.0, 0.0]),
|
|
194
|
+
createDataset("1", [1.0, 1.0], [0.0, 0.0]),
|
|
195
|
+
];
|
|
196
|
+
const metadata = createMetadata(axes, datasets, "pyramid");
|
|
197
|
+
const multiscales = createMultiscales([fullRes, halfRes], metadata);
|
|
198
|
+
|
|
199
|
+
const buffer = await toOmeTiff(multiscales);
|
|
200
|
+
// Result: OME-TIFF with full-res IFDs + half-res SubIFDs
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
#### Round-trip: write then read back
|
|
204
|
+
|
|
205
|
+
```typescript
|
|
206
|
+
import { toOmeTiff, TiffStore } from "@fideus-labs/fiff";
|
|
207
|
+
import * as zarr from "zarrita";
|
|
208
|
+
|
|
209
|
+
const buffer = await toOmeTiff(multiscales);
|
|
210
|
+
const store = await TiffStore.fromArrayBuffer(buffer);
|
|
211
|
+
const group = await zarr.open(store as unknown as zarr.Readable, { kind: "group" });
|
|
212
|
+
const arr = await zarr.open(group.resolve("0"), { kind: "array" });
|
|
213
|
+
const result = await zarr.get(arr);
|
|
214
|
+
// result.data contains the original pixel values
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## 🏭 Read API
|
|
218
|
+
|
|
219
|
+
### Factory Methods
|
|
220
|
+
|
|
221
|
+
| Method | Description |
|
|
222
|
+
| --------------------------------- | ---------------------------------------------- |
|
|
223
|
+
| `TiffStore.fromUrl(url, opts?)` | Open from a remote URL (HTTP range requests) |
|
|
224
|
+
| `TiffStore.fromArrayBuffer(buf)` | Open from an in-memory ArrayBuffer |
|
|
225
|
+
| `TiffStore.fromBlob(blob)` | Open from a Blob or File |
|
|
226
|
+
| `TiffStore.fromGeoTIFF(tiff)` | Open from an already-opened GeoTIFF instance |
|
|
227
|
+
|
|
228
|
+
### Options
|
|
229
|
+
|
|
230
|
+
All factory methods accept an optional `TiffStoreOptions` object:
|
|
231
|
+
|
|
232
|
+
| Option | Type | Default | Description |
|
|
233
|
+
| --------- | ------------------------ | ----------- | ----------------------------------------------- |
|
|
234
|
+
| `offsets` | `number[]` | `undefined` | Pre-computed IFD byte offsets for O(1) access |
|
|
235
|
+
| `headers` | `Record<string, string>` | `undefined` | Additional HTTP headers for remote TIFF requests |
|
|
236
|
+
|
|
237
|
+
### Public Accessors
|
|
238
|
+
|
|
239
|
+
| Accessor | Type | Description |
|
|
240
|
+
| --------------------- | -------------- | ---------------------------------- |
|
|
241
|
+
| `store.levels` | `number` | Number of resolution levels |
|
|
242
|
+
| `store.dataType` | `ZarrDataType` | Zarr data type string |
|
|
243
|
+
| `store.ome` | `OmeImage[]` | Parsed OME-XML images (if present) |
|
|
244
|
+
| `store.pyramidInfo` | `PyramidInfo` | Pyramid structure details |
|
|
245
|
+
| `store.dimensionNames`| `string[]` | Dimension names (e.g. `["t", "c", "z", "y", "x"]`) |
|
|
246
|
+
| `store.getShape(l)` | `number[]` | Shape for resolution level `l` |
|
|
247
|
+
| `store.getChunkShape(l)` | `number[]` | Chunk shape for resolution level `l` |
|
|
248
|
+
|
|
249
|
+
## 📝 Write API
|
|
250
|
+
|
|
251
|
+
### `toOmeTiff(multiscales, options?)`
|
|
252
|
+
|
|
253
|
+
| Parameter | Type | Description |
|
|
254
|
+
| ------------- | ------------- | ------------------------------------------------------ |
|
|
255
|
+
| `multiscales` | `Multiscales` | ngff-zarr Multiscales object with populated pixel data |
|
|
256
|
+
| `options` | `WriteOptions`| Optional writer configuration |
|
|
257
|
+
|
|
258
|
+
**Returns:** `Promise<ArrayBuffer>` -- a complete OME-TIFF file.
|
|
259
|
+
|
|
260
|
+
### WriteOptions
|
|
261
|
+
|
|
262
|
+
| Option | Type | Default | Description |
|
|
263
|
+
| ------------------ | ---------------------- | ----------- | ---------------------------------------- |
|
|
264
|
+
| `compression` | `"none" \| "deflate"` | `"deflate"` | Pixel data compression |
|
|
265
|
+
| `compressionLevel` | `number` | `6` | Deflate level 1-9 (higher = smaller) |
|
|
266
|
+
| `dimensionOrder` | `string` | `"XYZCT"` | IFD plane layout order |
|
|
267
|
+
| `imageName` | `string` | `"image"` | Image name in OME-XML |
|
|
268
|
+
| `creator` | `string` | `"fiff"` | Creator string in OME-XML |
|
|
269
|
+
|
|
270
|
+
## 🛠️ Development
|
|
271
|
+
|
|
272
|
+
### 📋 Prerequisites
|
|
273
|
+
|
|
274
|
+
- [Bun](https://bun.sh/) >= 1.0
|
|
275
|
+
|
|
276
|
+
### 🔧 Setup
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
git clone https://github.com/fideus-labs/fiff.git
|
|
280
|
+
cd fiff
|
|
281
|
+
bun install
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### 🗂️ Project Structure
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
src/
|
|
288
|
+
index.ts # Public API exports
|
|
289
|
+
tiff-store.ts # TiffStore class (AsyncReadable implementation)
|
|
290
|
+
metadata.ts # Zarr v3 / OME-Zarr 0.5 metadata synthesis
|
|
291
|
+
ome-xml.ts # OME-XML parser (dimensions, channels, DimensionOrder)
|
|
292
|
+
ifd-indexer.ts # IFD-to-pyramid-level mapping (SubIFD/legacy/COG)
|
|
293
|
+
chunk-reader.ts # Pixel data reading via geotiff.js readRasters
|
|
294
|
+
dtypes.ts # TIFF ↔ Zarr data_type mapping
|
|
295
|
+
utils.ts # Key parsing, pixel window computation, encoding
|
|
296
|
+
write.ts # High-level toOmeTiff() writer
|
|
297
|
+
tiff-writer.ts # Low-level TIFF binary builder (IFDs, SubIFDs, deflate)
|
|
298
|
+
ome-xml-writer.ts # OME-XML generation from Multiscales metadata
|
|
299
|
+
test/
|
|
300
|
+
fixtures.ts # Test TIFF generation helpers
|
|
301
|
+
*.test.ts # 175 tests across 11 files
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### 📝 Commands
|
|
305
|
+
|
|
306
|
+
| Command | Description |
|
|
307
|
+
| -------------------- | ---------------------------------------- |
|
|
308
|
+
| `bun run build` | Build to `dist/` (ESM + declarations) |
|
|
309
|
+
| `bun test` | Run all tests |
|
|
310
|
+
| `bun run typecheck` | Type-check the full project |
|
|
311
|
+
|
|
312
|
+
## 🤝 Contributing
|
|
313
|
+
|
|
314
|
+
Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for
|
|
315
|
+
setup instructions, code style guidelines, and the pull request workflow.
|
|
316
|
+
|
|
317
|
+
## 📄 License
|
|
318
|
+
|
|
319
|
+
[MIT](LICENSE.txt) -- Copyright (c) Fideus Labs LLC
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-reader.d.ts","sourceRoot":"","sources":["../src/chunk-reader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chunk-reader.d.ts","sourceRoot":"","sources":["../src/chunk-reader.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,CACR,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,YAAY,CAAC,EAC1B,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAoDrB"}
|
package/dist/chunk-reader.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* returning raw bytes suitable for a Zarr store response.
|
|
4
|
-
*/
|
|
1
|
+
// SPDX-FileCopyrightText: Copyright (c) Fideus Labs LLC
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
5
3
|
import { bytesPerElement } from "./dtypes.js";
|
|
6
4
|
import { computePixelWindow, encodeChunkBytes } from "./utils.js";
|
|
7
5
|
/**
|
package/dist/chunk-reader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-reader.js","sourceRoot":"","sources":["../src/chunk-reader.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"chunk-reader.js","sourceRoot":"","sources":["../src/chunk-reader.ts"],"names":[],"mappings":"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"}
|
package/dist/dtypes.d.ts
CHANGED
|
@@ -33,6 +33,21 @@ export declare function tiffDtypeToZarr(sampleFormat: number, bitsPerSample: num
|
|
|
33
33
|
export declare function omePixelTypeToZarr(omeType: string): ZarrDataType;
|
|
34
34
|
/** Number of bytes per element for a given Zarr data_type. */
|
|
35
35
|
export declare function bytesPerElement(dtype: ZarrDataType): number;
|
|
36
|
+
/**
|
|
37
|
+
* Map a Zarr v3 data_type string to an OME-XML pixel Type string.
|
|
38
|
+
* Reverse of omePixelTypeToZarr.
|
|
39
|
+
*/
|
|
40
|
+
export declare function zarrToOmePixelType(dtype: ZarrDataType): string;
|
|
41
|
+
/** TIFF tag values for a given Zarr data_type. */
|
|
42
|
+
export interface TiffDtypeInfo {
|
|
43
|
+
sampleFormat: number;
|
|
44
|
+
bitsPerSample: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Map a Zarr v3 data_type string to TIFF SampleFormat + BitsPerSample.
|
|
48
|
+
* Reverse of tiffDtypeToZarr.
|
|
49
|
+
*/
|
|
50
|
+
export declare function zarrToTiffDtype(dtype: ZarrDataType): TiffDtypeInfo;
|
|
36
51
|
/**
|
|
37
52
|
* Get the appropriate TypedArray constructor for a Zarr data_type.
|
|
38
53
|
*/
|
package/dist/dtypes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dtypes.d.ts","sourceRoot":"","sources":["../src/dtypes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dtypes.d.ts","sourceRoot":"","sources":["../src/dtypes.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH,yCAAyC;AACzC,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AAEd,oCAAoC;AACpC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,YAAY,CAyCd;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAiBhE;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAY3D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAY9D;AAED,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAYlE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,YAAY,GAClB;IACD,KAAK,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAC1D,UAAU,GACV,SAAS,GACT,WAAW,GACX,UAAU,GACV,WAAW,GACX,UAAU,GACV,YAAY,GACZ,YAAY,CAAC;CAClB,CAmBA"}
|
package/dist/dtypes.js
CHANGED
|
@@ -1,14 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* TIFF SampleFormat values:
|
|
5
|
-
* 1 = unsigned integer
|
|
6
|
-
* 2 = signed integer (two's complement)
|
|
7
|
-
* 3 = IEEE floating point
|
|
8
|
-
*
|
|
9
|
-
* Zarr v3 data_type strings: int8, int16, int32, uint8, uint16, uint32,
|
|
10
|
-
* float32, float64, etc.
|
|
11
|
-
*/
|
|
1
|
+
// SPDX-FileCopyrightText: Copyright (c) Fideus Labs LLC
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
12
3
|
/** TIFF SampleFormat tag values. */
|
|
13
4
|
export const SAMPLE_FORMAT_UINT = 1;
|
|
14
5
|
export const SAMPLE_FORMAT_INT = 2;
|
|
@@ -96,6 +87,40 @@ export function bytesPerElement(dtype) {
|
|
|
96
87
|
};
|
|
97
88
|
return map[dtype];
|
|
98
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Map a Zarr v3 data_type string to an OME-XML pixel Type string.
|
|
92
|
+
* Reverse of omePixelTypeToZarr.
|
|
93
|
+
*/
|
|
94
|
+
export function zarrToOmePixelType(dtype) {
|
|
95
|
+
const map = {
|
|
96
|
+
int8: "int8",
|
|
97
|
+
int16: "int16",
|
|
98
|
+
int32: "int32",
|
|
99
|
+
uint8: "uint8",
|
|
100
|
+
uint16: "uint16",
|
|
101
|
+
uint32: "uint32",
|
|
102
|
+
float32: "float",
|
|
103
|
+
float64: "double",
|
|
104
|
+
};
|
|
105
|
+
return map[dtype];
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Map a Zarr v3 data_type string to TIFF SampleFormat + BitsPerSample.
|
|
109
|
+
* Reverse of tiffDtypeToZarr.
|
|
110
|
+
*/
|
|
111
|
+
export function zarrToTiffDtype(dtype) {
|
|
112
|
+
const map = {
|
|
113
|
+
uint8: { sampleFormat: SAMPLE_FORMAT_UINT, bitsPerSample: 8 },
|
|
114
|
+
uint16: { sampleFormat: SAMPLE_FORMAT_UINT, bitsPerSample: 16 },
|
|
115
|
+
uint32: { sampleFormat: SAMPLE_FORMAT_UINT, bitsPerSample: 32 },
|
|
116
|
+
int8: { sampleFormat: SAMPLE_FORMAT_INT, bitsPerSample: 8 },
|
|
117
|
+
int16: { sampleFormat: SAMPLE_FORMAT_INT, bitsPerSample: 16 },
|
|
118
|
+
int32: { sampleFormat: SAMPLE_FORMAT_INT, bitsPerSample: 32 },
|
|
119
|
+
float32: { sampleFormat: SAMPLE_FORMAT_FLOAT, bitsPerSample: 32 },
|
|
120
|
+
float64: { sampleFormat: SAMPLE_FORMAT_FLOAT, bitsPerSample: 64 },
|
|
121
|
+
};
|
|
122
|
+
return map[dtype];
|
|
123
|
+
}
|
|
99
124
|
/**
|
|
100
125
|
* Get the appropriate TypedArray constructor for a Zarr data_type.
|
|
101
126
|
*/
|
package/dist/dtypes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dtypes.js","sourceRoot":"","sources":["../src/dtypes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dtypes.js","sourceRoot":"","sources":["../src/dtypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifd-indexer.d.ts","sourceRoot":"","sources":["../src/ifd-indexer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ifd-indexer.d.ts","sourceRoot":"","sources":["../src/ifd-indexer.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,WAAW,EAAE,OAAO,CAAC;IACrB,2BAA2B;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,WAAW,CAAC,CA0GtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,WAAW,EACpB,SAAS,GAAE,MAAU,EACrB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CA6C/D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAO/D"}
|
package/dist/ifd-indexer.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Handles both modern (SubIFD-based) and legacy (flat IFD chain) pyramid
|
|
5
|
-
* storage strategies, as well as optional pre-computed IFD byte offsets
|
|
6
|
-
* for fast random access.
|
|
7
|
-
*/
|
|
1
|
+
// SPDX-FileCopyrightText: Copyright (c) Fideus Labs LLC
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
8
3
|
import { getIfdIndex } from "./ome-xml.js";
|
|
9
4
|
/**
|
|
10
5
|
* Determine the pyramid structure of a TIFF by inspecting the first image.
|
package/dist/ifd-indexer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifd-indexer.js","sourceRoot":"","sources":["../src/ifd-indexer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ifd-indexer.js","sourceRoot":"","sources":["../src/ifd-indexer.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -20,7 +20,10 @@ export type { ZarrDataType } from "./dtypes.js";
|
|
|
20
20
|
export type { OmeImage, OmePixels, OmeChannel, DimensionOrder } from "./ome-xml.js";
|
|
21
21
|
export type { PyramidInfo, PlaneSelection } from "./ifd-indexer.js";
|
|
22
22
|
export type { OmeAxis, OmeMultiscale, OmeDataset, OmeCoordinateTransformation, OmeroMetadata, OmeroChannel, ZarrGroupMetadata, ZarrArrayMetadata, } from "./metadata.js";
|
|
23
|
+
export { toOmeTiff, type WriteOptions } from "./write.js";
|
|
24
|
+
export { buildOmeXml, type OmeXmlWriterOptions, type DimensionInfo } from "./ome-xml-writer.js";
|
|
25
|
+
export { buildTiff, makeImageTags, compressDeflate, type WritableIfd, type TiffTag, type BuildTiffOptions, } from "./tiff-writer.js";
|
|
23
26
|
export { parseOmeXml, isOmeXml, getIfdIndex } from "./ome-xml.js";
|
|
24
|
-
export { tiffDtypeToZarr, omePixelTypeToZarr, bytesPerElement } from "./dtypes.js";
|
|
27
|
+
export { tiffDtypeToZarr, omePixelTypeToZarr, zarrToOmePixelType, zarrToTiffDtype, bytesPerElement, type TiffDtypeInfo, } from "./dtypes.js";
|
|
25
28
|
export { parseStoreKey, computePixelWindow } from "./utils.js";
|
|
26
29
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACpF,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACpE,YAAY,EACV,OAAO,EACP,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// SPDX-FileCopyrightText: Copyright (c) Fideus Labs LLC
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
1
3
|
/**
|
|
2
4
|
* @fideus-labs/fiff
|
|
3
5
|
*
|
|
@@ -16,8 +18,12 @@
|
|
|
16
18
|
* ```
|
|
17
19
|
*/
|
|
18
20
|
export { TiffStore } from "./tiff-store.js";
|
|
21
|
+
// Writer
|
|
22
|
+
export { toOmeTiff } from "./write.js";
|
|
23
|
+
export { buildOmeXml } from "./ome-xml-writer.js";
|
|
24
|
+
export { buildTiff, makeImageTags, compressDeflate, } from "./tiff-writer.js";
|
|
19
25
|
// Export utilities that may be useful
|
|
20
26
|
export { parseOmeXml, isOmeXml, getIfdIndex } from "./ome-xml.js";
|
|
21
|
-
export { tiffDtypeToZarr, omePixelTypeToZarr, bytesPerElement } from "./dtypes.js";
|
|
27
|
+
export { tiffDtypeToZarr, omePixelTypeToZarr, zarrToOmePixelType, zarrToTiffDtype, bytesPerElement, } from "./dtypes.js";
|
|
22
28
|
export { parseStoreKey, computePixelWindow } from "./utils.js";
|
|
23
29
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,SAAS,EAAyB,MAAM,iBAAiB,CAAC;AAiBnE,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,+BAA+B;AAE/B;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,SAAS,EAAyB,MAAM,iBAAiB,CAAC;AAiBnE,SAAS;AACT,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAgD,MAAM,qBAAqB,CAAC;AAChG,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,GAIhB,MAAM,kBAAkB,CAAC;AAE1B,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,GAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/metadata.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
|
package/dist/metadata.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* TIFF image properties and OME-XML.
|
|
4
|
-
*/
|
|
1
|
+
// SPDX-FileCopyrightText: Copyright (c) Fideus Labs LLC
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
5
3
|
import { normalizeUnit } from "./ome-xml.js";
|
|
6
4
|
// ---------- Builders ----------
|
|
7
5
|
/** Default colors for channels (RGBA hex without alpha). */
|
package/dist/metadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
|