comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: Calculate the mean of many images
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Calculate the mean of many images [message #63658 is a reply to message #63654] Sun, 16 November 2008 00:54 Go to previous messageGo to previous message
Craig Markwardt is currently offline  Craig Markwardt
Messages: 1869
Registered: November 1996
Senior Member
On Nov 16, 1:16 am, Bulrush <Wasit.Weat...@gmail.com> wrote:
> Hello,
> I know this topic has been posted several times. But I could not find
> my answer from these posted.
> My issue is: I have many images 2 bands in each, one image is QA image
> and the other one is data.
> I need to calculate the mean of good pixels. Let's say QA image tells
> me the location of good pixels, e.g. 1 for good pixels, and other for
> bad. There are also NaN values. So, if the pixels are "good" in 7
> images out of ten, then
> (pixel1+pixel2...+Pixel7) /7

I would loop over input images, and keep track of the cumulative sum
of the number of valid pixels (NPIX), and the cumulative sum of the
pixel values (SUM). Something like the following. Since there are
only a few images, there will be very little overhead in the FOR-loop.

Craig


npix = 0 & sum = 0
for i = 0, n_images-1 do begin
qa = ... the ith QA image ...
img = ... the ith image ...
mask = (qa EQ 1) AND (finite(img) EQ 1)

;; Sum valid pixels
npix += mask
wh = where(mask, ct)
if ct GT 0 then sum(wh) += img(wh)
endfor

;; Positions where there are good pixels
qa_avg = (npix GT 0)
wh = where(qa_avg EQ 1)

;; Compute average for valid pixels
avg = sum*0
avg(wh) = sum(wh) / npix(wh)
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: IDL and sqlite
Next Topic: A Simple IDL Manifesto

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 05:49:46 PDT 2025

Total time taken to generate the page: 0.64217 seconds