Russell Croman Astrophotography  



RC-Astro Processing Console

This is a program that provides some new image processing functions to MaxIm. In addition, it allows some of the native MaxIm image processing functions that operate on only one image to operate on multiple images in a batch fashion.

Click one of the following to jump to that section, or just read through the page:

New Image Processing Functions

MaxIm Functions that are Automated

  • Hot Pixel Filter
  • Dead Pixel Filter
  • Double Size
  • Crop Images
  • Remove Bad Pixels


For the time being, you may download this program and use its full functionality free of charge. If you do find it useful, feel free to send me some bucks to help defray the cost of development. Contact me for the mailing address. To make a contribution online via PayPal, click the following button:

Download/Installation Instructions

  1. If you do not have Microsoft's .NET framework version 1.1 installed, get it here.
  2. Click here to download the file.
  3. Unzip the contents and save them in a convenient directory.
  4. Run the Setup.exe program and follow the installation instructions. Make sure the installation directory is where you have MaxIm installed. The plug-in files must be in the same directory as MaxIm_DL.exe.
  5. That's it... it should now appear as "RC-Astro Processing Console" in MaxIm's Plug-in menu.

If you ever want to un-install the plug-in, don't use MaxIm's remove plug-in function. Instead, use the Add/Remove Programs function in the Control Panel, the same way you would remove a normal application.


RCConsole's user interface is hopefully very intuitive. The images you want to process must first be open in MaxIm. Start the plug-in by selecting it's entry in MaxIm's plug-in menu. Choose which images you want to process using the selection list buttons, and then click which processing operation you want to run. Set any options needed, and then click the OK button. When you are finished processing the images, click the Exit button on the main dialog form.

Here are the details on the new functions:

Sigma-Reject Combine

This is very similar in operation to the original SigmaReject Combine plug-in.

The most significant change is the addition of an option to compute the average time of exposure of the set of images being combined. This feature inspects the DATE-OBS and TIME-OBS keys in the FITS headers of each source image. From these it computes an effective mid-point date and time of the whole set of exposures, and places this information in the DATE-OBS and TIME-OBS keys of the combined image. Since these keys are by default supposed to refer to the start time of the exposure (according to the FITS standard), comment fields are added to explain the new meaning.

Other enhancements include better defaulting of the options based on what kind of images are being combined.

NOTE: A known problem exists if you try to close MaxIm without first closing the combined image. Make sure you save and/or close it before you attempt to exit MaxIm, otherwise you may cause trouble with future operation of MaxIm. If you do accidentally do this and notice trouble, you will need to re-boot your computer.

Normalize Histograms

This function attempts to make the histograms of the selected images match each other. First, the background levels of the images are equalized (set to the same value as the first image). Then, the pixel values of each image (other than the first one) are scaled in an attempt to make its total brightness range equal to that of the first image.

This function is useful prior to certain kinds of combination operations to obtain best results, and potentially has other uses. This function is the same as is optionally implemented in the Sigma-Reject Combine function.

Sigma-Reject Noise Filter

This uses the sigma-reject statistical technique to try to repair pixels in an image. Each pixel in the image is evaluated in the context of its neighbors. If it is too bright or too dim, according to the threshold set in the dialog box, the pixel value is replaced with a sigma-rejected mean of its neighbors.

The "kernel size" parameter tells the filter how many pixels around a given pixel should be considered its neighbors.

This filter has a couple of uses. First, it is an excellent hot and dead pixel filter. For this purpose, it should be applied using a 3x3 kernel to individual calibrated images prior to alignment or combination.

It can also be used as a noise filter of sorts. If dim portions of an image are noisy, this filter can have the effect of reducing the noise somewhat without the loss of contrast that a blurring function would cause. Try different kernel sizes and rejection thresholds, but be aware that too large a kernel size will begin to treat the centers of stars as pixels that need repairing.

Anisotropic Gaussian Blur

Anisotropic is a fancy word that simply means "not the same in all directions."

A Gaussian blur filter is commonly used in image processing to reduce noise in an image. It is very effective at this, but unfortunately it also causes a loss of contrast.

A Gaussian blur filter modifies each pixel by looking at its neighbors and computing a "weighted average" of their values, with more weight being given to closer neighbors. The standard Gaussian blur filter found in most image processing programs is isotropic: it blends pixels values equally in all directions. The neighbors to the north and south of a given pixel have just as much weight in the blurring operation as the neighbors to the east and west.

What this new filter tries to do is to impart some directionality to the blurring action, based on the characteristics of the image in the vicinity of the pixel being processed. In this way, blurring is effectively accomplished, reducing the noise level in the image, but fine details in the image tend to be preserved, much more so than with a standard Gaussian blur filter.

Try different kernel settings to see which works best on your image. Larger settings cause more blurring.

I find this filter particularly useful for suppressing the noise in an image that has had its histogram pushed hard or has been deconvolved or otherwise sharpened.

Repair Unreliable Pixels

This function uses a map of "unreliable pixels" created when dark exposures are combined to form the master dark frame. If you notice black pixels in your calibrated object exposures, you may be the victim of "unreliable pixels." Get the full scoop on this phenomenon, as well as how to use RC Console to correct for it, here.


Please send any suggested improvements or bug reports to me by email.

Version History

  • 1.6
    • made dialog boxes remember user-entered settings
    • added automation of MaxIm's "remove bad pixels" function
    • fixed unreliable pixel fix crash with low threshold settings
    • fixed anisotropic Gaussian blur crash with large kernel settings
  • 1.3 -- beta release -- 29 December 2003
    • added Fix Unreliable Pixels function
    • added Crop Images automation
  • 1.2 -- beta release -- 6 August 2003
    • simplified installation (registers itself in MaxIm's plug-in menu)
  • 1.1 -- alpha release -- 4 August 2003
    • Converted to a plug-in.
    • Implemented Sigma-Reject combine and Normalize Histograms in C++ for faster operation.
  • 1.0 -- alpha release -- 31 July 2003

Known Problems

Here is a list of currently known problems with the plug-in. These will be addressed in future versions.

  • Automation of "remove bad pixels" function requires that the map name be set to one of MaxIm's default map names (i.e., "Map1" through "Map5"), even if the real map name is different.
  • If the plug-in is invoked after a "split color" command, two of the three split images will disappear from MaxIm.


I've made every effort to make sure this program operates properly and does not cause loss of data or other such trouble on the host computer. That being said, it could conceivably cause just that. By downloading, installing, and running it, you are assuming responsibility for any consequences thereof.