Part of the Oxford Instruments Group

Imaris 10.1 Release Notes

Imaris 10.1 brings native machine learning segmentation to Imaris. Previously machine learning segmentation was possible via the open source software Labkit [Labkit2022]. Now it is seamlessly possible within Imaris itself. And it’s fast!

Surfaces Creation With Machine Learning Segmentation

Machine learning segmentation is one step in the Surfaces Creation Wizard. In this step you can train a machine learning system to segment the image by simply painting some foreground pixels and some background pixels and letting the machine learning system infer the rules that fit your painting. This is a very intuitive and easy way to set up segmentation that is significantly more versatile than a simple threshold. For example, machine learning segmentation 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.

It Is Really Easy to Use. Just Use It

The workflow to set up the machine learning segmentation is about as simple as it gets. You see with your eyes where there is “foreground” in the image and you just paint on that with the foreground color. Similarly you paint on some background with the background color. Then you ask the machine learning system to show you what it can predict for the rest of the image from what you’ve shown it. If it doesn’t get it right, you paint some more foreground or background in some of the places where the classifier got it wrong and then you ask it to show you again what it can predict. That’s the whole workflow. All you need to know is where you want foreground and where you want background.

Training Round Paint strokes for training Preview after "Train and Predict"

Machine Learning Segmentation Usage Tips

The machine learning segmentation attempts to infer rules that fit your painting. The way you paint has an influence on how the classifier can learn. Here are a few suggestions:

Just Forget the Technical Details

Of course a machine learning system has some technical details that affect how it works. On a coarse level you may want to know that it is a Gradient Boosted Trees classifier [Friedman 2001]. You might want to know that the classifier receives Derivative of Gaussian features up to second order computed at a wide range of scales [Koenderink 1987], specifically 1,2,4,8,16, and 32 times the sigma specified in the user interface. You might want to know the hyperparameters of the decision trees. And more and more. But in a sense knowing all those technical details is counter to the ease of use of the workflow. The tool is so easy to use. We have put significant effort into setting up all the technical details of the system in such a way that they will just work for a large range of situations. You don’t have to care about them.

Thick Slicer for Machine Learning Painting

Slicers in Imaris have an adjustable thickness. No need to stick with the single slice that comes out of the microscope. You can improve visualization by giving the slice a thickness that lets you see the relevant biology. You might for example want to make it thicker than a single nucleus or thicker than the diameter of a blood vessel. When you work with machine learning segmentation you can paint on thick slicers too because Imaris automatically selects the right training data from your paint stroke. This makes painting very efficient. Try it.

Slicer Thickness 0

Slicer Thickness 40 micrometers

Training Voxels in the Thick Slicer are WYSIWYG

When Imaris renders an image onto a thick slicer it does a maximum intensity projection. That means, only the maximum intensity voxels inside the thick slicer get rendered to the screen. When you paint on the thick slicer it is this set of maximum intensity voxels within the slicer that you paint on. Even if the thick slicer is thicker than a bright structure you paint on, the voxels that Imaris selects for training are the bright voxels you painted on. Imaris paints only those voxels you see on the display. It’s WYSIWYG. What you see is what you get.

Multiple Images and Batch Processing

One of the things you may want to do is to apply the same classifier to multiple images. The trained classifier and the corresponding training data are stored as part of the Surfaces creation parameters, which can be then used to run batch processing or be opened on a new image to continue training.

Training on Multiple Images

You can store a classifier in Favorite Creation Parameters and use it for another image. When you do so you get the option to continue training on the new image while keeping the training data from the first by checking the “Keep Training Data” checkbox.

If you choose “keep training data”, add more training data for the second image and then save the classifier it will then contain its previous training data plus those from the new image.

Batch Processing Performance Settings 

In Imaris 10.1 you can influence the speed at which batch processing runs by choosing one of four performance settings in the Batch section of the Preferences.

Imaris opens 2D Images in 2D Mode 

Starting with version 10.1 Imaris opens 2D images in a 2D mode. That means the viewers keep the image in the plane of the display. The handles for interacting with objects are 2D handles. Some things that don’t make sense in 2D are not available when a 2D image is opened. And last but not least, statistics values are computed specifically for 2D images.

