Skip to content

Releases: AllenCellModeling/napari-aicsimageio

Bugfixes and UX Improvements!

22 Aug 15:24
Compare
Choose a tag to compare

napari-aicsimageio v0.7.2

napari-aicsimageio is a plugin for napari that utilizes AICSImageIO for image reading. In doing so, this plugin allows the reading of hundreds of different file formats. Most with channel, scale, axis, and metadata extraction.

This release includes some minor admin changes, some bugfixes, and some UX improvements.

The main bugfix is that, before this plugin hands the data to napari to render, we squeeze the proper dimensions out of it. And the UX improvement is to change the layer names for single scene images. For example, single scene images used to be added with Image :: 0 but will now be added with FILENAME to add more clarity to the layers when working with multiple files at once.

Thanks @psobolewskiPhD and @tlambert03 for your work on these!

What's Changed

Full Changelog: v0.7.1...v0.7.2

NPE2 and Single Plugin Entry

21 Jul 23:20
Compare
Choose a tag to compare

napari-aicsimageio v0.7.0

This release includes a major change.

Previously after installing and using this plugin, users would be able to manually select between how to read a file (either in-memory or delayed). Due to upgrading to npe2 however, we can no longer ship multiple readers with the same package anymore.

So instead we have made it so the file reading mode (in-memory or delayed) is determined via filesize and available memory.

Reading Mode Threshold

This image reading plugin will load the provided image directly into memory if it meets the following two conditions:

The filesize is less than 4GB.
The filesize is less than 30% of machine memory available.
If either of these conditions isn't met, the image is loaded in chunks only as needed.

Currently, the user cannot select which reading mode to enforce. However coming soom^tm, napari users will be able to edit a configuration file and we plan to expose such settings there.

What's Changed

New Contributors

Full Changelog: v0.6.1...v0.7.0

Link AICSImage Object to Napari Layers

24 Feb 00:35
Compare
Choose a tag to compare

This release can be summed up by the new addition in the README:

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

What's Changed

  • bugfix/windows-tests-fix by @psobolewskiPhD in #41
  • bugfix/windows-build-main-yml-matrix by @psobolewskiPhD in #42
  • feature/store-access-to-aicsimage-and-raw-meta-in-layer-meta by @JacksonMaxfield in #43
  • Update minimum aicsimageio version to v4.6.0: 40d8f8a
  • Update PyPI license to reflect the repo license: c18b6d0

New Contributors

Full Changelog: v0.5.0...v0.6.0

Thanks

All Deps Installable Means GPL License

19 Feb 17:03
Compare
Choose a tag to compare

All readers / file formats / deps are now installable (the main culprit was aicspylibczi not being installable on M1 macs), and as such we have added them all to the deps list. Additionally with this move, the package has become a GPL licensed package.

What's Changed

  • admin/make-script-for-downloading-test-resource-use-cache by @sir-sigurd in #31
  • bugfix/squeeze-extra-dims by @JacksonMaxfield in #32
  • admin/update-min-aicsimageio-ver-and-move-to-gpl3 by @JacksonMaxfield in #36

Doc Updates

New Contributors

Full Changelog: v0.4.1...v0.5.0

Multi-Scene Support

18 Sep 16:35
Compare
Choose a tag to compare

This release adds support for multi-scene files! When napari-aicsimageio reads a multi-scene image it will pop open a widget with a list of all scenes in that file as well as some options for how to load those scenes.

scene support widget gif

This feature is marked as experimental so please give it a go and give us feedback! If reception is positive we are even considering making this the default loading pattern for napari-aicsimageio so that the user can set even more parameters before loading with options like #28 and #29.

Major thanks to @psobolewskiPhD for the large majority of this work, to @tlambert03, @jwindhager, and @Czaki for being readily available for questions, and to the napari community as a whole. This was a lot of work and feedback from a lot of people.

napari-hub launch!

29 Jun 18:03
Compare
Choose a tag to compare

With napari-hub launch just around the corner and with the 4.0 release of AICSImageIO, I thought it would be good to release and fix the plugin in preparation.

This brings the plugin up-to-date with AICSImageIO==4.0.2 🎉

With that, the plugin now directly reads and returns the reconstructed / restitched mosaic tile images for certain file formats. It has generally more bug fixes, and should be faster across the board (especially the out-of-memory variant).