All Projects → AllenCellModeling → napari-aicsimageio

AllenCellModeling / napari-aicsimageio

Licence: GPL-3.0 license
Multiple file format reading directly into napari using pure Python

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to napari-aicsimageio

webp-imageio
Java ImageIO WebP support
Stars: ✭ 135 (+650%)
Mutual labels:  imageio
segmentation
Code for my master's thesis. Instance segmentation of fluorescence microscopy images with deep learning.
Stars: ✭ 38 (+111.11%)
Mutual labels:  microscopy
impy
Speed up coding/extending image analysis in Python.
Stars: ✭ 21 (+16.67%)
Mutual labels:  napari
MicroscPSF-Py
Fast and Accurate 3D PSF Computation for Fluorescence Microscopy
Stars: ✭ 25 (+38.89%)
Mutual labels:  microscopy
ImSwitch
ImSwitch is a software solution in Python that aims at generalizing microscope control by providing a solution for flexible control of multiple microscope modalities.
Stars: ✭ 43 (+138.89%)
Mutual labels:  microscopy
MiM NikonTi
Config and scripts used to run a Nikon Eclipse Ti in the vanNimwegen lab.
Stars: ✭ 16 (-11.11%)
Mutual labels:  microscopy
ThreeDeconv.jl
A convex 3D deconvolution algorithm for low photon count fluorescence imaging
Stars: ✭ 28 (+55.56%)
Mutual labels:  microscopy
OAD
Collection of tools and scripts useful to automate microscopy workflows in ZEN Blue using Python and Open Application Development tools and AI tools.
Stars: ✭ 90 (+400%)
Mutual labels:  microscopy
picasso
A collection of tools for painting super-resolution images
Stars: ✭ 77 (+327.78%)
Mutual labels:  microscopy
axondeepseg
Axon/Myelin segmentation using Deep Learning
Stars: ✭ 102 (+466.67%)
Mutual labels:  microscopy
arboretum
Track and lineage visualization with btrack and Napari
Stars: ✭ 37 (+105.56%)
Mutual labels:  napari
brainreg
Automated 3D brain registration with support for multiple species and atlases.
Stars: ✭ 73 (+305.56%)
Mutual labels:  microscopy
odemis
Open Delmic Microscope Software
Stars: ✭ 32 (+77.78%)
Mutual labels:  microscopy
napari-hub
Discover, install, and share napari plugins
Stars: ✭ 44 (+144.44%)
Mutual labels:  napari
micromanager-samples
Python samples for Micro-Manager: image acquisition and microscope control system
Stars: ✭ 19 (+5.56%)
Mutual labels:  microscopy
ColiCoords
Single-cell fluorescence microscopy data analysis
Stars: ✭ 22 (+22.22%)
Mutual labels:  microscopy
sparse-deconv-py
Official Python implementation of the 'Sparse deconvolution'-v0.3.0
Stars: ✭ 18 (+0%)
Mutual labels:  microscopy
cellfinder
Automated 3D cell detection and registration of whole-brain images
Stars: ✭ 122 (+577.78%)
Mutual labels:  microscopy
ome-types
native Python dataclasses for the OME data model
Stars: ✭ 28 (+55.56%)
Mutual labels:  microscopy
cellpose-napari
napari plugin for cellpose (see www.cellpose.org) - an anatomical segmentation tool
Stars: ✭ 30 (+66.67%)
Mutual labels:  napari

napari-aicsimageio

License Build Status Code Coverage

AICSImageIO bindings for napari


Features

  • Supports reading metadata and imaging data for:
    • OME-TIFF
    • TIFF
    • CZI (Zeiss)
    • LIF (Leica)
    • ND2 (Nikon)
    • DV (DeltaVision)
    • Any formats supported by aicsimageio
    • Any formats supported by bioformats
    • Any additional format supported by imageio

While upstream aicsimageio is released under BSD-3 license, this plugin is released under GPLv3 license because it installs all format reader dependencies.

Installation

Stable Release: pip install napari-aicsimageio or conda install napari-aicsimageio -c conda-forge
Development Head: pip install git+https://github.com/AllenCellModeling/napari-aicsimageio.git

Plugin Variants

screenshot of plugin sorter showing that napari-aicsimageio-in-memory should be placed above napari-aicsimageio-out-of-memory

There are two variants of this plugin that are added during installation:

  • aicsimageio-in-memory, which reads an image fully into memory
  • aicsimageio-out-of-memory, which delays reading ZYX chunks until required. This allows for incredibly large files to be read and displayed.

Examples of Features

General Image Reading

All image file formats supported by aicsimageio will be read and all raw data will be available in the napari viewer.

In addition, when reading an OME-TIFF, you can view all OME metadata directly in the napari viewer thanks to ome-types.

screenshot of an OME-TIFF image view, multi-channel, z-stack, with metadata viewer

Multi-Scene Selection

When reading a multi-scene file, a widget will be added to the napari viewer to manage scene selection (clearing the viewer each time you change scene or adding the scene content to the viewer) and a list of all scenes in the file.

gif of drag and drop file to scene selection and management

Access to the AICSImage Object and Metadata

napari viewer with console open showing viewer.layers[0].metadata

You can access the AICSImage object used to load the image pixel data and image metadata using the built-in napari console:

img = viewer.layers[0].metadata["aicsimage"]
img.dims.order  # TCZYX
img.channel_names  # ["Bright", "Struct", "Nuc", "Memb"]
img.get_image_dask_data("ZYX")  # dask.array.Array

The napari layer metadata dictionary also stores a shorthand for the raw image metadata:

viewer.layers[0].metadata["raw_image_metadata"]

The metadata is returned in whichever format is used by the underlying file format reader, i.e. for CZI the raw metadata is returned as an xml.etree.ElementTree.Element, for OME-TIFF the raw metadata is returned as an OME object from ome-types.

Lastly, if the underlying file format reader has an OME metadata conversion function, you may additionally see a key in the napari layer metadata dictionary called "ome_types". For example, because the AICSImageIO CZIReader and BioformatsReader both support converting raw image metadata to OME metadata, you will see an "ome_types" key that stores the metadata transformed into the OME metadata model.

viewer.layers[0].metadata["ome_types"]  # OME object from ome-types

Mosaic Reading

When reading CZI or LIF images, if the image is a mosaic tiled image, napari-aicsimageio will return the reconstructed image:

screenshot of a reconstructed / restitched mosaic tile LIF

Development

See CONTRIBUTING.md for information related to developing the code.

For additional file format support, contributed directly to AICSImageIO. New file format support will become directly available in this plugin on new aicsimageio releases.

Citation

If you find aicsimageio (or napari-aicsimageio) useful, please cite as:

AICSImageIO Contributors (2021). AICSImageIO: Image Reading, Metadata Conversion, and Image Writing for Microscopy Images in Pure Python [Computer software]. GitHub. https://github.com/AllenCellModeling/aicsimageio

Free software: GPLv3

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].