Skip to end of metadata
Go to start of metadata

Astronomical image processing tools that can perform noise removal, image enhancement, brightness measurement and image registration

AuthorYiwei Zhang

Latest VersionThe latest stable release of your software should go here.
Updated On



1.0 for Opticks 4.6 - August 21, 2011

1.0 for Opticks 4.7 - Built October 3, 2011 by Trevor Clarke

Test images can be found here.


Astronomical image processing tools that can perform noise removal, image enhancement, brightness measurement and image registration

Supported Opticks Releases: 


Supported Operating Systems: 

Windows 32-bit
Windows 64-bit
Solaris SPARC 64-bit
Linux 64-bit

Support Requests: Ask Yiwei Zhang for assistance on the Opticks Mailing Lists or contact


This extension includes some general image processing algorithms. It includes the following:

  • Brihgtness measurement">Brihgtness measurement
    The user can select a star in the image to measure its brightness or select two stars to measure the relative brightness of the first star over the second star. Based on the mean and deviation of the gray scale value within the star's area, the radius of the circle which contains all of the light of the star can be determined. Similar method can be used to find the clean background without the inference of any other star. The average light value of the star and background can then be calculated and thus the brightness can be measured. The circles of the inner star and outer background shall be drawn on the original image and the value of the radius will be shown to the user. Also the user can manually set the radiuses of star and background based on the automatic calculated result to measure the brightness more correctly.
  • Wavelet K-Sigma filter for noise removal">Wavelet K-Sigma filter for noise removal
    This method is based on wavelet transform and shrinkage. Traditional techniques that average pixels in the spatial domain often blur the image. Wavelets, as a spatial/frequency hybrid, offer effective methods of separating and removing random noise from significant signals. The filter estimates the noise variance based on the transformed wavelet coefficients at each scale. At each scale the coefficients will be thresholded according to the predefined K-Sigma value  and the noise variance.  This will chop off the noise from the actual signal and after that, inverse wavelet transform is done to reconsruct the image
  • Image enhancement">Image enhancement
    The image enhancement function contains several different approaches aiming at different situations. 
    1. Gaussian histogram shaping. This method reshapes the original histogram of the image into the Gaussian shape histogram whose parameter can be defined by the user. For astronomical images, most pixels wind up with values in the middle and high end of gray scale. By histogram reshape, the distribution of the gray value is expanded so that more contrast shall be displayed. 
    2. Local adaptive sharpening that employs dynamic sharpening mask. The ratio of the average pixel value of the neighborhood and deviation of the neighborhood is calculated for current pixel. If the ratio is high, it means the contrast within the neighborhood is low, so the contrast factor of the mask is increased to enhance the image and vise versa. This method operates strongly on images with low contrast, such as planetary disks. 
    3. The deconvolution method. The degraded CCD image can be regarded as the convolution of Gaussian point spread function with the original image plus random noise. And deconvolution method will try to restore the original image using a constrained iterative process of image restoration and correction.
  • Image registration">Image registration
    Given a master image and a slave image, this allows you to perform registration from the slave image to the master image. Images taken at different times may have relative translation and rotations. For astronomical images, stars are ideal reference points for images, because they are both plentiful and fixed in space. Stars are easily to be automatically located in the image. Also, even with translations and rotations, the relative distance between two stars shall remain the same. So we search and locate the appropriate stars in the master and slave images. Then we match the stars and get its positions in the images. Finally we can compute the matrix of the translation and rotation according to the matching star positions and merge the images together


Screenshots and Videos">Screenshots and Videos

On the left is the image "The Carina Nebula: Star Birth in the Extreme" from NASA's astronomical image database. On the right is the result using "strong mode" to removes more noise from background 

On the left is the lunar image. On the right is the image after histogram reshaping. We can see that the impact craters that astronomers are interested in near the boundary of the shadow become clearer

On the left is the image of Jupiter. The original image has belts and zones that are soft and ill-defined. On the right is the image after local sharpening. We can see that local adaptive sharpening enhance the fine Jovian detail. But it also amplifies some noise in the background deep sky

On the left is the image of Jupiter. The original image has belts and zones that are soft and ill-defined. On the right is the image enhanced by de-convolution. We can see that de-convolution method enhances the fine Jovian detail. Unlike local adaptive sharpening, it dose not amplify the noise in the background deep sky too much
On the left is the M40 cluster image. On the right is the same image with translation and rotation

On the left is the registration showing the combined image which increases the contrast between the stars and the background. On the right  is the result indication showing the parameters of the translation and rotation

How do I get started?">How do I get started?
  • Download and install this extension. Learn how to install Opticks extensions.
  • Look under the "Astronomical Processing" menu for the respective algorithms

All Downloads

All source code are available at

 For Opticks 4.7.X

Windows 32-bit and 64-bit

1.0 (Built by Trevor Clarke)

Works With:

Unknown macro: {opticks-version-range}
 For Opticks 4.6.X

Windows 32-bit


Works With:

Unknown macro: {opticks-version-range}

Testing astronomical images can be obtained at