Opera Phenix reader plugin for zarrmony — wraps pyphenix.OperaPhenixReader.
Project description
zarrmony-phenix
Opera Phenix reader plugin for zarrmony.
Wraps pyphenix.OperaPhenixReader so
that zarrmony convert /path/to/PhenixExperiment Just Works.
Install
pip install zarrmony-phenix
This pulls zarrmony and pyphenix from PyPI as transitive dependencies.
Verify the plugin registered
from zarrmony.readers.plugin import list_plugins
print([p.name for p in list_plugins()])
# -> [..., 'zarrmony-phenix']
Use
zarrmony inspect /path/to/PhenixExperiment # lists fields per well
zarrmony convert /path/to/PhenixExperiment ./out
zarrmony convert defaults to --layout auto, which dispatches to the HCS
plate writer for plate-shaped readers. The output at ./out is a single
OME-NGFF 0.5 plate store: well groups at <row>/<column>/ (e.g. B/04/)
each containing one image per imaged field. Pass --layout plate to make
the choice explicit, or --layout per-scene to produce one
<scene>.ome.zarr per FOV instead.
Scenes are named with the vendor's native field labels (F001, F002, …);
plate coordinates live on the plate_layout attribute that zarrmony's plate
writer consumes (see the
reader-plugin authoring guide §9
and zarrmony ADR-0004).
Multi-acquisition Phenix experiments emit a LayoutDowngradeWarning and
only the first acquisition's fields are exported; pass --layout per-scene
to get all acquisitions in one pass.
Migrating from v0.1.0
- Scene names changed from
<row-letter><col>-f<field>(e.g.B04-f02) to vendor-native field labels (F001,F002, …). Code that keys--per-scene-metadata(or anything else) by the old name must be re-keyed; plate coordinates now live onreader.plate_layout, not in the scene name. - Default output is now a single plate store, not one
.ome.zarrper FOV. Pass--layout per-sceneto keep the v0.1.0 shape. zarrmony>=0.3.0is now required (the plate writer ships there).
Supported Phenix exports
- Export format: directory with
Images/Index.xmland TIFFs underImages/. - Archive format: directory with
index/<something>.xmland TIFFs underimages/.
Detection is by the presence of either marker; both are scored equally.
Limitations
- Flat-field correction is disabled. zarrmony streams data into Zarr chunk-by-chunk and pyphenix's FFC pipeline requires loading whole stacks eagerly. If you need FFC-corrected output, run pyphenix's own loader and feed the corrected NumPy arrays into a custom writer.
- Multi-acquisition Phenix experiments degrade gracefully. Zarrmony's
v1 plate writer is single-acquisition; if more than one
AcquisitionIDis detected inIndex.xml, the adapter emits aLayoutDowngradeWarningand exports only the first acquisition's fields. Pass--layout per-sceneto capture every acquisition as its own store.
Why a separate package?
Phenix carries real domain logic (FFC math, plate-coordinate parsing, mosaic stitching) and dependencies (PIL, custom XML parsing) that don't belong in zarrmony's import graph. See zarrmony ADR-0003 for the full rationale and the reader-plugin authoring guide for how to build your own.
License
Apache-2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zarrmony_phenix-0.2.0.tar.gz.
File metadata
- Download URL: zarrmony_phenix-0.2.0.tar.gz
- Upload date:
- Size: 17.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7929f1cb334c89c33bb2757ff3bcb4c00e8028a5176c25e9c3c6ba7d078316da
|
|
| MD5 |
8f9c94517bd7f4564c45c758710d72e8
|
|
| BLAKE2b-256 |
ff730007a5081513e3aeeeae8c06c2327da0992d70e982f8a83f1b7d206a98fe
|
Provenance
The following attestation bundles were made for zarrmony_phenix-0.2.0.tar.gz:
Publisher:
release.yml on ferrinm/zarrmony-phenix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zarrmony_phenix-0.2.0.tar.gz -
Subject digest:
7929f1cb334c89c33bb2757ff3bcb4c00e8028a5176c25e9c3c6ba7d078316da - Sigstore transparency entry: 1512754074
- Sigstore integration time:
-
Permalink:
ferrinm/zarrmony-phenix@807f315618be16585f3142974d5660bffc5f5945 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/ferrinm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@807f315618be16585f3142974d5660bffc5f5945 -
Trigger Event:
push
-
Statement type:
File details
Details for the file zarrmony_phenix-0.2.0-py3-none-any.whl.
File metadata
- Download URL: zarrmony_phenix-0.2.0-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4eca488f294744bb2c67eba6f53699bcb6f11f47ef881dc7ee631c57e38a3c69
|
|
| MD5 |
c0f4d13fcc5dee82987d0c29b31575d7
|
|
| BLAKE2b-256 |
4c3e4431d981ec509823798f2133b4588bd6c3e62e406a0dead49c5cbb5c9745
|
Provenance
The following attestation bundles were made for zarrmony_phenix-0.2.0-py3-none-any.whl:
Publisher:
release.yml on ferrinm/zarrmony-phenix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zarrmony_phenix-0.2.0-py3-none-any.whl -
Subject digest:
4eca488f294744bb2c67eba6f53699bcb6f11f47ef881dc7ee631c57e38a3c69 - Sigstore transparency entry: 1512754160
- Sigstore integration time:
-
Permalink:
ferrinm/zarrmony-phenix@807f315618be16585f3142974d5660bffc5f5945 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/ferrinm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@807f315618be16585f3142974d5660bffc5f5945 -
Trigger Event:
push
-
Statement type: