Skip to main content

Description

This plugin enables viewing of Bitplane Imaris files, including very large datasets. The GIFs below demonstrate rendering of a ~2TB IMS file containing a 2 color whole mouse brain. The plugin has been tested on datasets as large as 20TB.

NOTE: For this plugin to work "File/Preferences/Experimental/Render Images Asynchronously" must be selected.

Open IMS file:

Open IMS file GIF

Render in 3D:

A plugin is provided to dynamically reload the data after selecting the lowest resolution level to be included in the viewer. Since napari only renders the lowest resolution, the user can use this plugin to control the quality of 3D rendering. See features and limitations for tips on suggested usage.

3D Rendering and Quality Adjustment GIF

Features

  • Multiscale Rendering
    • Image pyramids which are present in the native IMS format are automatically added to napari during file loading.
  • Chunks are implemented by dask and matched to the chunk sizes stored in each dataset. (Napari appears to only ask for 2D chunks - unclear how helpful this feature is currently)
  • Successfully handles multi-terabyte multi-timepoint multi-channel datasets.
  • Tested with all sample files provided by Bitplane.
  • Higher 3D rendering quality is enabled by a widget that reloads data after specifying the lowest resolution level (higher number = lower resolution) to be included in the multiscale series.

Known Issues / limitations

  • Currently, this is only an image loader, and there are no features for loading or viewing objects
  • Napari sometimes throws errors indicating that it expected a 3D or 5D array but receives the other.
    • This sometimes but relatively rarely causes napari to crash
    • Would like to enable Asynchronous Tiling of Images, but this results in more instability and causes crashes.

This napari plugin was generated with Cookiecutter using with @napari's cookiecutter-napari-plugin template.

Installation

You can install napari-imaris-loader via pip:

pip install napari-imaris-loader

Change Log:

v0.1.2:

Fixed: Issue where .ims files containing a single color 2D image would not open.

Fixed: Issue where using the widget to change resolutions while in 3D rendering would cause a crash. Now the viewer is automatically forced into 2D rendering mode when the widget is used.

Dependency change: The loader is now dependent in a separate package for loading IMS files. https://pypi.org/project/imaris-ims-file-reader/

v0.1.3:

Documentation

v0.1.4:

Add napari to install requirements for plugin compatibility

v0.1.5:

Changes to napari:

  • now requires napari[all] upon install.
  • requires >=v0.1.5 of imaris-ims-file-reader

v0.1.6:

  • Fix issue #7 where contrastLimits possibly unbound in reader

v0.1.7:

  • For squeeze_output=False when opening .ims file for Napari compatibility

v0.1.8:

  • Add automatic determination of contrast_limits
  • Fix bug in squeeze_output

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the BSD-3 license, "napari-imaris-loader" is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

Release files for napari-imaris-loader 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for napari-imaris-loader 0.1.8
File Size Uploaded
napari-imaris-loader-0.1.8.tar.gz 102.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for napari-imaris-loader 0.1.8
File Interpreter ABI Platform
napari_imaris_loader-0.1.8-py3-none-any.whl Python 3 none any Details

Total release size: 102.1 MB

Release files / napari-imaris-loader-0.1.8.tar.gz

Download URL napari-imaris-loader-0.1.8.tar.gz
Size 102.1 MB
Tags Source
SHA-256 checksum
How to use checksums
f8a0e86a832744a5e904253216f5c3c61ee46764682e7911ad1fa00ce7bfe4c1
BLAKE2b-256 checksum
How to use checksums
b9da93b4b1c29a58b23e3a640781db8d0a0f4951ff7eecae27cb96c214c170ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.4

Release files / napari_imaris_loader-0.1.8-py3-none-any.whl

Download URL napari_imaris_loader-0.1.8-py3-none-any.whl
Size 10.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
149d094aabcae613e2302eda67050ebe7a2038d7332de90ee692e70bd230ac80
BLAKE2b-256 checksum
How to use checksums
2a0ff8172b52ed731c664f053ae294d72e9c511a51ec9b3df04c86267506f907
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.4

Release history Release notifications | RSS feed

This release

0.1.8 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.0.9

2 release files

0.0.7

2 release files

0.0.6

1 release file

0.0.5

1 release file

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page