[Numpy-discussion] Finding Star Images on a Photo (Video chip) Plate?

Anne Archibald aarchiba at physics.mcgill.ca
Fri May 28 20:41:43 EDT 2010


On 28 May 2010 21:09, Charles R Harris <charlesr.harris at gmail.com> wrote:
>
>
> On Fri, May 28, 2010 at 5:45 PM, Wayne Watson <sierra_mtnview at sbcglobal.net>
> wrote:
>>
>> Suppose I have a 640x480 pixel video chip and would like to find star
>> images on it, possible planets and the moon. A possibility of noise
>> exits, or bright pixels. Is there a known method for finding the
>> centroids of these astro objects?
>>
>
> You can threshold the image and then cluster the pixels in objects. I've
> done this on occasion using my own software, but I think there might be
> something in scipy/ndimage that does the same. Someone here will know.

There are sort of two passes here - the first is to find all the
stars, and the second is to fine down their positions, ideally to less
than a pixel. For the former, thresholding and clumping is probably
the way to go.

For the latter I think a standard approach is PSF fitting - that is,
you fit (say) a two-dimensional Gaussian to the pixels near your star.
You'll fit for at least central (subpixel) position, probably radius,
and maybe eccentricity and orientation. You might even fit for a more
sophisticated PSF (doughnuts are natural for Schmidt-Cassegrain
telescopes, or the diffraction pattern of your spider). Any spot whose
best-fit PSF is just one pixel wide is noise or a cosmic ray hit or a
hotpixel; any spot whose best-fit PSF is huge is a detector splodge or
a planet or galaxy.

All this assumes that your CCD has more resolution than your optics;
if this is not the case you're more or less stuck, since a star is
then just a bright pixel. In this case your problem is one of
combining multiple offset images, dark skies, and dome flats to try to
distinguish detector crud and cosmic ray hits from actual stars. It
can be done, but it will be a colossal pain if your pointing accuracy
is not subpixel (which it probably won't be).

In any case, my optical friends tell me that the Right Way to do all
this is to use all the code built into IRAF (or its python wrapper,
pyraf) that does all this difficult work for you.

Anne
P.S. if your images have been fed through JPEG or some other lossy
compression the process will become an utter nightmare. -A

>
> Chuck
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>



More information about the NumPy-Discussion mailing list