[AstroPy] Re : got centroid?

Jerome Caron jerome_caron_astro at ymail.com
Fri Apr 13 09:36:32 EDT 2012

Dear list,
I found an interesting algorithm for calculating star centroids in the following paper, appendix B.
http://lanl.arxiv.org/pdf/astro-ph/9907229v1.pdfN. Kaiser, G. Wilson, G. Luppino, H. Dahle, "A photometric study of the supercluster MS0302 with the UH8K CCD camera: image processing and object catalogs", arXiv 16 Jul 1999.
It is easy to program and fast, so I use it for very large number of stars. I tested it without smoothing the image and found it is more stable than a gaussian fit (much less failures), which surprised me. One needs to add a test to make sure the second derivative does not vanish, but this does not happen so often.
Jerome Caron

De : Joe Harrington <jh at physics.ucf.edu>
À : astropy at scipy.org 
Cc : Nate Lust <natelust at linux.com>; jh at physics.ucf.edu 
Envoyé le : Vendredi 13 avril 2012 14h40
Objet : Re: [AstroPy] got centroid?

Hi Wolfgang,

> I just wanted to know if anyone has a quick and smart centroid script
> in any of the python libraries (easily installable). Even better would
> be star finding algorithms like sextractor.

A PhD student here, Nate Lust, has spent considerable time evaluating
centering (not centroiding) algorithms.  The quickest and worst is the
usual center-of-light algorithm.  He has a fast Python/C implementation
of the Gunn-Owen least-asymmetry algorithm that he may be willing to
share.  The other easy one is simply fitting a Gaussian + constant
offset to the inner part of the PSF.  Nate is working on a paper that
evaluates these vs. real and synthetic data.  He and Kevin Stevenson
published preliminary results in the Supplementary Information to:

Stevenson, K. B., J. Harrington, S. Nymeyer, N. Madhusudhan, S. Seager,
W. C. Bowman, R. Hardy, D. Deming, E. Rauscher, and N. Lust
2010. Possible thermochemical disequilibrium in the atmosphere of the
exoplanet GJ 436b. Nature 464, 1161–1164.

The short version is that least asymmetry is the most accurate and takes
the longest to calculate.  Gaussian is most precise but can be biased
away from the true answer if the star drifts a lot within the pixel,
especially if the images are underresolved and the center is nearer to a
pixel boundary than a pixel center.  Oddly enough, for our project we
preferred the Gaussian.  Being consistent (i.e., having the aperture
always be off by 0.05 pixels or so) was better than being correct with a
larger scatter.  We consistently get 0.01-pixel precision with the
Gaussian fit on Spitzer data.

Of course, if you have an accurate and 100x-overresolved version of your
PSF, then PSF shifting, rebinning, and fitting will always win out.  But
the PSF needs to be very accurate for this to work.

AstroPy mailing list
AstroPy at scipy.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/astropy/attachments/20120413/73cf7122/attachment.html>

More information about the AstroPy mailing list