Skip to main content

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

Metadata

Release files for tglow-core 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tglow-core 0.1.4
File Size Uploaded
tglow_core-0.1.4.tar.gz 47.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tglow-core 0.1.4
File Interpreter ABI Platform
tglow_core-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 100.9 kB

Release files / tglow_core-0.1.4.tar.gz

Download URL tglow_core-0.1.4.tar.gz
Size 47.6 kB
Tags Source
SHA-256 checksum
How to use checksums
92948caace17daab46935fa185b0af3055c13ef7f675587812c7648c688a4f21
BLAKE2b-256 checksum
How to use checksums
eaea1f7a230a3fc6c5b7c6f62631ce0cd899149c10ebc6cedd788a24e588f55e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.0

Release files / tglow_core-0.1.4-py3-none-any.whl

Download URL tglow_core-0.1.4-py3-none-any.whl
Size 53.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
30597170b83910771358c9ee7884675e0aa83cb86f786e60e68177a591fd4596
BLAKE2b-256 checksum
How to use checksums
236a4a3e063c2528769955047f520d7bee281538e8d018ddef0d8ace3775f863
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.0

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page