Flat Field Correction for fluorescence

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

Flat Field Correction for fluorescence

Pang, Zhengyu (GE Global Research)
Dear all,

I am doing flat field correction for fluorescence image by taking a
image of a plastic colored bar (Image1). The orignal image for my target
is Image2. I applied image calculator function and used divide. The
resulting image is a 32-bit image (Image3). I then use
Process/Math/multiply. Ideally, I want image 3 has the same average
intensity as Image2 and a 16-bit image (technical my raw image is 12bit,
and the pixel value is from 0-4095). How could I do it?

In addition, I can measure the average intensity for Image2 using
Run("measure"), but how could I get that value from the Results window
and use that value in the macro?

Thanks!

Zhengyu
> g Global Research Center
>
> ______________________________________________________________________
>
>           Zhengyu Pang, Ph.D.
                        Bioanalytics and Protein Science Laboratory
                        Biosciences Global Technology Organization
> One Research Circle, K1 5B37A
> Niskayuna, NY12309
> * [hidden email]
> *(518) 387-4015
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Flat Field Correction for fluorescence

Winnok H. De Vos
Hi

You could use (quick and dirty) macro lines when both images are open:


run("Set Measurements...", " mean redirect=None decimal=2");
selectWindow("original image");
run("Measure");
meanOriginal=getResult("Mean",0);
run("Image Calculator...", "image1=[original image] operation=Divide
image2=[flat field] create 32-bit");
selectWindow("Result of original image");
run("Measure");
meanResult=getResult("Mean",1);
run("Multiply...", "value="+meanOriginal);
run("Divide...", "value="+meanResult);


I prefer normalizing the flat field image before using it for correction by
converting it to 32-bit and dividing it by its maximum intensity. I use the
normalized image for the division and don't do any math afterwards. This
doesn't result in the same mean intensity but assures your intensities
remain properly scaled to the maximum values; rationale: if there is a need
for a flat field correction, there is reason to assume the mean intensity of
the original image isn't correct.
Kind regards,
winnok





-----Original Message-----
From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of Pang,
Zhengyu (GE, Research)
Sent: woensdag 4 juni 2008 17:10
To: [hidden email]
Subject: Flat Field Correction for fluorescence

Dear all,

I am doing flat field correction for fluorescence image by taking a
image of a plastic colored bar (Image1). The orignal image for my target
is Image2. I applied image calculator function and used divide. The
resulting image is a 32-bit image (Image3). I then use
Process/Math/multiply. Ideally, I want image 3 has the same average
intensity as Image2 and a 16-bit image (technical my raw image is 12bit,
and the pixel value is from 0-4095). How could I do it?

In addition, I can measure the average intensity for Image2 using
Run("measure"), but how could I get that value from the Results window
and use that value in the macro?

Thanks!

Zhengyu
> g Global Research Center
>
> ______________________________________________________________________
>
>           Zhengyu Pang, Ph.D.
                        Bioanalytics and Protein Science Laboratory
                        Biosciences Global Technology Organization
> One Research Circle, K1 5B37A
> Niskayuna, NY12309
> * [hidden email]
> *(518) 387-4015
>
>

No virus found in this incoming message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 269.24.6/1481 - Release Date: 3/06/2008
19:31
 

No virus found in this outgoing message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 269.24.6/1481 - Release Date: 3/06/2008
19:31
 
Reply | Threaded
Open this post in threaded view
|

Re: Flat Field Correction for fluorescence

Pang, Zhengyu (GE Global Research)
 Winnok,

Thanks for your quick and dirty macro. It helps.

For the flat field correction, I agree with you for your rationale. We
do not need to have the corrected image with the same average intensity
as the orginal one. However, I feel like that the use of mode will make
more sense than use of maximum for normalization.

A followup question. Finally you get an 32bit image with your pixel
value in the range of 0-4095. How do I convert this image back to 12-bit
image (or 16 bit image with a range 0 to 4095)? Mathematically all I
need to do is to round each pixel value to its nearest integer.

Thanks,

Zhengyu

-----Original Message-----
From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of
Winnok De Vos (ugent)
Sent: Wednesday, June 04, 2008 11:44 AM
To: [hidden email]
Subject: Re: Flat Field Correction for fluorescence

Hi

You could use (quick and dirty) macro lines when both images are open:


run("Set Measurements...", " mean redirect=None decimal=2");
selectWindow("original image"); run("Measure");
meanOriginal=getResult("Mean",0); run("Image Calculator...",
"image1=[original image] operation=Divide image2=[flat field] create
32-bit"); selectWindow("Result of original image"); run("Measure");
meanResult=getResult("Mean",1); run("Multiply...",
"value="+meanOriginal); run("Divide...", "value="+meanResult);


I prefer normalizing the flat field image before using it for correction
by converting it to 32-bit and dividing it by its maximum intensity. I
use the normalized image for the division and don't do any math
afterwards. This doesn't result in the same mean intensity but assures
your intensities remain properly scaled to the maximum values;
rationale: if there is a need for a flat field correction, there is
reason to assume the mean intensity of the original image isn't correct.
Kind regards,
winnok





-----Original Message-----
From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of
Pang, Zhengyu (GE, Research)
Sent: woensdag 4 juni 2008 17:10
To: [hidden email]
Subject: Flat Field Correction for fluorescence

Dear all,

I am doing flat field correction for fluorescence image by taking a
image of a plastic colored bar (Image1). The orignal image for my target
is Image2. I applied image calculator function and used divide. The
resulting image is a 32-bit image (Image3). I then use
Process/Math/multiply. Ideally, I want image 3 has the same average
intensity as Image2 and a 16-bit image (technical my raw image is 12bit,
and the pixel value is from 0-4095). How could I do it?

In addition, I can measure the average intensity for Image2 using
Run("measure"), but how could I get that value from the Results window
and use that value in the macro?

Thanks!

Zhengyu
> g Global Research Center
>
> ______________________________________________________________________
>
>           Zhengyu Pang, Ph.D.
                        Bioanalytics and Protein Science Laboratory
                        Biosciences Global Technology Organization
> One Research Circle, K1 5B37A
> Niskayuna, NY12309
> * [hidden email]
> *(518) 387-4015
>
>

No virus found in this incoming message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 269.24.6/1481 - Release Date:
3/06/2008
19:31
 

No virus found in this outgoing message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 269.24.6/1481 - Release Date:
3/06/2008
19:31