Length Measurements on Slicers 

On OrthoSlicer and ObliqueSlicer you can do length measurements by going to the “Measure” tab.

Pseudo Flat Field Correction 

Pseudo flat field correction is available as an image processing function in Imaris to correct for systematic intensity variations across the field of view that arise from properties of the acquisition system. A typical example is a decrease of intensities toward the edges of the field of view.

The pseudo flat field correction function uses a Gaussian Filter of user-specified width to estimate a flatfield F from the original image I. It also optionally estimates a dark field D that is otherwise defaulted to 0. With these, the corrected image C can be computed using the formula C= (I−D)×m/(F−D) where m is the image averaged value of F-D.


Pseudo Flat Field Corrected

Literature and Links 

Bug Fixes

13 Bugs Fixed in Imaris 10.1
6247 Improve Speed of Median Filter - unable to complete process
12380 Cannot move Z-axis cross-hair in Surpass 'section' view after changing Z-voxel in image properties
12459 Scalebar is incorrect using "Orthogonal" view (not perspective)
12792 oib file stage coordinate not recognized
13181 Exported values for Number of Spots Inside do not match table on statistics tab
13334 Contour surface with YZ surface cause Imaris crash
13420 Error: Labkit Segmentation Failed after Fiji update
13531 Classify Spines XT crashes Imaris if spines or filaments have been manually edited
13547 Crash between step Seed Points Classification' and 'Segment Classification'
13568 Imaris Crashes when a created Contour surface saves when SpatialStats is turned ON
13587 Surface filtered out from using a specific seed point threshold at specific timepoints 16 and 47
13618 ND2 File Format is not recognized properly
13645 Creating a New filament object within XT, but never sending to Imaris will cause Imaris to crash

Imaris 10.1.1

33 Bugs fixed since Imaris 10.1.0
13383 CZI 3D time lapse with multiple fields is not converting properly in Imaris 99
13770 Imaris 10.1 not calculating statistics correctly in 2D mode
12378 Spots Statistic 'Intensity Sum of Square' not in statistics manual
13553 Traditional TIFF series crash when you set the settings to use "F-Split" in Imaris10
13729 Free rotate for 2D is not working
13416 Imaris File Converter (and Arena) unable to correctly convert Abberior multi-dataset images into IMS
13722 Recompute Filaments does not display seed points and segments with the color of their class
13727 Batch with Machine Learning Segmentation hangs at 6%
13740 If Creation Parameters on 2D datasets are saved with pre 10.1, still get the old 3D statistics on 10.1
13745 ND2 Files Channel Display Does Not Display/Adjust Correctly
13667 Pixel Classification results differ heavily on Windows and Mac
13712 Machine Learning Segmentation does not work for Batch with Image Processing
13716 Cut Surface 2D creates strange new surfaces
13720 Single channel flickering, duplication artifacts and unresponsiveness in this multi-channeled image
13734 If the Cut option is used occasionally an error message appears: Could not cut surfaces at the specific location
13749 Volume displays 4 channels only
13754 This dataset can't show the "Overlapped" stats
13775 adding timepoint to 2D image and running pixel classifier is failing in Imaris 10.1
13788 2D surface morphological splitting is not working properly in 10.1 and 10.0
13791 Batch does not create objects with pixel classification
13792 Pixel Clasification does not work with Multi Image
13796 Threshold Not Shown in 2D Batch Surface Interface
13585 Not all chanels on all tiles imported from CZI
13778 Error when entering Pixels Classification step in Surfaces for files on a path with Umlaute (special characters)
13711 Class color not always used in seed point and segment training step
13721 Recompute Filaments gives very different result
13742 Object view of Vantage can’t be shown in 2D dataset
13653 Surfaces generated on 2D image can NOT calculate the shortest distance statistic.
13717 For some circular 2D objects a circularity of 0 is reported
13718 If a 3D image is turned into 2D (through Cropping, Project to 2D XT or swap Time and Z) the statistics are still calculated for 3D image
13738 Image is not visible after resampling 3D with Z=1 and saving
13748 2D BoundingBoxOO is wrong in Imaris 10.1
13772 Imaris 10.1 pixel classified surface fails to complete when file size is greater than 200GB