# Improving the image of meteor

I'm using a small b/w digital video camera and frame grabber to catch images of meteors in maybe a 15x15 degree area. Typically noise is introduced into the frames. It is desirable to determine if the image contains a meteor, and clean up the noise in the frames. What methodology is available to do this? The camera has no way to use dark subtracts, stacking or related image processing methods. There is no way to, say, control the shutter other than to get 30 frames per second.

Drakkith
Staff Emeritus
http://www.astronomie.be/registax/

You can also make manual dark frames by covering the lens of the camera and shooting images at the same exposure time (or FPS) that you were using to image meteors.

http://www.astronomie.be/registax/

You can also make manual dark frames by covering the lens of the camera and shooting images at the same exposure time (or FPS) that you were using to image meteors.

Thanks, but I'd prefer to write my own methods based on perhaps some well known algorithms. I know they exist. For example, determining the centroids along the path is one. I'm pretty sure there are noise clean-up methods, but don't know where to find them. I think they use a 3x3 matrix to move through the complete set of pixels, and average out the noise. It then replaces the pixels somehow to smooth out matters. Perhaps there are packages (functions, libraries) that have such methods. sharpen mask, blur, meridian filter, ...?

Drakkith
Staff Emeritus
Here's something from my image processing book. It's the programming behind their basic noise filter:

FOR y = 1 to ymax - 1
FOR x = 1 to xmax - 1
k = 0
FOR i = -1 TO 1
FOR j = -1 TO 1
k = k + 1
neighbor (k) = old(x+i,y+j)
NEXT j
NEXT i
SORT neighbor ()
new (x,y) = old(x,y)
sigma = (neighbor(8) - neighbor(2)) / 2
IF old (x,y) > neighbor(5) + sigs * sigma THEN
new (x,y) = neighbor(5)
END IF
IF old (x,y) < neighbor(5) - sigs * sigma THEN
new (x,y) = neighbor(5)
END IF
NEXT x
NEXT y

Where sort is a function that sorts the array neighbor() into ascending order, sigma is the standard deviation, and sigs is a user-set parameter specifying the number of standard deviations allowed.
The loops in i and j load neighborhood pixels into the array neighbor starting with neighbor(1) and ending with neighbor(9). After sorting neighbor(9) contains the pixel with the highest value in the neighborhood.

This replaces a pixel if and only if it deviates from the neighborhood pixel values by a certain amount determined by the user-set sigs.

Ah, ha. Is that from the Berry-Burnell book on IP? I had forgotten all about it. It looks like stuff in Chapter 13-15. Is the program code on the DVD?

Drakkith
Staff Emeritus