Quick review of ImageJ Alternatives: Icy, ilastik, QuPath, Mayavi2

There are a number of scientific software packages that work and some that don't really serve a purpose, other than to deceive people into thinking they are useful. This forum is for separating the two, listing weaknesses and strengths from direct experience with these packages. Please post reviews of software intended for scientific data analysis, plotting, display, modeling, interaction, statistical analysis, etc. Any branch of science is acceptable so long as the package can be used by that branch. If there is any doubt, please indicate which branches of scientific investigation or engineering are associated with the package.
Post Reply
loman
Posts in topic: 1
Posts: 5
Joined: Wed Mar 24, 2021 12:50 pm

Technical

Quick review of ImageJ Alternatives: Icy, ilastik, QuPath, Mayavi2

#1

Post by loman » Sat Mar 27, 2021 5:43 pm

Fiji (AKA ImageJ) scientific image manipulation software is a mess, a wreck internally, yet everyone uses it because it's free, and because there aren't many alternatives that actually work for scientific/quantitative work. Most of its plugins are abandonware written by college students. I've been trying to replace it for years, unsuccessfully. I suppose I'll literally have to write my own imaging software. It's only saving grace is that if you beat on it long enough, you can get it to do useful things. It just takes way too long to sort out the problems that inevitably occur.

I recently went looking for Linux alternatives to ImageJ and found Icy, ilstik, QuPath, and Mayavi2 (which I had known from before). I wanted to give them a try to do some simple hyperstack (4D/5D) image stack displaying. I wasn't even trying to do much, just load and display. Things didn't go so well.

I don't want you to consider this a full review, just my impressions of the software as it was used in this one case.

Icy (http://icy.bioimageanalysis.org/)
Icy is a very impressive-looking Java imaging program with some impressive plugins with a vast array of decent looking plugins. Good for some 3D segmentation, confocal processing, cell counting, general tracking, masking. It comes with its own version of ImageJ that is independent of the installed Fiji. Creates temporary cache on /tmp. Very little documentation for what the plugins do, but the website for plugins is great. Their website is great, in general. Unfortunately, they just switched their forums to image.sc, where their content is going to get lost in the noise. Good luck.

The plugin menu is abbreviated in French (because the French wrote this software). It's easy to install plugins, but difficult to figure out what they do inside the software. They really need tooltips to bring up the description. I like the plugin selection, if they actually work.

Unfortunately, Icy is not ready for prime time. It can't handle large data sets, which is to say that it failed to load my large image stack. I had to kill it several times before I gave up. Virtual stacks may cause errors with plugins (there's no excuse for this). My image stacks work fine in Fiji. There's no excuse.

They have a nice selection of plugins, but I've already had some Java exceptions just messing around. This package isn't stable and can't handle even my modest load. The main knock on this package is that it's somehow intertwined with ImageJ, which is not what should be happening. ImageJ needs to be replaced, and adding a front end to a package that is already a mess is just asking for trouble.

I had to delete it and can't recommend it, even though it looked fantastic. If anyone from the Icy team is reading this, get rid of ImageJ. That is all legacy code. Why should anyone switch to your package when it is even more complicated than the original?


ilastik (https://www.ilastik.org/)
Image manipulation, sepcializing in object recognition. Has layers like photo editing software.
This is not a general purpose scientific imaging package. It only handles predetermined tracking algorithms. Possibly useful, but I have no need to test it this way.
It has a really bad UI design. Inflexible. You can only open projects, but can't create them, is what I'm seeing. Way too many files. This thing is a memory hog.

QuPath (https://www.ilastik.org/)
Quantitative Pathology & BioImage Analysis. They want to specialize in whole slide imaging with cell classification.
Apparently moribund as a project. Using an old JavaRE that had a working JavaFX. Java is currently fragmented, and JavaFX is not available. I deleted it because I couldn't use it for general scientific image processing. Maybe I'll compare it to CellProfiler at some point.

Mayavi2
Looks like a data analysis plotting package, a bad looking one that is not up to date in the Linux repos, and even if it were, it wouldn't be that great. The documentation makes it look bad. I've tried using it before on Windows and ended up deleting it. It's not terrible, but we have better choices available for that sort of thing. I think it has some potential advantages for 3D surfaces, but in my previous attempts to use it, I didn't get any useful work out of it and went back to Amira & Imaris.

Another issue with Mayavi is that it's built on the VTK toolkit, which is Python-centric, and all those packages built on the same toolkit talk well to one another, but you can't really deal with data from outside their walled garden. I deleted this one and can't recommend it. I'm sure it's good for something, but I don't feel like the struggle to use the software.


I can't recommend any of these packages. What Linux needs is a simple scientific hyperstack viewer and manipulator written in C/C++ with no external dependencies, and in a native graphics toolkit. I'm sick of the Java/Python mess of building/installing/crashing. Sure they work some of the time, but it's been bad for years, and ImageJ was built with Swing, which looked bad when it started and hasn't gotten any better. It's just bad design all around, and we need a fresh start... with a special emphasis on KISS, avoiding external libraries, and paying attention to memory management.
word count: 944

Post Reply