Документ взят из кэша поисковой машины. Адрес оригинального документа : http://xmm.vilspa.esa.es/sas/8.0.0/doc/omdetect/node47.html
Дата изменения: Wed Oct 22 17:31:27 2008
Дата индексирования: Tue Aug 18 14:54:19 2009
Кодировка:
READ-OUT STREAKS (bit 1) (Algorithm 2- only used by omdetect) XMM-Newton SAS Home Page
XMM-Newton Science Analysis System


omdetect (omdetect-5.14.2) [???]

READ-OUT STREAKS (bit 1) Source Flagging Algorithms SMOKE RINGS - bit Home Index

Meta Index / Home Page / Source Flagging Algorithms

READ-OUT STREAKS (bit 1) (Algorithm 2- only used by omdetect)

Since the object producing a read-out streak may lie outside the image, another algorithm is also used by omdetect.

The algorithm works as follows:

Initialise nmin - criterion for determining if the pixels in the column centred on i0 have, on average, a greater value than their neighbours in the next or preceding column (determined .
nMin = int( 0.6 $\times$ (ny + 1)) where ny is the number of rows in the image (image height)
width = real(10 / binx)
nStreaks = 0
set the current column number to 0- i0 = 0 (the first column of pixels)
Loop through all the columns of the image
do i = 0, nx - 1 (where nx is the dimension of the image in the x-direction (ie the number of columns)
if $( i0 < 3)$ then Check for streak near left-hand edge of image

n4 = count(image(i0, :) $>$ image(i0 + 1, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 + 1
n5 = count(image(i0, :) $>$ image(i0 + 2, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 + 2
n6 = count(image(i0, :) $>$ image(i0 + 3, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 + 3
n1 = count(image(i0, :) $>$ image(i0 + 4, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 + 4
n2 = count(image(i0, :) $>$ image(i0 + 5, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 + 5
n3 = count(image(i0, :) $>$ image(i0 + 6, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 + 6

else if ( i0 $>$ (nx - 5)) then Check for streak near right-hand edge of image

n1 = count(image(i0, :) > image(i0 - 1, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 - 1
n2 = count(image(i0, :) $>$ image(i0 - 2, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 - 2
n3 = count(image(i0, :) $>$ image(i0 - 3, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 - 3
n4 = count(image(i0, :) $>$ image(i0 - 4, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 - 4
n5 = count(image(i0, :) $>$ image(i0 - 5, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 - 5
n6 = count(image(i0, :) $>$ image(i0 - 6, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 - 6
else
n1 = count(image(i0, :) $>$ image(i0 - 1, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 - 1
n2 = count(image(i0, :) $>$ image(i0 - 2, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 - 2
n3 = count(image(i0, :) $>$ image(i0 - 3, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 - 3
i0 = i0 + 1 n4 = count(image(i0, :) $>$ image(i0 + 1, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 + 1
n5 = count(image(i0, :) $>$ image(i0 + 2, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 + 2
n6 = count(image(i0, :) $>$ image(i0 + 3, :) ) Count the number of pixels along column i0 that have a greater value than their neighbour in column i0 + 3
end if
Test to see if there is likely a streak-
if (n1 $>$ nMin .and. n2 $>$ nMin .and. n3 $>$ nMin .and. n4 $>$ nMin
.and. n5 $>$ nMin .and. n6 $>$ nMin) then
Set the source flags of any sources on the streak with a significance $<$ 50.
where(abs(source%xpos - real(i0) + 1.0) .lt. width
.and. source%significance .lt. 50.0) set bit 1
i0 = i0 + 10
else
i0 = i0 + 1
end if
if ( (nx - i0) $<$ 5) exit Reached the right-hand side of the image end do


READ-OUT STREAKS (bit 1) Source Flagging Algorithms SMOKE RINGS - bit Home Index

XMM-Newton SOC/SSC -- 2008-10-22