Retrieving maxima value

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Retrieving maxima value

claudiovc
Hello, I'm using imageJ in order to build an interactive flooding tool. Its a Java project and I use the imageJ .jar, so theres no user interface. At some point I need to run "Find Maxima" and get the result as a list - the same way I'd do via graphical interface. My question is, how can I retrieve the values after running, for example,
 IJ.run("Find Maxima...", "noise=10 output=[Maxima Within Tolerance] exclude"); ?

By the way, I use "Find Maxima" for selecting points inside the inner holes of a thresholded region, as the Wand Tool only gives you the outline and ignores these holes. Is there another way of doing that?
Thanks in advance.


Reply | Threaded
Open this post in threaded view
|

Re: Retrieving maxima value

Michael Schmid
Hi Claudiovc,

unfortunately, without changing the MaximaFinder code, there is no  
way to get the list outside the ResultsTable.
There is a public ByteProcessor MaximaFinder.findMaxima(...) method,  
but it gives you an image where you can have dots for the maxima or  
patches for the maxima within the tolerance.

If you want a wand-like function that allows you to have inner holes,  
have a look at ij.process.FloodFiller.java. You can easily modify  
that code to have a criterion different than 'ip.getPixel(x1,y)
==color', e.g. a range of values.

You could also have a look at the Versatile Wand plugin
   http://imagejdocu.tudor.lu/doku.php?
id=plugin:segmentation:versatile_wand:start
There, you can steal the code of the queue-based flood fill algorithm  
(lines 395-441), omitting all the gradient stuff.

Hope this helps,

Michael
________________________________________________________________

On 20 Jan 2011, at 12:19, claudiovc wrote:

> Hello, I'm using imageJ in order to build an interactive flooding  
> tool. Its a
> Java project and I use the imageJ .jar, so theres no user  
> interface. At some
> point I need to run "Find Maxima" and get the result as a list -  
> the same
> way I'd do via graphical interface. My question is, how can I  
> retrieve the
> values after running, for example,
>  IJ.run("Find Maxima...", "noise=10 output=[Maxima Within Tolerance]
> exclude"); ?
>
> By the way, I use "Find Maxima" for selecting points inside the  
> inner holes
> of a thresholded region, as the Wand Tool only gives you the  
> outline and
> ignores these holes. Is there another way of doing that?
> Thanks in advance.