Imaris 9.9 brings several new segmentation possibilities to Imaris. From within Imaris Surface creation wizard one can seamlessly run the open source machine learning pixel classification software Labkit. This combines the machine learning capabilities of Labkit with splitting, statistics calculation, filtering, classification, color coding, and rendering capabilities of Imaris.
Imaris9.9 also supports direct import of segmentation results stored in h5 or tiff labelimages into Imaris surfaces. One can for example use the open source ilastik [ilastik2019] pixel classification software to export a segmentation and then import that into Imaris as surfaces.
Another feature of this release is in the standalone ImarisFileConverter software for conversion of image files to the IMS file format. In version 9.9 ImarisFileConverter can use as a plugin the open source converter ImarisConvertBioformats which makes use of the Bio-Formats file readers to produce IMS files.
Imaris 9.9 has the option to use the open source machine learning pixel classification software Labkit for surface creation. This creates segmentation possibilities that go beyond the possibilities that Imaris itself offers. (Note that this feature requires an ImarisXT license.)
To make use of Labkit from within Imaris you need to install Fiji and a Labkit version for Imaris and configure the path to Fiji in Imaris’ preferences. Then the surfaces creation wizard has an option to use Labkit for the segmentation. Instructions for installation and configuration can be found here: configuring-imaris-9-9-to-work-with-labkit.
When this option is chosen Labkit will start automatically upon clicking “next” in the creation wizard and the image from Imaris is automatically rendered in Labkit. You can then use Labkit to train a pixel classifier to your liking and when you are done press “Compute result and send it to Imaris” in the bottom left hand corner of Labkit to send the result back to Imaris and proceed in the surface creation wizard.
The machine learning pixel classifier creates some useful possibilities for segmentation. It can combine information from several channels when the checkbox “All Channels” is checked before sending data to Labkit. It can be trained to fill holes inside objects when the holes are small, or it can be trained to detect thin elongated structures or round structures. Unfortunately it is not easy to describe when the pixel classifier will work or not. However, since Labkit efficiently computes the classification results on the visible region, one can consider it WYSIWYG – “what you see is what you get”. Which also means that the user should validate the results on the entire image to avoid unintended errors.
Instructions on how to use Labkit can be found online. It is very worthwhile to try to turn on GPU acceleration (and to install the necessary modules for that). With GPU acceleration Labkit can compute results much faster than without. Another valuable “hint” might be somewhat counterintuitive: it is often better to draw small regions than to draw large regions. This is due to the fact that Labkit uses every drawn pixel for training and that can consume a lot of computer resources without improving results much.
Batch processing of surface creation works also for Labkit created surfaces. This gives you the possibility to train a classifier on one image and then easily apply the same classifier to other images. Please note that there is no simple workflow to train a classifier on several images. For batch processing to succeed, try to find a single image that is well representative of all images in the batch, train on that image and run batch with that trained classifier.
ilastik and Labkit are two popular open source pixel classification tools widely used in fluorescence microscopy. Imaris9.9 makes the import of ilastik or Labkit segmentation results easy. The new “Import” button in the main button toolbar at the top of the Imaris window let’s you import an h5 file or a tiff file that contains a “label image”. A “label image” is an integer image where each integer value encodes a different type of region. The integer “0” is interpreted as “background”. Every integer greater than 0 is interpreted as inside a surface. A labelimage can use 0 to encode “background” and 1 to encode “foreground”. Also possible is the import of images where many integers are used in such a way that each integer encodes one “object”. This encoding is useful to store touching objects.
Note that when in ilastik in step “4 Prediction Export” a “simple segmentation” is exported this doesn’t contain zeros which Imaris would interpret as background. It is possible in ilastik to export the segmentation for each label individually in step “3 Training” by right-clicking on the corresponding “Segmentation” in the bottom left of the ilastik window and exporting just the segmentation of one label.
Imaris9.9 can load spots and tracks stored from MaMuT or TrackMate. Imaris calculates all statistics values for these spots so that for example they can be color-coded by nearest neighbor distance or any other available statistics. To load MaMuT spots from either xml or csv use the Import Scene entry from either the File menu or the Import button in the main button toolbar and select the appropriate file.
A potential problem when converting images from other formats to IMS, in particular when converting tiff-series, is a lacking specification of the voxel size in Z. In Imaris9.9 both Arena and ImarisFileConverter automatically check for voxel sizes in X, Y, and Z. If one voxel size is missing this must be entered by the user before file conversion, i.e. file conversion cannot be run if a voxel size is missing.
To change the voxel size for a file you can select the corresponding row and then press “Set Voxel Size” or you can double-click the voxel size cell of that file.
ImarisFileConverter9.9 comes with the possibility to use the open source program ImarisConvertBioformats to convert images from other formats to the IMS format. The program ImarisConvertBioformats itself uses the open source Bio-Formats file readers to read images and it uses the open source ImarisWriter to write IMS files. We hope that the possibility to use ImarisConvertBioformats as a plugin for ImarisFileConverter brings two benefits to the community: when a Bio-Formats reader is “better” than the reader shipped with ImarisFileConverter you can switch to that. And when you want to implement your own reader you can implement it in Bio-Formats and run it from the ImarisFileConverter user interface.
The Preferences user interface of ImarisFileConverter has a tab called “Bio-Formats” where you can both configure the use of ImarisConvertBioformats in general and where you can select per file forma twhich converter you would like to use for the respective format. The column “ImarisConvert” refers to the file converter that comes with ImarisFileConverter. The column “ImarisConvertBioformats” refers to the ImarisConvertBioformats plugin.
For those formats, for which you choose ImarisConvertBioformats, file format detection is a two-step process. When a file is added to ImarisFileConverter first ImarisConvert is used to detect the format. If the format detected by ImarisConvert is a format for which you have selected ImarisConvertBioformats as the converter, then ImarisConvertBioformats is asked to confirm that it can read the file and to query the voxel size. This two-step process can take noticeably longer for some formats (compared to file format detection by ImarisConvert alone) as the speed with which ImarisConvertBioformats queries the format and the voxel size varies a lot for different file formats.
Imaris 9.9 and ImarisFileConverter 9.9 can read Abberior Instruments OBF files.
|Fixed 9 Bugs (since Imaris 9.9.0)|
|13175||Labkit surface creation failure when using Seedpoints to segment result|
|13277||Imaris shows error on saving after import of Picasso Spots|
|13278||Some dataset crash Vantage when opened|
|13287||TIFF Setting F-Split is not working|
|13293||Imaris Labkit Segmentation does not work when BigStitcher is installed|
|13298||Labelled Image imported wrongly|
|13299||Clicking on surfaces in 3D view sometimes does not select them|
|13305||Imaris crashes while switching to Image Processing on specific workstation|
|13312||Using the SetLabels XT interface method is slow for 100000 objects|