Python utilities to read (tiled) CZI files and parse metadata through python-bioformats
- Free software: BSD license
- Documentation: https://pycziutils.readthedocs.io.
This repository has been archived as aicsimageio https://github.com/AllenCellModeling/aicsimageio can now read tiled CZI images. No further update is expected.
$ pip install pycziutils
A tiny utility module to parse Zeiss CZI files in Python through python-bioformats. Parse tiled images, organize planes into pandas.DataFrame, and parse some hard-to-get metadata.
import pycziutils
@pycziutils.with_javabridge
def main():
czi_file_path="path/to/czi/file.czi"
tiled_czi_ome_xml=pycziutils.get_tiled_omexml_metadata(czi_file_path)
tiled_properties_dataframe=pycziutils.parse_planes(tiled_czi_ome_xml)
print(tiled_properties_dataframe.columns)
#Index(['index', 'X', 'Y', 'Z', 'T', 'C', 'C_index', 'T_index', 'Z_index', 'image',
# 'plane', 'image_acquisition_T', 'absolute_T'],
# dtype='object')
print(tiled_properties_dataframe.iloc[0])
#index 0
#X -1165.624
#Y 122.694
#Z 0.001
#T 1.027
#C Phase
#C_index 0
#T_index 0
#Z_index 0
#image 0
#plane 0
#image_acquisition_T 2021-04-12 02:12:21.340000+00:00
#absolute_T 2021-04-12 02:12:22.367000+00:00
#Name: 0, dtype: object
#returns bioformats reader for tiled images
reader=pycziutils.get_tiled_reader(czi_file_path)
for i, row in tiled_properties_dataframe.iterrows():
image = reader.read(
series=row["image"],
t=row["T_index"],
z=row["Z_index"],
c=row["C_index"],
)
if __name__=="__main__":
main()
This package uses python-bioformats to connect CZI files to Python.
This package was created with Cookiecutter and the wboxx1/cookiecutter-pypackage-poetry project template.
This package uses pysen for linting and formatting.