Login  Register

Re: Antwort: Re: Antwort: Area Fraction

Posted by Michael Schmid on Mar 18, 2008; 10:13am
URL: http://imagej.273.s1.nabble.com/Area-Fraction-tp3696831p3696836.html

Hi Mark,

possibly, you have stumbled over the fact that the ROI of an
ImageProcessor is not necessarily the same as that of the
ImagePlus that contains the ImageProcessor.

What you see on the screen, and where you do selections with
the mouse, etc. is the ImagePlus. The actual processing
operations work on the ImageProcessor.
IJ.makeOval works on the ImagePlus that is currently in the
foreground, see the code in IJ.java:
   ImagePlus img = getImage();

So, what you could do is either set the roi directly in the
Imageprocessor, e.g.,
   ip.setRoi(new OvalRoi(50, 50, 100, 50));
(this is the fastest way)

Or otherwise transfer the roi from the ImagePlus to the
ImageProcessor.
   ImagePlus imp = getImage();
   ip.setRoi(imp.getRoi());

In PlugInFilters, ImageJ transfers the roi from the ImagePlus
to the ImageProcessor automatically before the run(ip) method
is called (for area rois only).
Otherwise, it is not guaranteed that the ROI is always the same
in the ImagePlus and the ImageProcessor.


Michael
________________________________________________________________

On 18 Mar 2008, at 10:45, meastwood98 wrote:

> Ok, this works fine for the area fraction of the whole image but im  
> wanting
> the area fraction of the selection i have selected using the  
> IJ.makeOval
> command. Any ideas?
>
> Thanks,
> Mark
>
>
> Joachim Wesner wrote:
>>
>> ImageJ Interest Group <[hidden email]> schrieb am 18.03.2008
>> 08:47:29:
>>
>>> Ok, i cant get this to work at all. Do you think it would be  
>>> possible for
>> you
>>> to write a quick example program for me?
>>>
>>> Thanks,
>>> Mark
>>>
>>
>>
>> Hi again,
>>
>> this is my quick code. There was a small typo ("AREA_FRACTION"),  
>> sorry,
>> but
>> this was why I wrote better check with the docs!
>>
>> import ij.*;
>> import ij.process.*;
>> import ij.gui.*;
>> import java.awt.*;
>> import ij.plugin.filter.*;
>>
>> public class Filter_Plugin implements PlugInFilter {
>>       ImagePlus imp;
>>
>>       public int setup(String arg, ImagePlus imp) {
>>             this.imp = imp;
>>             return DOES_ALL;
>>       }
>>
>>       public void run(ImageProcessor ip) {
>>
>>             ImageStatistics stats = ImageStatistics.getStatistics(ip,
>> ImageStatistics.AREA_FRACTION, null);
>>
>>             double aFraction = stats.areaFraction;
>>
>>             IJ.write(""+aFraction);
>>
>>       }
>>
>> }
>>
>>>
>>> Joachim Wesner wrote:
>>>>
>>>> ImageJ Interest Group <[hidden email]> schrieb am 17.03.2008
>>>> 19:30:58:
>>>>
>>>>> Hi, im writing a plug-in java and I would like to use the "area
>> fraction"
>>>>> measurement option that is in imageJ (i.e. Analyze - Measure  
>>>>> once it
>> is
>>>>> selected in Analyze - Set Measurements).
>>>>>
>>>>> Is there a piece of code i can use the retrive the value from a
>> selection
>>>>> and store it in a variable.
>>>>>
>>>>> Thanks,
>>>>> Mark
>>>>
>>>> Hi again Mark,
>>>>
>>>> OK,
>>>>
>>>> here is a simple example, if ip is a reference to the underlying
>>>> imageprocessor with the selection do
>>>>
>>>>       ImageStatistics stats = ImageStatistics.getStatistics(ip,
>>>> ImageStatistics.AREAFRACTION, null);
>>>>
>>>> to get a reference to the statistics Object. The second arg is  
>>>> actually
>> a
>>>> "bit map" that allows to specify a combination of the statistics  
>>>> you
>> try
>>>> to
>>>> retrieve.
>>>>
>>>> After this,
>>>>
>>>>       stats.areaFraction
>>>>
>>>> has what you are looking for.
>>>>
>>>> Again, for the documentation, look here:
>>>>
>>>> http://rsbweb.nih.gov/ij/developer/api/ij/process/ 
>>>> ImageStatistics.html
>>>>
>>>> Hope this helps
>>>>
>>>> Sincerely
>>>>
>>>> Joachim Wesner
>>
>>
>> _____________________________________________________________________
>> _
>> This email has been scanned by the MessageLabs Email Security System.
>> For more information please visit http://www.messagelabs.com/email
>> _____________________________________________________________________
>> _
>>
>>
>
> --
> View this message in context: http://www.nabble.com/Area-Fraction- 
> tp16093861p16117343.html
> Sent from the ImageJ mailing list archive at Nabble.com.