Login  Register

Re: using variable with "add" function

Posted by Ka Wai Tse on Jun 24, 2009; 4:02pm
URL: http://imagej.273.s1.nabble.com/using-variable-with-add-function-tp3692029p3692031.html

Thanks for the tips. i revised it to this... but still doesn't work.

n = getSliceNumber();
      for (i=1; i<=nSlices; i++) {
          setSlice(i);
          makeRectangle(3, 0, 93, 315);
          getRawStatistics(nPixels, mean);
          p= 5.0000 - mean;
          print(p);
          makeRectangle(0, 0, 816, 1088);
          run("Add...",p);
      }

explanation:
the following is for applying my commands to all the images in my stack

n = getSliceNumber();
      for (i=1; i<=nSlices; i++) {
          setSlice(i);

the following is to get the mean value of the square created in my image:
makeRectangle(3, 0, 93, 315);
getRawStatistics(nPixels, mean);

the following is to add "5-mean" to the entire image....I printed p to make sure it's adding the correct value.

          p= 5.0000 - mean;
          print(p);
          makeRectangle(0, 0, 816, 1088);
          run("Add...",p);

I find it to print the correct p but doesn't add it. It adds a constant 25 to all my images.

Any ideas?

----- Original Message -----
From: Michael Schmid <[hidden email]>
Date: Wednesday, June 24, 2009 1:33 am
Subject: Re: using variable with "add" function
To: [hidden email]

> Hi,
>
> it should be
>   getStatistics(area, mean, min, max, std, histogram)
> or
>   getStatistics(area, mean)
>
> Your macro will assigne the area to the 'mean' variable - it seems  
> that the area of your images (in calibrated units) was almost zero...
>
> By the way, since the "Add..." function works on raw (uncalibrated)
>
> pixel values, it would be better to use
>   getRawStatistics(nPixels, mean);
>
> Otherwise the macro won't work correctly for images with pixel
> value  
> calibration.
>
> Michael
> ________________________________________________________________
>
>
> On 24 Jun 2009, at 02:05, Ka Wai Tse wrote:
>
> > Hi all,
> > I'm trying to add a value (p) to each of the images in my stack.  
> > This value
> > (p) changes for each picture according to the function p= 5-mean.
>
> > When i run
> > the following code below, it runs but i find it to add "5" to all
>
> > of my
> > images not "5-mean" whatever "mean" is for that particular image.
>
> > Any idea
> > why it's doing this?
> >
> > getStatistics (mean);
> > y=mean;
> > p= 5.0000 - mean;
> > run("Add...", + p +);
>