Image Processing




Data Access
Related Science 
Virtual Observatory
Plate Scanning
Staff Pages

Last Updated Jan 2001

Copyright 2001 The Association of Universities for Research in Astronomy, Inc. All Rights Reserved.

After digitization of the Schmidt plate material on the GAMMA scanning machines , each plate scan is processed through an image processing pipeline.

Sky Processing

The scan is divided into a grid with cells 0.5mm in size, and the density histograms are accumulated for each cell. Within each cell, pixel statistics are accumulated, including the mean and rms values. The computation of the SKY image is performed by taking the median values of each cell and then running a sequence of median filters at different scales (8,4,2,1 cells) to smooth out the image over these scales. The mean and rms of this smoothed image is then computed.

Although this smoothed image is the computed sky background, in an attempt to avoid processing the "Bad" edges of the plate and the label and sensitometer areas, the edges of the sky image are examined for areas which the data is more than 5 sigma away from the mean sky are set negative. This is a flag for the Object Detection program to avoid processing.

A single value of sigma is calculated for the whole plate by taking the mode of the histogram distribution of sigma values over cells in the plate. The cell sigmas are not used directly, because these sigmas are calculated from every pixel in the cell, and contain stars which make the sigma calculation too high. Instead, the sigma calculation for each cell is found by taking the slope of the cumulative histogram of pixel values in the cell at the 50% level. Pixels at this level are nearly all sky, and if the sky noise behaves as a gaussian, the slope of the cumulative pixel histogram is 1 / ((2*PI)**(1/2)*sigma) which can be used to find sigma for the individual cells. The final plate sigma is then found from the mode of the histogram of the individual cell sigmas. This is a good approximation for sigma over the whole plate from the unsmoothed sky using all pixels in the plate. Bad plate areas are excluded from this sigma calculation.

Object Detection

This task uses an implementation of the ROE COSMOS image processing software (developed by R. K. Lutz and B. D. Kelly, with some modifications introduced in 1981-1983 by B. Lasker and K. Chaudhry) which connects a minimum number of pixels that are brighter than a threshold level above sky. Once an object has been completed, its size, integrated density and moments are computed from which parameters such as x,y and shape are calculated.

The threshold level for object detection was set at 3 sigma above sky. A single value of sigma was used for the entire plate, as described above. Fifteen additional thresholds, equally spaced (in density space) between the detection threshold and the saturation level, were also defined, and object areas were determined at each of these thresholds as well.

A small image "cutout" was extracted and saved around each detected object, with ample margins to include the wings of extended objects. All further image processing was performed on these cutout images, rather than the full scan image. The maximum cutout extracted was 4.25' x 4.25', so if a detected object was larger than this, it received no further processing (deblending, centroiding, etc). This results in a small number of "holes" in the GSC2 catalog around the brightest stars, galaxies, and the occasional very bright satellite trail.


This is based upon the published (Beard, MacGillivray, and Thanisch 1090 MNRAS, 247, 311-321) ROE COSMOS deblender algorithm. Objects are separated by looking for segmentation at upper thresholds and using a gaussian fit to the slope to assign fractional pixels to each object. The deblender uses the same thresholds as the object detection task, but uses a single local sky value that was recorded by the object detector.

After finding multiple objects in a cutout, the deblender apportions the original image intensity at each cutout pixel according to the appropriate strength from each newly found object. Thus each new object has its own intensity at every pixel in the original cutout image. Once an object has been completed, its size, integrated density and moments are computed from which parameters such as x,y and shape are calculated.


The centroider performs a fit to the cutout image with a circular or elliptical gaussian to find the object's center. The routine normalizes the image, and starts the iteration sequence using the barycenter position as a starting point and assuming a flat sky. The centroider returns the amplitude, x, y, and sigma of the gaussian (x, y, and xy sigmas for an elliptical fit), and the x slope, y slope, and constant of the fitted background.

Deblended images occurring in the same cutout require special handling. First, an attempt is made to perform a simultaneous fit to all objects in the deblended "family". If this fails to converge, each deblended component is run individually through the single centroider, after applying the fractional pixel allocation determined by the deblender.

If the centroider failed to converge on an object after a reasonable number of iterations, or if the centroider failed for some other reason, only the barycenter position determined from object detection or deblending was used in calibration. If the object had been classified as a plate defect, which has a very low chance of convergence, the centroider was not attempted. For objects that occurred in very large cutouts (for example, small stars in the vicinity of a bright star), the centroider was also omitted, due to resource constraints.

Feature Calculation

Additional image processing was performed to compute features used in classification. Two types of features are computed: spike parameters and texture parameters.

Bright point sources on Schmidt plates display diffraction spikes. These were used to good effect in GSC1 for star/nonstar discrimination in the brighter magnitude ranges. Spike parameters are computed by comparing the gradient of the image along the spike, which should be weak, with the gradient along the thin dimension of the spike, which should be strong.

Texture parameters are computed based on the co-occurrence matrix for the object cutout (with fractional pixel allocation applied in the case of deblended objects). Once the matrix has been calculated, the entropy, contrast, and 2nd order angular moment are computed based on this matrix. See Malagnini, 1983, SCMA, for further details.