On the 22nd of April 2020, was given the NEUBIAS Academy webinar “Bioimage Analysis with Icy”.
Moderators: @Stephane, Daniel Gonzalez Obando, @Ofra_Golani, @RoccoDAntuono and @Julien_Colombelli.
Video of the webinar: on the Youtube channel of NEUBIAS.
Slides: on Marion’s GitHub repository.
More than 400 persons attended the webinar. We are adding to this thread all the Questions & Answers collected during the webinar.
Enjoy and post any missing question here!
Table of contents of the first part
- Getting started with Icy
- Comparison of Icy with other softwares
- General technical questions
- Links below redirect to the second post. You may need to click a second time on the topic you're looking for in the table of content of the second post.
- Applications in various microscopy fields
- Machine Learning
Q1: I tried installing it in my Mac, following all advices in the website (Java8). However the application won’t launch, even with the trick of CTRL+Open, so it does not appear as an issue with security. Do you have any advice?
We experience troubles with Catalina version. The current workaround (until we fix it) is to show Icy “package content” (right click on Icy app icon to do it) then directly execute the icy.jar file.
Make sure to install Java first. Then launch Icy using the
NB: Regarding installation of Icy, please read the important notes on the download page. If you don’t succeed, please make a new thread on the image.sc forum indicating your OS version, the java version, and what you did so far (downloading Icy from this source, downloading this version of Java etc).
Q3: What would be a good source to start learning to use Icy?
Q4: Are there tutorials on Icy? where can they be found?
Q5: Are there practice problems? Working with known data/protocols can help in learning new software.
Yes, there are some tutorials to get you started on the Icy website.
Note that the training material section is open to contributions from anyone in the Icy community. If you would like to share your training material, please get in touch with @MarionLouveaux or @Stephane, they will help you add it to the Icy website.
Q6: Can you recommend, if it exists, a step-by-step tutorial on the use of active contours segmentation?
Apart from the online documentationof the Active Contours plugin, there is currently no other step-by-step tutorial. Note that the Active Contour plugin is a quite complex plugin with many parameters to tune and may require the help of a bioimage analysis expert to reach an accurate segmentation.
[edit 2020-06-04] This book chapter contains several video tutorials around the Active Contours plugin. The images used in the tutorials are available on this Zenodo repository.
You can have a look at the protocols tutorial in the training section of the Icy website.
The protocol section is also a great source of inspiration and is open to contributions from anyone in the Icy community.
To upload your own protocol there, 1) create an account on the Icy website, 2) once signed in click on the upper left corner of the Icy website and click on “Protocol -> Add New” and 3) fill in the form. You will be listed among the contributors on the Icy website.
You can run scripts or protocols via the command line, as indicated in the instructions on the online documentation for scripts in the headless mode section and protocols in the command-line support section.
Q9: Hi. Can we have a copy of the presentation slides? Could you please upload the link from which we can download the presentation??
The presentation slides can be found on Marion’s GitHub repository. To get the slides as .pdf, print them from the Chrome web browser.
The images presented during the webinar come from two datasets published on Zenodo:
- a 3D plant dataset showing a whole tissue, the shoot apical meristem
- a 2D animal dataset with isolated cells
Two protocols are shown in the presentation:
Q12: In your opinion, what is the key selling point of Icy from the end-user perspective (disregarding easier plugin building for now)? For instance, commercial software like Imaris and Arivis is considerably more convenient and usually vastly outperforms freeware in 3D visualization, analysis and GPU acceleration, but the number of tools and the ability to customize them is usually limited. Vaa3D and Bioimage XD (is it still alive?) try to fill the 3D gap, but, frankly, have little benefits except for price. CellProfiler is mainly for HCS, it is really good at what it does, but can’t really be compared to Fiji, Icy and similar. Fiji is considerably more flexible and has a lot more plugins for every scenario. For ML and DL you’d anyway normally go for custom models (I think some people try to make an umbrella collection of user-friendly notebooks, that’s a different story). What do you think is Icy’s positioning in this landscape, from the end-user viewpoint, i.e. does it has some definite advantage?
Q13: What is the advantage of Icy over ImageJ or any other image analysis software?
Three main software features could help you position Icy in the landscape of bioimage analysis softwares from an end-user perspective:
- Maintenance and long-term sustainability: Icy exists since almost 10 years. It was created in the Bioimage Analysis unit at the Institut Pasteur. The kernel is still maintained there by the Icy team, a subgroup within the unit, and plugins are regularly developed in the unit. It means that the software will not disappear from one day to another, neither change completely.
- Community and centralisation of resources: Icy is open-source and free, and will remain so in the future. All the people using Icy, creating protocols, developing plugins or maintaining the kernel constitute the Icy community. This community shares resources like scripts, protocols, plugins, documentation or training material in a centralised manner via the Icy website.
In term of bioimage analysis features, Icy comes originally from a bioimage analysis lab and was designed to be a platform where image analysis specialists can deliver their solutions to non experts in a user-friendly manner. For these reasons, Icy provides both state-of-the-art and cutting-edge algorithms freshly published in high standard journals. The latter offer solutions to process “difficult” or relatively heterogeneous image datasets with speed, robustness and precision. We can cite here the Spot Tracking plugin, which algorithm was published in Chenouard et al. 2013, and the Active Contours plugin, which algorithm was published in Dufour et al. 2011. The quality of these algorithms has been assessed in comparative studies, respectively in Chenouard et al. (2014) and Ulman et al. (2017).
Moreover, to insure the continuity of the Icy software in the future and to answer the growing needs of in bioimage analysis services in industry and academia, the Icy team also recently started “Icy Services”, a commercial platform to provide services around Icy. We sell
- consultancy services such as making customized protocols or plugins for you, doing the whole analysis from raw images to final biological results, improving existing workflows…
- training services such as two days personnalized Icy training in small groups
custom software developments such as a simplified GUI or the deploiement on servers
To know more about Icy Services, please contact us via the specific contact formular.
Q14: What are the differences with Fiji? In other words, why should I use Icy rather than ImageJ?
Q15: I’m using ImageJ since about 15 years contributing in macros, plugins, bug corrections, core code improvement… What would convince me to move over Icy, besides the 3D visualization?
Compared to ImageJ/Fiji, Icy provides a graphical programming interface called “protocols” that may be easier to get started with than ImageJ macros, as it does not require any programming knowledge. This brings several advantages for bioimage analysts teaching image analysis and/or working on a core facility platform and needing to deliver bioimage analysis workflows for end-user:
- a visual interface to teach bioimage analysis workflows
- a tool that can be adopted widely and quickly by anyone
- the possibility to deliver complex bioimage analysis workflows in a transparent and reproducible manner and give some autonomy to the end user who will eventually modify some input/output parameters.
From a developper point of view, you can provide at the same time a plugin and a protocol block without more effort for you, and you can also upload this plugin and block directly on the Icy website, allowing to discover it, download it and get access to the documentation directly from the search bar. All this means a gain in visibility for your plugin and more chances for users to use it in simple or more advanced workflows.
Icy also offers (we hope) better visualization tools by default, which can be interesting if you are dealing a lot with 3D datasets.
And at the plugins level, Icy has some specific algorithms that you cannot find in ImageJ and thay may perform better on your data, and viceversa. It is then a matter of expertise to decide which tool to use in which case.
First, the visual appearance (the gui, the way results are presented…) is different. More precisely, in Icy, the graphical user interface is organised into a ribbon menu and side panels, as showed in the slide 9. Results from ROIs are available in the side panel, as showed in slide 13. Second, the visualisation options are not exactly the same and are available in the side panel and around the viewer. Third, there is a graphical programming interface called protocols in Icy (see part 2 of the presentation, slide 24 to 41). And fourth, as for ImageJ/Fiji, Icy has some specific algorithms that you cannot find in CellProfiler and thay may perform better on your data, and viceversa.
@haesleinhuepf recently made a short introduction about CellProfiler. We recommend to test both and take the best of each.
Almost all plugins developed by the Bioimage Analysis Unit (Active Contours, Spot Detector, Probabilistic Tracking, Colocalization Studio, BioFlow…) are specific to Icy and do not have a twin brother in ImageJ/Fiji. Other Icy plugins may have an homologue in ImageJ/Fiji, especially when performing basic image analysis tasks (Filter Toolbox, Thresholder, Label Extractor…), but not only. And, of course, there are also Fiji plugins that do not have an homologue in Icy. For instance, there is no equivalent of the Big Data Viewer in Icy yet.
Note that sometimes, the distinction can be tricky for non experts, for instance:
- the Active Contours plugin uses an algorithm that exists only in Icy.
- the E-Snake ImageJ/Fiji plugin uses another algorithm (also from the family of active contour segmentation), and has a direct homologue in Icy, using the exact same algorithm, the Active cells plugin.
Q18: Is active contour option available in Imagej? I used a different software for image analysis that gives me good segmentation of nuclei in a fluorescent image. Still I am not able to get good segmentation in Icy.
The Active Contours plugin is based on an active contour algorithm that is specific to Icy and not available in ImageJ. Yet, there is other active contour algorithms, such as the E-Snake ImageJ/Fiji plugin in ImageJ that uses the same algorithm as the Active cells plugin (see Q17). Note that the Active Contours plugin is a quite complex plugin with many parameters to tune and may require the help of a bioimage analysis expert to reach an accurate segmentation.
Two criteria can be taken in account in the definition of “work better”: the user-friendliness and the performance of the algorithm. Regarding the user-friendliness, this is matter of taste and one need to test by itself the plugin and decide by itself if the documentation is sufficient for one’s needs. Regarding the performance of the algorithm, this is a matter of expertise and benchmarking. Among segmentation algorithms families (active contours, watershed, weka…), some are better suited than others for certain datasets, depending on the signal to noise ratio, the presence of discontinuities in the structure etc. Between algorithms of the same family, the speed and accuracy may vary depending on the dataset. To do benchmarking between algorithms, you can package Icy plugins and compare them to other tools in Biaflows.
Q20: I would like to know if there’s any differences on doing the segmentation with Icy or the Ilastik - Cell Profiler pipeline in terms of results or difficulty of the process.
Ilastik segmentation uses machine learning approaches, such as pixel classification that do not exist in Icy, so the algorithm itself is different. For further details, see Q19.
Icy is not made to be a data visualisation tool. Hence, it can only generate basic plots, through the ROI statistics table for instance, and is probably more limited than the ImageJ Plot features. For a proper data visualisation, we recommend to export the data to .csv or xls and analyse them with dedicated tool.
Almost none. Note that it is an empty ImageJ (it is not Fiji) so you will need to install all the plugins you need by yourself. To install an ImageJ plugin, put the jar file of the plugin in the
/ij/plugins/ folder inside the Icy installation folder.
ImageJ is there to provide easy inter-operability as you can convert Icy images to ImageJ images and vice versa (allowing to do part of the analysis in ImageJ and part in Icy). You might be interested by the following topic on the forum about how to open an image in the ImageJ tab of Icy, and by the Icy plugin to import ImageJ ROIs in Icy which also exists as a protocol block. Note that you can also call a macro or an ImageJ plugin inside an Icy protocol by using respectively the
callIJmacro and the
Q23: Hello I am trying to download the Icy for my Mac, but when I open one image by Icy, the image is not quite clear compared with it opened by Fiji?
Did you try to adjust the histogram ? I guess there is some kind of auto contrast strategy involved here. You can adjust the image intensities of your image using the LUT on the right panel of the interface.
Q24: When I synchronize windows I don’t get the same ROI in both pictures, how do I do it? The mouse runs in both figures but ROI does not appear in both.
ROIs are associated exclusively to one image. You can copy and paste them from one image to the other if you need to. You can also have ROI shared only when you first duplicate the view (top right corner of the viewer window) then synchronize the two windows (lock in the top left corner); this is what is shown in the presentation (see slide 12). Duplicating the view means that only the view is duplicated but the dataset and the ROIs remain the same (no data duplication).
Yes, Icy allows the use of VTK to render 3D elements on a canvas. You can create plugins that do this. For instance, have a look at the Isosurface plugin.
Q26: Thanks for this presentation. I use Icy with OME-TIFF images. I known that Icy is compatible with this format. However, I have big OME-TIFF images with multiresolution (pyramidal). I would like to known if Icy could manage multiresolution dynamically in the viewer (change the resolution according to the zoom) like QuPath or Cytomine.
Not for now, but we are currently working on providing a solution for this.
Q27: Icy supports all image formats?
Q28: Can Icy open all data formats similar to ImageJ with Bio-Formats?
Q29: What about opening proprietary image files?
Icy uses BioFormats to open image files, which support more than 100 formats. You can check the complete list of supported formats on the Bioformat website. You can also extend supported format (as MP4 video) installing extra plugin such as the Xuggler video importer.
Yes, Icy uses Bio-Formats internally which should support .NDP (not 100% sure though)
Q31: Is there native support for multidimensional images?
Q32: Is Icy natively able to open multiresolution images without loading the complete image (save RAM)?
Icy supports 5D images : XYCZT (C = channel is also a dimension as you’re not limited on the number of possible channel).
You can load your images at the resolution level of your need.
Yes. To install an ImageJ plugin, put the jar file of the plugin in the
/ij/plugins/ folder inside the Icy installation folder
Q34: Can you import segmentation coordinates of objects created in Ilastik (using machine learning)?
Let’s imagine that you segmented nuclei using the Ilastik pixel classification process with two labels: background and nuclei. In the Prediction Export tab from Ilastik, you can export a “simple segmentation” as “.tif” and then import this image in Icy. As this segmentation has only two classes, you can run the Label Extractor plugin with the parameter “Extract” on “All labels vs background” to create ROIs from the segmented nuclei. In the ROI tab of the side panel, you can see all ROIs measurements (see slide 13). We haven’t tested further other export options and would be happy to have more feedbacks from users. Note that Icy does not support the HDF5 format.
The data model used to store the ROIs is not the same between Icy and Cell Profiler, or Icy and ImageJ/Fiji. You would need a specific Icy plugin to export the Icy ROIs to another data format (this does not exist), or the equivalent plugin in the other software to import Icy ROIs into the other data format (not sure this exist).
Q36: Can Icy utilise GPU for processing than CPU?
Q37: Is there a way to link one or more GPU to Icy?
Q38: Is Icy natively capable of exploiting GPU cores?
GPU processing in Icy is possible using the OpenCL library. Some plugins, such as clicy, take advantage of it.
Yes, but only basics ones (through the ROI statistics table for instance).
Yes, you can save / load ROIs to/from XML files. By default, an .xml file with the same name as your image is generated each time you open a new image in Icy and will be reloaded each time you load this image again, as long as it stays in the same folder. The .xml contains many parameters such as the brightness/contrast adjustements and all the ROIs. When you modify a ROI, the .xml is automatically modified.
Note that to transfer the ROIs from one image to another, you can copy/paste them.
Many plugins natively work on 3D images. Regarding segmentation in particular, we can cite the Thresholder plugin, the HK-Means plugin, the Watershed3D plugin and the Active Contours plugin, which all work in 3D.
Q42: I use Icy to do morphodynamic analysis using Active Contours. I ended up with too many excel files from the same sample. Is there any way to export them all together as one file?
The question is not specific enough to understand why you ended with many excel files. If you are using a protocol, it is definitely possible to merge all results into a single excel file.
Q43: What about performance, Icy is quite slow, as well as big data, both stacks and files that go beyond sizes supported by tif.
This is a very interesting question. Icy has some support on large images, specially on large time sequences. However, we are working on the kernel to provide better support for images that are larger than most commonly used images.
About performance, it depend what you’re talking about, we are aware about loading / saving image operation which are slow, for instance due to the library we are using to open image files.