Does ImageJ Fiji use multiple cores if available?

I use 64-bit versions of ImageJ Fiji on windows desktop GUI as well as in headless mode on Linux Ubuntu cluster. My windows computer has 8 cores and the Linux cluster has pretty much endless cores. I would like to know if ImageJ would use multiple cores if available.

If not, how do I go about doing it on windows desktop GUI and in headless mode on the Linux Ubuntu cluster?

multi-threading, hence the use of several cores, depends on what operations you like to perform. ImageJ is modular, i.e. it is based on plugins and some of them are multi-thread save.



Ahan. I am not using any plug-ins. I am using fairly standard operations.

opening tiff stacks
saving tiff stacks
calculating z projections
image calculation - difference
analyze particles

Sorry, but you didn’t get the point.
There is only a small core unit in ImageJ and most of ImageJ consists of plugins, even if you don’t have any additional plugins installed.



Oh I see. I meant to say I am not using any options from the ‘plugins’ menu. So If I understand you correctly, every option in any menu is modular (like plug-ins). Ok. So then my multi-threading question becomes complicated. Thanks for your answer.

Indeed. My suggestion is to just try the operations you want to do, and see how well multiple cores get utilized. And if there is a specific command that seems like a major bottleneck, post back here on the forum about it and the community may have suggestions on improving the execution time of your workflows.

1 Like

Hi @rmf,

another option for you might be using KNIME Image Processing. Most of the operations you mentioned are available as KNIME nodes (using imagej-ops, imglib2 etc) which can be run in parallel over a lot of images. On the cluster its possible to run KNIME headless, i.e. execute a predefined workflow as many times as you want.

Maybe this helps,