Skip to main content

Image reading, metadata management, and image writing for Microscopy images in Python

Project description

BioIO

Build Status Documentation PyPI version License Python 3.10–3.13

Image Reading, Metadata Conversion, and Image Writing for Microscopy Images in Pure Python


Documentation

See the full documentation on our GitHub pages site

Example Usage (see full documentation for more examples)

Install bioio alongside OME TIFF and OME ZARR plug-ins with pip (this example won't use the OME ZARR plug-in):

pip install bioio bioio-ome-tiff bioio-ome-zarr

from bioio import BioImage

# Get a BioImage object
img = BioImage("my_file.tiff")  # selects the first scene found
img.data  # returns 5D TCZYX numpy array
img.xarray_data  # returns 5D TCZYX xarray data array backed by numpy
img.dims  # returns a Dimensions object
img.dims.order  # returns string "TCZYX"
img.dims.X  # returns size of X dimension
img.shape  # returns tuple of dimension sizes in TCZYX order
img.get_image_data("CZYX", T=0)  # returns 4D CZYX numpy array

# Get the id of the current operating scene
img.current_scene

# Get a list valid scene ids
img.scenes

# Change scene using name
img.set_scene("Image:1")
# Or by scene index
img.set_scene(1)

# Use the same operations on a different scene
# ...

Plug-in Registry

Bioio handles a variety of different image types through specific plug-ins. The bioio-dev supported plug-ins can be found within this registry.

Plug-in Extension Repository
arraylike ArrayLike Built-In
bioio-czi .czi Repo
bioio-dv .dv, .r3d Repo
bioio-imageio .jpg, .png, Full List Repo
bioio-lif .lif Repo
bioio-nd2 .nd2 Repo
bioio-ome-tiff .ome.tiff, .tiff Repo
bioio-ome-tiled-tiff .tiles.ome.tif Repo
bioio-ome-zarr .zarr Repo
bioio-sldy .sldy, .dir Repo
bioio-tifffile .tif , .tiff Repo
bioio-tiff-glob .tiff (glob) Repo
bioio-bioformats Full List Repo

Each reader plugin should closely follow the specification laid out in bioio-base. As such, it is likely common that reader plugins won't distribute their own documentation and users should instead review bioio_base.reader.Reader for API documentation for the underlying Reader API. We encourage plugin authors to publish their own documentation if they change or include new features into their published image readers.

Writer Registry

BioIO supports a set of writer backends for exporting image data. The writer registry below lists maintained writer plug-ins.

Writer Extension Documentation
OmeTiffWriter .ome.tiff Repo
OmeZarrWriterV2 .ome.zarr (OME 0.4.0, Zarr 2) Repo
OmeZarrWriterV3 .ome.zarr (OME 0.5.0, Zarr 3) Repo
TimeSeriesWriter .gif, .mp4, .mkv Repo
TwoDWriter .png, .bmp, .jpg, .mov, .avi, .mpg, .mpeg, .mp4, .mkv, .wmv, .ogg Repo

Writer Installation and Usage

Writers will be installed with the respective plugin. Once installed they can be imported via bioio.writers. ex. bioio.writers<Writer Name>

import numpy as np
from bioio.writers import OmeTiffWriter # with bioio-ome-tiff installed

image = np.random.rand(10, 3, 1024, 2048)
OmeTiffWriter.save(image, "file.ome.tiff", dim_order="ZCYX")

Issues

Click here to view all open issues in bioio-devs organization at once

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

bioio-3.0.0.tar.gz (59.7 kB view details)

Uploaded Source

Built Distribution

bioio-3.0.0-py3-none-any.whl (56.6 kB view details)

Uploaded Python 3

File details

Details for the file bioio-3.0.0.tar.gz.

File metadata

  • Download URL: bioio-3.0.0.tar.gz
  • Upload date:
  • Size: 59.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bioio-3.0.0.tar.gz
Algorithm Hash digest
SHA256 8be25df70b611e62d1f1c3b11b47e039f3626e08e17e0dc792d824be3e4aeb89
MD5 2b880bd2963ddccbdb0244aecf553437
BLAKE2b-256 f1950f9c15d0e329da74d63ad8495ddb6563d53ee27bc4eea9dc471f59648015

See more details on using hashes here.

Provenance

The following attestation bundles were made for bioio-3.0.0.tar.gz:

Publisher: ci.yml on bioio-devs/bioio

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

File details

Details for the file bioio-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: bioio-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 56.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bioio-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c8a796d2ddf0b60fb240603c51c6b7e48fa1b3d8d2da9ade137f67d04f0707c0
MD5 2840c0055a51959513355cc4443e3cdf
BLAKE2b-256 a102c6713b1d38fdf6b705265e8def466ed22f62c0684b8ee030809ad396924e

See more details on using hashes here.

Provenance

The following attestation bundles were made for bioio-3.0.0-py3-none-any.whl:

Publisher: ci.yml on bioio-devs/bioio

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 Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page