Image Stacker Help

Image Stacker Homepage



Image Stacker combines or "stacks" multiple images into a single image, using one of several different blending methods. Image Stacker can be used for a variety of purposes, but its primary purposes are (1) to create very long exposures (longer than would be possible using any single exposure) (2) to create star-trail images and (3) to reduce the appearance of "digital noise".

Depending on the blending mode used to combine the images, the resulting output image can look quite different. Stacking (or "adding") images produces a brighter output image than any of individual input images. Averaging images produces an image with reduced noise compared to any individual input images.

+ + + =
Stacking several images together brings a dimly light street scene to life
Main Screen and Blending Modes

Image Stacker Main Screen

Blending Mode: Stack

Traditional "image stacking" has long been used by astronomers to take pictures of very faint objects. By stacking multiple exposures on top of each other, the brightness (or intensity) of faint objects is increased in the final output image. Objects that are dim or barely discernable in individual images become much brighter if enough exposures are added together.

Of course, there is no reason that this technique need only be applied to astronomical photographs. It can be quite effectively utilized to create any image with a "synthesized exposure length" equal to the the sum of all the input images.

Many consumer-level digital cameras can only take maximum exposures of up to 30 seconds. Some of the most interesting photography can be taken at night with very long exposures. Moonlight landscapes, for example, often require exposures of several minutes or longer. The example images below show a synthesized 150 second exposure, made by stacking five 30 second exposures together.

Left: Single Image, Right: Five images stacked together

Blending Mode: Average

The primary use for image averaging is to reduce the appearance of random noise in individual images. Digital cameras and scanners introduce "noise" into the images they capture. If you look closely at a digital camera image, particularly in areas of uniform color such as a blue sky, you'll probably notice that the color is not perfectly smooth. The color of the individual pixels may vary considerably. The cause of this noise has to do with the characteristics of the imaging chips inside the camera and/or scanner.

By averaging multiple images together, the appearance of this noise (most of which is random) can be significantly reduced, creating smoother, less grainy images. Of course, averaging has no effect on hot or stuck pixels--defective pixels that glow brightly in every image. The examples below show the effect of averaging four images taken of the same scene within a few seconds of each other.

Left: Single image (zoom: 400%), Right: Four images averaged (zoom: 400%)

Blending Mode: Brighten

This mode is particuarly useful when stacking images would result in overexposure of the final image. One of the most useful applications is to create star-trail images in light polluted areas. Using the traditional stacking technique would result in a washed out, overexposed, sky after a few minutes. By using this blending mode, all images are compared and the brightest pixel at each point is used in the output image.

Left: Single image, Right: 24 images combined using brighten mode shows star trails

Note: If your camera pauses between images, the resulting star-trail images may exhibit small "gaps" between star-trail segments. You can fill in these gaps using Star Tracer.

Blending Mode: Darken

This mode is the opposite of the "brighten" mode. Image Stacker compares all input images and chooses the darkest pixel at each point when creating the output image. This can be used to "remove" stars, airplane trails or other illuminated objects in the sky when stacking multiple images.

Blending Mode: Custom Mix

This mode allows you to choose a mix of stacking and averaging. This allows you to take advantage of the intensity enhancement benefit of image stacking and the noise reduction benefit of averaging in one step.

By specifying a divisor between 1 and the number of input images, you can determine whether the blending mode is equivalent to stacking (divisor = 1), averaging (divisor = number of input images) or some mixture of the two blending modes (divisor is between 1 and the number of input images).

Left: Single image (30 seconds illuminated solely by moonlight), Right: 9 images combined using custom blending mode (divisor=3)
Noise Reduction

Noise Reduction Screen

Noise Reduction and Dark Frame Subtraction

Image Stacker can reduce the amount of "noise" visible on input images by performing "dark-frame subtraction" before blending with other images. Noise in digital camera images shows up as bright pixels in the image. In general, the problem is more apparent with long exposure images, but better cameras exhibit less of this problem. A "dark-frame" is an image captured with the lens cap on the camera...the image is completely dark except for noisy (i.e. bright) pixels. Because these noisy pixels tend to show in the same position in each image, subtracting a dark-frame can reduce their appearance without affecting the other "non-noisy" pixels.

If noise-reduction is used, Image Stacker performs a dark-frame subtraction on each input image before combining it with other images. To turn on the noise reduction feature, check the box marked "Use dark-frame noise reduction" on the noise reduction screen. Select a dark-frame image and choose an opacity for the dark-frame. Varying the opacity can be quite effective in reducing the appearance of dark "pits" where subtraction has occurred. Depending on the subject matter of the image, opacity values between 40% and 100% often produce the best results.

