JavaScript Menu, DHTML Menu Powered By Milonic
   
Pleiades Home
**** This site is work in progress ****

Welcome to Pleiades

Overview

Image stacking is a procedure that basically consists in stacking a cluster of photos of the same subject and perform a pixelwise average of them, in order to extract an optimized, low-noise image of the subject. In facts, averaging the same signal is a well known approach to noise reduction.

The problem with photos is that the subject must be placed exactly in the very same position in each image, otherwise the averaging will introduce some blur, jeopardizing the noise reduction effect. Unfortunately, perfectly still subjects aren't so common.

For instance, astrophotographers routinely perform image averaging over a sequence of photos of a certain sky object, such as Jupiter or the Moon. Planets move, but very slowly; unfortunately atmospheric blur or wind gusts causing small motion on the telescope are likely to introduce "motion" of the subject. This is clearly demonstrated by the small animation shown here.

Fortunately, scientists have discovered some algorithms that, performing some complex math, can compute the displacement of the subject in each photo, so the images can be "re-aligned" before averaging.

Pleiades is an open source Java™ implementation of such an algorithm.

As astrophotographers work with hundreds and even thousands of images in each set, quite a large computing power is needed - fortunately the image processing sequence can take a great advantage from parallelizing the computation steps. Pleiades has been designed for parallel computing, and it can also be run in the Sun Grid Compute Server facility, an environment where thousands of CPUs are available at a very affordable price ($1 per CPU per hour).

Pleiades is an ongoing project designed for delivering the power of parallel computing for the needs of the digital photographer.

Not only for astrophotographers

The same core algorithm can be used for other purposes, related to image stacking. For instance, landscape photographers often have to deal with a problem known as "exceeding the dynamic range": basically this means that the scenario they are shooting at contains a range of lights and shadows that doesn't fit in the camera capabilities. In other words, either you clip bright areas (and they will look like ugly white patches), saving details in shadows, or you expose for lights but shadows will look like deep black blobs with no details.

Traditionally this problem is addressed with neutral split filters, used to reduce the contrast; since digital imaging has reached the desktop, another approach is to take two different images with different exposures, merge them and take the best from each one (that is, bright details from the former and dark details from the latter). The result is know as being a High Dynamic Range picture (HDR)

In order to be able to merge without causing blurring, the merge should be performed on two pictures that stacks perfectly - this requires the use of a tripod. Applying a registering algorithm as Pleiades, a high quality HDR image can be achieved even without using the tripod.

Different scenarios

Thousands of photos for Jupiter or the Moon, or just two/three samples for a HDR landscape? These are very different scenarios in which the very same algorithm need quite a different computing power: large computing facilities for the former case, a few desktops or maybe a powerful multi-core desktop for the latter.

Pleiades fits well in all these scenarios, as it has been designed around an abstraction of a parallel task scheduler. Plugging in different "drivers", the Pleiades computing core is able to work in very different contexts, starting from a single PC up to Sun Grid Compute Server facility.

Preliminary source code and documents are available.