v3.2.0 LIF Support and Reader Optimizations
AICSImageIO 3.2.0
We are happy to announce the release of AICSImageIO 3.2.0!
AICSImageIO is a library for delayed parallel image reading, metadata parsing, and image writing for microscopy formats in pure Python. It is built on top of Dask to allow for any size image to act as a normal array as well as allow for distributed reading in parallel on your local machine or an HPC cluster.
Highlights
LifReader
We now support reading 6D STCZYX Leica Image Files (LIF) and their metadata. Like all readers, this is implemented in a way that can be used to read and interact with any size file.
from aicsimageio import AICSImage, readers, imread
img = AICSImage("my_file.lif")
img = readers.LifReader("my_file.lif")
data = imread("my_file.lif")
Optimized Readers
After releasing v3.1.0, we noticed that our single threaded full image read performance wasn't as fast as the base file readers or similar microscopy file readers (czifile
, tifffile
, imageio
, etc.) and set about resolving and optimizing our readers.
We are happy to report that in release v3.2.0 we now have comparable single threaded performance to similar libraries. And, like before, single threaded reading, regardless of library is beaten out when using a distributed cluster for parallel reading.
See our documentation on benchmarks for more information.
napari-aicsimageio
We were so excited for napari's 0.3.0 release that we may have made a plugin early. If you haven't seen it, napari-aicsimageio
has also been released!
pip install napari-aicsimageio
By simply installing the plugin you get both a delayed and in-memory version of aicsimageio
to use in napari
so you get all the benefits of aicsimageio
in the wonderful application that is napari
.
Other Additions and Changes
- Allow sequences and iterables to be passed to
AICSImage.get_image_data
and related functions
from aicsimageio import AICSImage
img = AICSImage("my_file.czi")
data = img.get_image_data("CZYX", S=0, T=0, Z=slice(0, -1, 5)) # get every fifth Z slice
data = img.get_image_data("CZYX", S=0, T=0, Z=[0, -1]) # get first and last Z slices
- Fix written out OME metadata to support loading in ZEN
- Various package maintenance tasks
- Convert package to use Black formatting
- Update PR template for easier introduction to contributing
- Move test resources to S3
Contributors and Reviewers this Release (alphabetical)
Madison Bowden (@AetherUnbound)
Jackson Maxfield Brown (@JacksonMaxfield)
Jamie Sherman (@heeler)
Dan Toloudis (@toloudis)