Options Screen

Options Screen


Images that are produced by digital cameras/scanners have been "gamma corrected" by the camera/scanner so that they display correctly on computer monitors. Without this gamma correction, images would appear too dark on the screen. However, this gamma correction causes problems when trying to stack images. In order to accurately stack images without introducing undesired color/brightness changes, this gamma correction must be accounted for. Simply put, the gamma correction must be temporarily "undone" while the images are being combined, and then reapplied when the output image is being finalized.

By default, Image Stacker assumes a gamma correction appropriate for most typical digital camera/scanner images (sRGB). However, if your camera uses a different gamma setting, or you are not satisfied with the results you may wish to specify your own gamma parameter (values of 1.8 - 2.5 are likely to yield the best results depending on your camera/scanner).

Threshold Filters

Image Stacker includes two threshold filters that can be used to set pixels in the input images to pure white or black depending on their intensity. All pixels have an intensity (brightness) that can be measured on a scale from 0 to 255. A pixel with an intensity of 0 is completely black. A pixel with an intensity of 255 is completely white. By setting the low pass filter to 20, for example, all pixels in the input images with an intensity of less than 20 will have their intensity set to 0 (i.e. pure black) before blending. Similarly, setting a high pass threshold value of 200 will change all pixels with an intensity of more than 200 to 255 (i.e. pure white).

Depending on the noise characteristics of your camera and the subject matter of your images, the low pass threshold filter can be very useful to filter out low-level noise from images before stacking.

Tips and Tricks

File Formats

Image Stacker can read and write JPEG, TIFF and Bitmap files. The files must have an extension of ".jpg", ".tif" or ".bmp" in order to be recognized as valid input images. To choose a file format for the output image, simply choose the appropriate file extension (".jpg", ".tif", or ".bmp"). If you select JPG as the output format, you can change the amount of JPEG compression on Image Stacker's options screen. (100 = low compression/high quality, 1=high compression/low quality).

Drag and Drop

Image Stacker's main window supports drag and drop. To add input files, drag files from Windows Explorer and drop them onto the input files area. To configure Image Stacker to use a file for dark-frame noise reduction, drag a file onto the label in the "Dark Frame Noise Reduction" frame.

Automatic Name Suggestion

If the "Automatically suggest output name" option is activated in the options screen, whenever a file is added to the input files area, Image Stacker will suggest a new name for the output file based on the names of the input files.

Viewing Images

Image Stacker does not have a built-in image viewer, but is designed to work with your computer system's default image viewer. If you double-click on a file name in the input files area of the main screen, Image Stacker will launch the image using whatever default image viewer your system is configured to use. Similarly, if the "Launch output image" option is selected in the options screen, then Image Stacker will try and launch the image that it creates after it has finished processing.

Command Line Version

Image Stacker is distributed with a command-line version of the program that can be run from a command prompt. Advanced users may wish to use the command-line version of the software in addition to the Windows version, as it can be incorporated into scripts and/or batch files for automated processing. The command-line version of the software is installed in the same directory as the Windows program (by default this is in the "\program files\ImgStack\" directory), and can be run by typing "imgstack.exe" at the command prompt. Typing "imgstack -?" will show the options and instructions for the program.

File Dimensions

In order for Image Stacker to combine files, they must all have the same dimensions. For example, trying to combine an image sized 4000x3000 with an image sized 3000x2000 will not work. Similarly, dark-frame images used for noise reduction must have the same size as the input images.

Memory Requirements

Image Stacker requires about 10 times the amount of memory (RAM) consumed by a single image in order to operate smoothly. This is true regardless of the number of images being stacked. To compute the approximate amount of memory needed by Image Stacker, use the following steps, illustrated here using a 12 megapixel (4000x3000 pixels) image:

  1. Compute the number of pixels in a single image by multiplying the width by the height. (e.g. 4000x3000 = 12,000,000)
  2. Compute the number of bytes required for one input image by multiplying the number of pixels by 4. (e.g. 12,000,000 x 4 = 48,000,000)
  3. Multiply the number of bytes for a single image by 10 to calculate the total program requirement. (e.g. 48,000,000 x 10 = 480,000,000 Bytes = 458 MB)
In the example above, stacking any number of 12 megapixel images (with dimensions of 4000x3000) requires about 458MB to operate smoothly. Image Stacker will operate with less than this amount of memory, but its performance will be slower as the computer will use hard-drive space instead of memory.

Links and Acknowledgements