From an input image, estimate a mean m and
value. Since it is
likely that there will be bright signal in the input image, we use for
estimated mean and sigma the actual median and average
absolute deviation from the median. This way, we are less sensitive to
pertubations in estimating these parameters.
A binary image of the same size is created by assigning one to all
pixels which value lie above
in the input image, and zero
else. The definition of K depends on the amount of noise and the
number of objects present in the image. For very noisy images, it is
best to lower it to a value between 0.1 and 1 (default is 2).
This thresholding creates a crude map of bright regions in the input image. To clean bad pixels and other such small defects, a binary morphological closing is then performed. To learn more about binary morphological operations in image processing, the reader is referred to any complete image processing book, such as [Russ 1995]. Connected components in this binary map are then identified and assigned a unique ID, then sorted out by distance to the center. The algorithm used to classify features is non-recursive and ensures that computations are done in a finite time with a reasonable amount of memory used.
Figure 2 shows a typical input image for feature detection. Figure 3 shows what the algorithm sees for K=1. This binary map is the result of binary thresholding and morphological closing.
Because the structural element for the binary morphological operation is
a
kernel, no bright object strictly smaller than this can
be detected, this to avoid detecting bad pixels as bright sources. It
might be the case (e.g. for focus images) that such small sources should
be detected. A smearing filter (flat
kernel) is then applied
to the input image previous to the peak detection. Small sources and bad
pixels are then detected.
This algorithm is offered separately as an eclipse command called findobjs. It can be used to auto-detect sources in a FITS image, to compute Full Width at Half Maximum or estimate photometry. This command supersedes the previous detpeak, photfits and fwhm commands in the eclipse package.