napari-ome-arrow 0.0.3__py3-none-any.whl → 0.0.5__py3-none-any.whl
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.
- napari_ome_arrow/_reader.py +206 -322
- napari_ome_arrow/_reader_infer.py +233 -0
- napari_ome_arrow/_reader_napari.py +107 -0
- napari_ome_arrow/_reader_omearrow.py +474 -0
- napari_ome_arrow/_reader_stack.py +711 -0
- napari_ome_arrow/_reader_types.py +11 -0
- napari_ome_arrow/_version.py +2 -2
- napari_ome_arrow/napari.yaml +3 -0
- {napari_ome_arrow-0.0.3.dist-info → napari_ome_arrow-0.0.5.dist-info}/METADATA +25 -5
- napari_ome_arrow-0.0.5.dist-info/RECORD +15 -0
- {napari_ome_arrow-0.0.3.dist-info → napari_ome_arrow-0.0.5.dist-info}/WHEEL +1 -1
- napari_ome_arrow-0.0.3.dist-info/RECORD +0 -10
- {napari_ome_arrow-0.0.3.dist-info → napari_ome_arrow-0.0.5.dist-info}/entry_points.txt +0 -0
- {napari_ome_arrow-0.0.3.dist-info → napari_ome_arrow-0.0.5.dist-info}/licenses/LICENSE +0 -0
- {napari_ome_arrow-0.0.3.dist-info → napari_ome_arrow-0.0.5.dist-info}/top_level.txt +0 -0
napari_ome_arrow/_version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.0.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 0,
|
|
31
|
+
__version__ = version = '0.0.5'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 0, 5)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
napari_ome_arrow/napari.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: napari-ome-arrow
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.5
|
|
4
4
|
Summary: A Napari plugin for OME-Arrow and OME-Parquet bioimage data
|
|
5
5
|
License:
|
|
6
6
|
Copyright (c) 2025, Dave Bunten
|
|
@@ -51,7 +51,7 @@ Description-Content-Type: text/markdown
|
|
|
51
51
|
License-File: LICENSE
|
|
52
52
|
Requires-Dist: magicgui
|
|
53
53
|
Requires-Dist: numpy
|
|
54
|
-
Requires-Dist: ome-arrow>=0.0.
|
|
54
|
+
Requires-Dist: ome-arrow>=0.0.3
|
|
55
55
|
Requires-Dist: qtpy>=2.4
|
|
56
56
|
Requires-Dist: scikit-image
|
|
57
57
|
Provides-Extra: all
|
|
@@ -65,6 +65,8 @@ Provides-Extra: pyside6
|
|
|
65
65
|
Requires-Dist: napari[pyside6]; extra == "pyside6"
|
|
66
66
|
Requires-Dist: pyside6>=6.6; extra == "pyside6"
|
|
67
67
|
Requires-Dist: qtpy>=2.4; extra == "pyside6"
|
|
68
|
+
Provides-Extra: vortex
|
|
69
|
+
Requires-Dist: vortex-data; extra == "vortex"
|
|
68
70
|
Dynamic: license-file
|
|
69
71
|
|
|
70
72
|
# napari-ome-arrow
|
|
@@ -74,6 +76,7 @@ Dynamic: license-file
|
|
|
74
76
|
[](https://python.org)
|
|
75
77
|
[](https://napari-hub.org/plugins/napari-ome-arrow)
|
|
76
78
|
[](https://napari.org/stable/plugins/index.html)
|
|
79
|
+
[](https://doi.org/10.5281/zenodo.17613571)
|
|
77
80
|
|
|
78
81
|
`napari-ome-arrow` is a minimal plugin for [napari](https://napari.org) that opens image data through the [OME-Arrow](https://github.com/wayscience/ome-arrow) toolkit.
|
|
79
82
|
|
|
@@ -82,6 +85,7 @@ It provides a single, explicit pathway for loading OME-style bioimage data:
|
|
|
82
85
|
- **OME-TIFF** (`.ome.tif`, `.ome.tiff`, `.tif`, `.tiff`)
|
|
83
86
|
- **OME-Zarr** (`.ome.zarr`, `.zarr` stores and URLs)
|
|
84
87
|
- **OME-Parquet** (`.ome.parquet`, `.parquet`, `.pq`)
|
|
88
|
+
- **OME-Vortex** (`.ome.vortex`, `.vortex`)
|
|
85
89
|
- **Bio-Formats–style stack patterns** (paths containing `<`, `>`, or `*`)
|
|
86
90
|
- A simple **`.npy` fallback** for quick testing / ad-hoc arrays
|
|
87
91
|
|
|
@@ -126,8 +130,11 @@ It provides a single, explicit pathway for loading OME-style bioimage data:
|
|
|
126
130
|
- respects `NAPARI_OME_ARROW_LAYER_TYPE`, and
|
|
127
131
|
- defaults to `"image"` if the variable is not set.
|
|
128
132
|
|
|
129
|
-
- ✅ **Grid view for multi-row OME-Parquet**
|
|
130
|
-
When a Parquet file contains multiple OME-Arrow rows, each row is loaded as its own layer and the viewer is switched to napari’s grid mode. Set `NAPARI_OME_ARROW_PARQUET_COLUMN` to pick which image column to visualize.
|
|
133
|
+
- ✅ **Grid view for multi-row OME-Parquet / OME-Vortex**
|
|
134
|
+
When a Parquet or Vortex file contains multiple OME-Arrow rows, each row is loaded as its own layer and the viewer is switched to napari’s grid mode. Set `NAPARI_OME_ARROW_PARQUET_COLUMN` or `NAPARI_OME_ARROW_VORTEX_COLUMN` to pick which image column to visualize.
|
|
135
|
+
|
|
136
|
+
- ✅ **Stack scale prompt + override**
|
|
137
|
+
When loading image stacks (stack patterns), napari prompts for voxel spacing only if no scale metadata or `NAPARI_OME_ARROW_STACK_SCALE` override is present and a Qt UI is available (headless runs skip the prompt). To avoid the prompt, set `NAPARI_OME_ARROW_STACK_SCALE` using `Z,Y,X` or `T,C,Z,Y,X`.
|
|
131
138
|
|
|
132
139
|
______________________________________________________________________
|
|
133
140
|
|
|
@@ -153,13 +160,19 @@ To install latest development version :
|
|
|
153
160
|
pip install git+https://github.com/wayscience/napari-ome-arrow.git
|
|
154
161
|
```
|
|
155
162
|
|
|
163
|
+
To enable OME-Vortex support via OME-Arrow, install the optional extra:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
pip install "napari-ome-arrow[vortex]"
|
|
167
|
+
```
|
|
168
|
+
|
|
156
169
|
## Usage
|
|
157
170
|
|
|
158
171
|
### From the napari GUI
|
|
159
172
|
|
|
160
173
|
1. Install the plugin (see above).
|
|
161
174
|
1. Start napari.
|
|
162
|
-
1. Drag and drop an OME-TIFF, OME-Zarr, OME-Parquet file,
|
|
175
|
+
1. Drag and drop an OME-TIFF, OME-Zarr, OME-Parquet, OME-Vortex file, a stack pattern, or a multi-select stack (e.g. `img_000.tif` ... `img_123.tif`) into the viewer.
|
|
163
176
|
1. When prompted, choose **Image** or **Labels**.
|
|
164
177
|
|
|
165
178
|
The plugin will:
|
|
@@ -167,6 +180,7 @@ The plugin will:
|
|
|
167
180
|
- load the data through `OMEArrow`,
|
|
168
181
|
- map channels and axes appropriately, and
|
|
169
182
|
- automatically switch to 3D if there is a Z-stack.
|
|
183
|
+
- When multiple files look like a numbered stack, treat them as a single stack rather than independent layers.
|
|
170
184
|
|
|
171
185
|
### From the command line
|
|
172
186
|
|
|
@@ -183,6 +197,12 @@ NAPARI_OME_ARROW_LAYER_TYPE=labels napari my_labels.ome.parquet
|
|
|
183
197
|
NAPARI_OME_ARROW_LAYER_TYPE=image \\
|
|
184
198
|
NAPARI_OME_ARROW_PARQUET_COLUMN=Image_FileName_OrigDNA_OMEArrow_ORIG \\
|
|
185
199
|
napari tests/data/cytodataframe/BR00117006.ome.parquet
|
|
200
|
+
|
|
201
|
+
# Prefill stack voxel spacing for stack patterns (Z,Y,X or T,C,Z,Y,X)
|
|
202
|
+
NAPARI_OME_ARROW_STACK_SCALE=1.0,0.108,0.108 napari "stack/z<000-120>.tif"
|
|
203
|
+
|
|
204
|
+
# Prefill stack voxel spacing for multi-file stacks (use a pattern or glob on CLI)
|
|
205
|
+
NAPARI_OME_ARROW_STACK_SCALE=1.0,0.108,0.108 napari "stack/img_<000-120>.tif"
|
|
186
206
|
```
|
|
187
207
|
|
|
188
208
|
## Contributing
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
napari_ome_arrow/__init__.py,sha256=hfpJMmD3HYHJH-0lh-esO04Pe57u8YbK4OO_qcx1b8o,236
|
|
2
|
+
napari_ome_arrow/_reader.py,sha256=jOWj5w8GZyp7oiCPRf3mJ7l_pNgbAzqcz8kec4b-z4k,11894
|
|
3
|
+
napari_ome_arrow/_reader_infer.py,sha256=fp4n7MQoys3rl37lTZU1RJBLj8bHxw1O9D9SC4oj8OQ,6303
|
|
4
|
+
napari_ome_arrow/_reader_napari.py,sha256=mf29u86pUrYDfayLKJrAi2X-9RnrpLrh7iaVnOizS2s,2696
|
|
5
|
+
napari_ome_arrow/_reader_omearrow.py,sha256=DC9hHyv0o49HcYO3jEsHCdxEo3AWNoKep4sEXxfPtHM,14913
|
|
6
|
+
napari_ome_arrow/_reader_stack.py,sha256=uZ46tZ4A68TKupN5RPvYLgEFmY0tCi1ZZu59X8QkTqY,22945
|
|
7
|
+
napari_ome_arrow/_reader_types.py,sha256=FUWVUb2oKP9PiC9WZDnyi5LQTli2LgeEfyBdWA2_Crg,226
|
|
8
|
+
napari_ome_arrow/_version.py,sha256=YRV1ohn6CdKEhsUOmFFMmr5UTjMv4Ydw3WJGxF2BHBs,704
|
|
9
|
+
napari_ome_arrow/napari.yaml,sha256=LO5bEgu2lp2X0GwfSdQfFcfDgvGuXDcibhniDbrKxFE,634
|
|
10
|
+
napari_ome_arrow-0.0.5.dist-info/licenses/LICENSE,sha256=RuLVTR9eFL6OX1phw5Ue8tdGrhgoG9ZErP6QrxrUlaE,1486
|
|
11
|
+
napari_ome_arrow-0.0.5.dist-info/METADATA,sha256=2R29BjUisN1JZts2HUiNGoZx5LYXo4rLQDhITHRJbDM,9854
|
|
12
|
+
napari_ome_arrow-0.0.5.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
13
|
+
napari_ome_arrow-0.0.5.dist-info/entry_points.txt,sha256=ZNpIZF-jrixFQlUNA1kR_jCBsBDxvoIrmc_lrQqu8VE,66
|
|
14
|
+
napari_ome_arrow-0.0.5.dist-info/top_level.txt,sha256=IRsRRK6uFbyipfWh77Br3G4_6uvSYp8CL01RjMN6Mzk,17
|
|
15
|
+
napari_ome_arrow-0.0.5.dist-info/RECORD,,
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
napari_ome_arrow/__init__.py,sha256=hfpJMmD3HYHJH-0lh-esO04Pe57u8YbK4OO_qcx1b8o,236
|
|
2
|
-
napari_ome_arrow/_reader.py,sha256=JobcKfWGscMonX9u7cu_SdZtZL_Hbcj8-Uu1whuFe0o,14230
|
|
3
|
-
napari_ome_arrow/_version.py,sha256=pBZsQt6tlL02W-ri--X_4JCubpAK7jjCSnOmUp_isjc,704
|
|
4
|
-
napari_ome_arrow/napari.yaml,sha256=L64Y_YyvIlkOBgP2b8HciimyE3xmzfo9ASj5o-wu9gI,567
|
|
5
|
-
napari_ome_arrow-0.0.3.dist-info/licenses/LICENSE,sha256=RuLVTR9eFL6OX1phw5Ue8tdGrhgoG9ZErP6QrxrUlaE,1486
|
|
6
|
-
napari_ome_arrow-0.0.3.dist-info/METADATA,sha256=ABKwECGALgq03J4rmVonPtxUoP_EUxrkySZ7PIjgR6I,8596
|
|
7
|
-
napari_ome_arrow-0.0.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
8
|
-
napari_ome_arrow-0.0.3.dist-info/entry_points.txt,sha256=ZNpIZF-jrixFQlUNA1kR_jCBsBDxvoIrmc_lrQqu8VE,66
|
|
9
|
-
napari_ome_arrow-0.0.3.dist-info/top_level.txt,sha256=IRsRRK6uFbyipfWh77Br3G4_6uvSYp8CL01RjMN6Mzk,17
|
|
10
|
-
napari_ome_arrow-0.0.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|