Skip to main content

A data loader and widget to visualize high-dimensional data collected on the Opera Phenix

Project description

pyphenix

License GNU GPL v3.0 PyPI Python Version tests codecov napari hub npe2 Copier

A data loader and widget to visualize high-dimensional data collected on the Opera Phenix


This napari plugin was generated with copier using the napari-plugin-template (None).

Installation

Using napari's graphical plugin manager

Users can entirely avoid using a command prompt by using the package manager built in to the bundled napari app.

Follow the installation instructions to download and install the correct version of the bundled napari app for your operating systems (MacOS, Windows, or Linux).

Then following the instructions for installing plugins, search for PyPhenix in the Plugin Manager search bar and click "Install".

Using Python package installer (pip)

Reader only (no GUI, no napari required)

If you only need the OperaPhenixReader — for example on a server or in a headless analysis pipeline — install the base package:

pip install pyphenix

This installs only numpy and Pillow. napari, Qt, and pandas are not required and will not be installed.

from pyphenix import OperaPhenixReader

reader = OperaPhenixReader("/path/to/experiment")
data, metadata = reader.read_data(row="D", column=4)

Plate overview images (no napari required)

generate_plate_overview() produces one diagnostic PNG per channel combo (plus a JSON provenance sidecar) showing a downsampled thumbnail of every well in the plate. Plate-wide contrast is computed once per channel so wells are visually comparable.

from pyphenix import generate_plate_overview

generate_plate_overview(
    experiment_path="/path/to/experiment",
    output_dir="/path/to/overviews",
    # Optional overrides — all have sensible defaults:
    field=None,        # 'stitched', an int field index, or None (first field)
    channels=None,     # subset of channel IDs, or None (all acquired)
    timepoint=None,    # int, or None (first timepoint)
    z_slices=None,     # int / list / None (all Z planes, max-projected)
    well_px=300,       # per-well render size on the longest side
    apply_ffc=True,
)

For N selected channels the call writes 2**N − 1 PNGs (singletons + every merge subset) and a single *_overview.json sidecar capturing the input parameters, plate-wide contrast limits, channel→colormap assignments, and pyphenix version.

Full GUI install (napari widget)

To use the interactive napari widget, install with the napari extra:

pip install "pyphenix[napari]"

This additionally installs napari, qtpy, and pandas.

from pyphenix import launch_viewer

viewer, widget = launch_viewer("/path/to/experiment")

Alternatively, if napari is already installed in your environment, the base install is sufficient — pyphenix will detect napari at import time and make the widget available automatically:

pip install pyphenix

Latest development version

pip install git+https://github.com/ferrinm/pyphenix.git

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the GNU GPL v3.0 license, "pyphenix" is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

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

pyphenix-0.4.0.tar.gz (594.2 kB view details)

Uploaded Source

Built Distribution

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

pyphenix-0.4.0-py3-none-any.whl (84.0 kB view details)

Uploaded Python 3

File details

Details for the file pyphenix-0.4.0.tar.gz.

File metadata

  • Download URL: pyphenix-0.4.0.tar.gz
  • Upload date:
  • Size: 594.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyphenix-0.4.0.tar.gz
Algorithm Hash digest
SHA256 d6b58612cb472a9aef34373216d5e8f0ae0f3029d261c8b1fe06571088e61743
MD5 c8dca9d1c44de46d2eb8c7af5293c0ad
BLAKE2b-256 8d8bc599505580f89d76a1eeca7fda411f5ce773d98766cf0ce5dd77f9ae4168

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyphenix-0.4.0.tar.gz:

Publisher: test_and_deploy.yml on ferrinm/PyPhenix

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

File details

Details for the file pyphenix-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: pyphenix-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 84.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyphenix-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03f95c19545140d4ab73ea069f68edd54195174a26bbea3e8e844e0d04c45add
MD5 e7bbbba36671a5070b26712bc0c5f964
BLAKE2b-256 bd80e95e80b38295e775a6e78a6adbf74165d73bb0f829f5c4a2fce601deb399

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyphenix-0.4.0-py3-none-any.whl:

Publisher: test_and_deploy.yml on ferrinm/PyPhenix

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