Image Reading, Metadata Conversion, and Image Writing for Microscopy Images in Pure Python
See the full documentation on our GitHub pages site
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 # ...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.
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 |
| OMEZarrWriter | .ome.zarr (OME-NGFF 0.4.0 and 0.5.0) | Repo |
| TimeSeriesWriter | .gif, .mp4, .mkv | Repo |
| TwoDWriter | .png, .bmp, .jpg, .mov, .avi, .mpg, .mpeg, .mp4, .mkv, .wmv, .ogg | Repo |
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")Click here to view all open issues in bioio-devs organization at once