Skip to main content

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 on reader.plate_layout, not in the scene name.
  • Default output is now a single plate store, not one .ome.zarr per FOV. Pass --layout per-scene to keep the v0.1.0 shape.
  • zarrmony>=0.3.0 is now required (the plate writer ships there).

Supported Phenix exports

  • Export format: directory with Images/Index.xml and TIFFs under Images/.
  • Archive format: directory with index/<something>.xml and TIFFs under images/.

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 AcquisitionID is detected in Index.xml, the adapter emits a LayoutDowngradeWarning and exports only the first acquisition's fields. Pass --layout per-scene to 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zarrmony_phenix-0.2.0.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zarrmony_phenix-0.2.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

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

Hashes for zarrmony_phenix-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7929f1cb334c89c33bb2757ff3bcb4c00e8028a5176c25e9c3c6ba7d078316da
MD5 8f9c94517bd7f4564c45c758710d72e8
BLAKE2b-256 ff730007a5081513e3aeeeae8c06c2327da0992d70e982f8a83f1b7d206a98fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrmony_phenix-0.2.0.tar.gz:

Publisher: release.yml on ferrinm/zarrmony-phenix

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for zarrmony_phenix-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4eca488f294744bb2c67eba6f53699bcb6f11f47ef881dc7ee631c57e38a3c69
MD5 c0f4d13fcc5dee82987d0c29b31575d7
BLAKE2b-256 4c3e4431d981ec509823798f2133b4588bd6c3e62e406a0dead49c5cbb5c9745

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrmony_phenix-0.2.0-py3-none-any.whl:

Publisher: release.yml on ferrinm/zarrmony-phenix

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page