[AIT logo]

Institut für Astronomie und Astrophysik

Abteilung Astronomie

Sand 1, D-72076 Tübingen, Germany
[Uni logo]


CNTRD Source code in cntrd.pro

CNTRD

Name
       CNTRD
Purpose
       Compute the centroid  of a star using a derivative search
Explanation
       CNTRD uses an early DAOPHOT "FIND" centroid algorithm by locating the
       position where the X and Y derivatives go to zero.   This is usually a
       more "robust"  determination than a "center of mass" or fitting a 2d
       Gaussian  if the wings in one direction are affected by the presence
       of a neighboring star.
Calling Sequence
       CNTRD, img, x, y, xcen, ycen, [ fwhm , /KEEPCENTER, /SILENT, /DEBUG
                                       EXTENDBOX = ]
Input Parameters
       IMG - Two dimensional image array
       X,Y - Scalar or vector integers giving approximate integer stellar
             center
Optional Input Parameters
       FWHM - floating scalar; Centroid is computed using a box of half
               width equal to 1.5 sigma = 0.637* FWHM.  CNTRD will prompt
               for FWHM if not supplied
Output Parameters
       XCEN - the computed X centroid position, same number of points as X
       YCEN - computed Y centroid position, same number of points as Y,
              floating point
       Values for XCEN and YCEN will not be computed if the computed
       centroid falls outside of the box, or if the computed derivatives
       are non-decreasing.   If the centroid cannot be computed, then a
       message is displayed and XCEN and YCEN are set to -1.
Optional Keyword Output
       /SILENT - Normally CNTRD prints an error message if it is unable
               to compute the centroid.   Set /SILENT to suppress this.
       /DEBUG - If this keyword is set, then CNTRD will display the subarray
               it is using to compute the centroid.
       EXTENDBOX = {non-negative positive integer}.   CNTRD searches a box with
              a half width equal to 1.5 sigma  = 0.637* FWHM to find the
              maximum pixel.    To search a larger area, set EXTENDBOX to
              the number of pixels to enlarge the half-width of the box.
              Default is 0; prior to June 2004, the default was EXTENDBOX= 3
       /KeepCenter = By default, CNTRD finds the maximum pixel in a box
              centered on the input X,Y coordinates, and then extracts a new
              box about this maximum pixel.   Set the /KeepCenter keyword
              to skip then step of finding the maximum pixel, and instead use
              a box centered on the input X,Y coordinates.
Procedure
       Maximum pixel within distance from input pixel X, Y  determined
       from FHWM is found and used as the center of a square, within
       which the centroid is computed as the value (XCEN,YCEN) at which
       the derivatives of the partial sums of the input image over (y,x)
       with respect to (x,y) = 0.    In order to minimize contamination from
       neighboring stars stars, a weighting factor W is defined as unity in
       center, 0.5 at end, and linear in between
Restrictions
       (1) Does not recognize (bad) pixels.   Use the procedure GCNTRD.PRO
           in this situation.
       (2) DAOPHOT now uses a newer algorithm (implemented in GCNTRD.PRO) in
           which centroids are determined by fitting 1-d Gaussians to the
           marginal distributions in the X and Y directions.
       (3) The default behavior of CNTRD changed in June 2004 (from EXTENDBOX=3
           to EXTENDBOX = 0).
       (4) Stone (1989, AJ, 97, 1227) concludes that the derivative search
           algorithm in CNTRD is not as effective (though faster) as a
            Gaussian fit (used in GCNTRD.PRO).
Revision History
       Written 2/25/86, by J. K. Hill, S.A.S.C., following
       algorithm used by P. Stetson in DAOPHOT.
       Allowed input vectors        G. Hennessy       April,  1992
       Fixed to prevent wrong answer if floating pt. X & Y supplied
               W. Landsman        March, 1993
       Convert byte, integer subimages to float  W. Landsman  May 1995
       Converted to IDL V5.0   W. Landsman   September 1997
       Better checking of edge of frame David Hogg October 2000
       Avoid integer wraparound for unsigned arrays W.Landsman January 2001
       Handle case where more than 1 pixel has maximum value W.L. July 2002
       Added /KEEPCENTER, EXTENDBOX (with default = 0) keywords WL June 2004

Last modified by pro2html on 2004 December 01 at 04:55 UTC

[Home Page] [Software, Documentation] [IDL Documentation] [Quick Reference] [Feedback]

Jörn Wilms (wilms@astro.uni-tuebingen.de)
Updated automatically