ImageJ's Find Maxima in 3D?

Hello,

Please excuse if this questions was asked before!

I am a fan of ImageJ’s “Find Maxima” with the output type “Maxima Within Tolerance” as a super fast and handy algorithm to segment locally bright structures.

I was wondering whether there is a 3D implementation of this algorithm?

I know this filters for 3D:

3D processing and analysis
http://imagejdocu.tudor.lu/doku.php?id=plugin:morphology:3d_binary_morphological_filters:start

3D Fast Filters with JNI
http://imagejdocu.tudor.lu/doku.php?id=plugin:filter:3d_filters_with_jni:start

And this discussion from the ImageJ mailing list to find the local maxima with a difference image:

… compute the difference between the original
and max filtered image, a max local should then be at zero in this
difference image

quoted from discussion:

http://imagej.1557.x6.nabble.com/Help-requested-for-finding-3D-local-maxima-td3691210.html

1 Like

Hi,

You may try the MorphoLibJ library. It implements an “extended maxima” (or minima) detection for both 2D and 3D images.

When comparing the 2D version on blobs image with same tolerance value and “Maxima Within Tolerance” option for Find Maxima, I got quite same results with both tools.

3 Likes

Thanks @Bio7!

I know them, too. I find them super useful, too, but they don’t exactly do the same as the Find Maxima.

I had a closer look at the “3D Spot Segmentation” in the 3D Image Suite and after some tweaking I find it even more useful than the concept behind Find Maxima…

@dlegland thanks! i will have a look at it!

Dear all,

Thanks to all your ideas, I implemented an experimental version of 3DMaximaFinder with noise tolerance. As explained by @Bio7, it is based on the idea of spot segmentation and flooding from most intense peaks, but could be useful for other applications. It is only available on github, if you want to try it before public release.

Best,

Thomas

5 Likes