Development Status
- 4 - Beta
Natural Language
- English
Programming Language
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
- Python :: 3.13
bioio-ome-tiff
A BioIO reader plugin for reading OME TIFF files using tifffile
Documentation
See the full documentation on our GitHub pages site - the generic use and installation instructions there will work for this package.
Information about the base reader this package relies on can be found in the bioio-base repository here
Installation
Stable Release: pip install bioio-ome-tiff
Development Head: pip install git+https://github.com/bioio-devs/bioio-ome-tiff.git
Example Usage (see full documentation for more examples)
Install bioio-ome-tiff alongside bioio:
pip install bioio bioio-ome-tiff
This example shows a simple use case for just accessing the pixel data of the image
by explicitly passing this Reader into the BioImage. Passing the Reader into
the BioImage instance is optional as bioio will automatically detect installed
plug-ins and auto-select the most recently installed plug-in that supports the file
passed in.
from bioio import BioImage
import bioio_ome_tiff
img = BioImage("my_file.ome.tiff", reader=bioio_ome_tiff.Reader)
img.data
OmeTiffWriter
Import for the writer:
from bioio_ome_tiff.writers import OmeTiffWriter
The OmeTiffWriter lets you save image data to OME-TIFF files, supporting:
- Single- or multi-scene datasets with explicit dimension order
- Custom channel names, colors, and physical pixel sizes
- Automatic generation and validation of OME-XML metadata
- BigTIFF output for large (>2 GB) images
Example Usage
# Write a TCZYX dataset to OME-TIFF
image = numpy.ndarray([1, 10, 3, 1024, 2048])
OmeTiffWriter.save(image, "file.ome.tif")
# Write data with a specific dimension order
image = numpy.ndarray([10, 3, 1024, 2048])
OmeTiffWriter.save(image, "file.ome.tif", dim_order="ZCYX")
# Write multi-scene data, specifying channel names
image0 = numpy.ndarray([3, 10, 1024, 2048])
image1 = numpy.ndarray([3, 10, 512, 512])
OmeTiffWriter.save(
[image0, image1],
"file.ome.tif",
dim_order="CZYX", # will be applied to both scenes
channel_names=[["C00", "C01", "C02"], ["C10", "C11", "C12"]],
)
# Write data with a custom compression scheme
image = numpy.ndarray([1, 10, 3, 1024, 2048])
OmeTiffWriter.save(
image,
"file.ome.tif",
tifffile_kwargs={
"compression": "zlib",
"compressionargs": {"level": 8},
},
)
Issues
Click here to view all open issues in bioio-devs organization at once or check this repository's issue tab.
Development
See CONTRIBUTING.md for information related to developing the code.