Processing Multispectral Images with Photoshop Elements

Wide spectrum cameras are becoming common now that services exist (I used LifePixel) to convert existing DSLR bodies (in my case a Nikon D90) to use the full native sensitivity of their CMOS sensors. This page deals with the production of false-colour images from these cameras.

Converted cameras have to isolate specific spectral bands using external filters. The most commonly available filters allow

  1. a UV image,
  2. an RGB image using a "hot mirror" and the filters built into the sensor,
  3. IR images with long-pass filters of varying cutoffs
The need is to
  1. obtain a group of B&W images of the same subject each taken with a desired spectral band,
  2. match these images in brightness and contrast,
  3. shift and scale them so they align perfectly with each other,
  4. colour each and overlay them to create a false-colour composite image.
Here are the techniques I've found best for each of these steps. I use PSE 9 on an iMac, but believe that the steps are identical on most recent versions of PSE and on Windows versions. In the following, C/ means command/ on iMac, control/ on Windows.

Separation of RGB bands in a full colour image

The easy part. Load the RGB image. Click on Enhance/Convert to Black and White. Set the intensity of the desired channel to maximum and the other two to minimum; leave contrast at the default of zero. Save. Repeat with the other channels in turn. They are already aligned since they were all taken in one exposure.

Separation of IR bands

Affordable IR filters are long pass - they pass all wavelengths longer than a cutoff. The resulting images are taken with bands A+B (usually a 700 nm cutoff) then with B (such as an 850 nm cutoff). B must be subtracted from A+B to isolate band A.

Click on Window, then check Layers and Histogram. In the histogram window, set Source to Selected Layer. Load image A+B (C/O) as background. Use File/Place to load image B, click the green arrow. You should now see A+B as background (called 0 in what follows), B as the top layer, called 1 below.

Select layer 0, Enhance/Convert to Black and White, then return to obtain a B&W image. Select Enhance/Adjust Lighting/Brightness-Contrast. Set brightness until the histogram mean equals 170 (2/3 of the maximum of 255). Note the Std.Dev (contrast).

Select layer 1, Enhance/Convert to Black and White, then return twice (once for the Simplify Image window, which doesn't do anything to the image as long as you didn't do anything after Place other than click the green checkmark) to obtain a second B&W image. Select Enhance/Adjust Lighting/Brightness-Contrast. Set brightness and contrast until the histogram mean equals 85 (half of A+B) and Std.Dev (contrast) equals half that of A+B. The brightness and contrast interact a bit, also you may need to do this adjustment in several steps to get the desired result, due to the limits set by PSE on the values in this dialog.

Select layer 1, click the dropdown menu just below Layers (it defaults to Normal), set to Difference. Save the result as band A.

Since each IR band was taken in a separate exposure, you may have to align them before saving, as follows.

Aligning Images

Follow all the steps under Separation of IR bands except the final save, ending with the master image in background, the image to be moved into alignment in layer 1. Select layer 1. Select the Move tool (normally at the top of the left menu).

Holding down the Control key (both Mac & PC) to disable all snapping, move layer 1 for minimum brightness on the main display. Use the arrow keys for pixel by pixel movements, C/+ as desired to improve the precision of the alignment. When satisfied, click the eye at the left of layer 0 to make it invisible, set the mode of layer 1 to normal, then save the now-aligned image.

Colouring and Combining Images

Now you get to see the results of all your work. Load all the aligned images in layers as above, then convert the mode of all except background to Screen so they all add together in the main window.

Then select each layer in turn and use C/L to set the colour of each until the result looks the way you want it. A good way to start is to use the histogram mean and Std.Dev to set each layer to the same brightness and contrast (Enhance/Auto Smart Fix gets it close to right), then spread their colours evenly over our visible spectrum with the following schemes that give each layer and each colour equal weight:
spectralayerRGB
10150150150

spectralayerRGB
607500
145300
222458
384522
403045
50075

spectralayerRGB
20150750
1075150

spectralayerRGB
509000
145450
2156115
304545
40090

spectralayerRGB
3015000
101500
200150

spectralayerRGB
4011200
13775
27537
300112

Creating Source Images

The raw sensitivity of a Nikon D90, typical of modern CMOS sensors, is shown below. I use a B+W 486 filter to isolate visible light and set a custom white balance with it and sunlight using a neutral grey test card. Then, the filter factors and camera bands I use are:
filterwavelengthsbandsfactor
no filter360-1100RGB-1 stop
B+W 486400-700RGB0
B+W 092700-1100R0
B+W 093850-1100B+1.5
Schott RG10001000-1100B+5
Baader Venus II360-400R+7
The camera blue band is the most sensitive in the far infrared and the red the most sensitive in the UV.

John Sankey
other notes on computing

I thank the contributors to the PSE forum at Adobe, http://forums.adobe.com/community/photoshop_elements, for assistance in developing the methods here.