Skip to main content

Python library and runners for tglow pipeline, interfacing with plate/row/col/field.ome.tiff images and Revity Opera Phenix and Operetta exports

Project description

Tglow: Core Python component of the tglow imaging pipeline

tglow-core is the Python core component of the Tglow high-content imaging (HCI) analysis pipeline. It provides utilities to index and read multi-well plate images and parsers for PerkinElmer (Opera Phenix / Operetta) exports. The package is used by the tglow-pipeline workflows to load, preprocess and write OME-TIFF images arranged in the common /plate/row/col/field.ome.tiff (CYZX) layout.

Key features

  • Read and write CYZX / ZYX / YX image arrays via AICSImageReader / AICSImageWriter (wrappers around aicsimageio)
  • Parse Revity/PerkinElmer Index.xml exports (PerkinElmerParser) and convert to a simple, Python-friendly index
  • Convert large Revity/PerkinElmer exports to a much lower number of /plate/row/col/field.ome.tiff files
  • Index and query plate/row/col/field image layouts using an ImageQuery object
  • Utilities for registration, flatfield correction and numeric conversions designed to work with tglow-pipeline

Installation

I recommend installing the published PyPI release where possible:

pip install tglow-core

To install the latest development version from the repository (editable install):

git clone https://github.com/TrynkaLab/tglow-core
cd tglow-core
pip install -e .

Basic usage

Build an index from a PerkinElmer export and read a single image:

from tglow.io.tglow_io import PerkinElmerRawReader
from tglow.io.image_query import ImageQuery

reader = PerkinElmerRawReader('path/to/Index.xml', '/data/exports')
iq = ImageQuery.from_plate_well('plate1', 'A01')
image = reader.read_image(iq)  # returns a numpy array

Read and write an OME-TIFF stack organized by plate/row/col/field:

from tglow.io.tglow_io import AICSImageReader, AICSImageWriter
from tglow.io.image_query import ImageQuery

reader = AICSImageReader('/data/plates')
writer = AICSImageWriter('/output/plates')
iq = ImageQuery('plate1', 1, 1, 'field001')
stack = reader.read_stack(iq)
writer.write_stack(stack, iq)

Notes and migration to BioIO

  • This package currently wraps aicsimageio. As that project has been superseded by newer tooling, consider migrating to bioio or equivalent in future releases.

Known issues

There is a known issue with BaSiCpy (https://github.com/peng-lab/BaSiCPy/issues/162). This requires using specific, older versions of hyperactive and gradient-free-optimizers, which can in turn require an older pandas version. The same goes for aicsimageio. The dependency chain can be inconvenient; I'll update this project and migrate to BioIO libraries as newer releases become available.

Acknowledgements

  • Martin Prete: initial XML parsing code adapted for this project

References

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

tglow_core-0.1.3.tar.gz (28.1 kB view details)

Uploaded Source

Built Distribution

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

tglow_core-0.1.3-py3-none-any.whl (28.8 kB view details)

Uploaded Python 3

File details

Details for the file tglow_core-0.1.3.tar.gz.

File metadata

  • Download URL: tglow_core-0.1.3.tar.gz
  • Upload date:
  • Size: 28.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for tglow_core-0.1.3.tar.gz
Algorithm Hash digest
SHA256 8a38f2580e31747e00664aa361badb673807c2179946401558bf975a25f25326
MD5 340f0e04a8be920d32057b6339fc02e1
BLAKE2b-256 ccb634c6572992029e56a05f32f369a844813ff94068912072df01d0e8f8512e

See more details on using hashes here.

File details

Details for the file tglow_core-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: tglow_core-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 28.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for tglow_core-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1920a51cc4c64eacf6a5641b966bc1ae4ab9de6b6231f0e12f1c12ef7270ad6a
MD5 1d9209617b02bb72f05073adbffe7de8
BLAKE2b-256 6ac7f93331d0f1fb01b15249258880f9d2e9829e9fdb55a3d99062c84735eec8

See more details on using hashes here.

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