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.