Creating Panorama in full 16 bit workflow

Intro

One of the biggest problems in panorama creation is dynamic range. In order to save both maximum number of levels and maximum dynamic range it is recommended to use a 16 bit workflow. 16 bit refers here to the single channel bit depth. However, some applications and tutorials use the term '48 bit' or '64 bit' which refers to the complete bit depth for all channels and is essentially the same.

Requirements

This tutorial is for the advanced user only. It assumes you are familiar with shooting, stitching, blending 8 bit images and with basic and advanced editing techniques in photoshop like using image layers, adjustment layers and masks.

Image source

To use 16 bit workflow you need a camera capable of saving RAW files or a scanner plus application that allows to save 16 bit. See RAW dynamic range extraction on how to extract the full dynamic range from a RAW file into a single 16 bit per channel document.

Software

A recent version of the pano12 library supports 16 bit as well as the usual GUI front-ends. If you want to use autopano you might need a tool to batch convert images to 8 bit (f.e. IrfanView) since autopano currently has a bug that causes an error message for some types of 16 bit TIFFs. Some camera's (e.g. Nikon D70) save a JPEG file together with the RAW file. You can use that JPEG file to use with autopano. After the control point generation, replace the JPEG with its 16 bit variant.

If you want to edit the layered stitching result you will need Adobe Photoshop CS or above. This is not needed if you use enblend for blending the images.

Photographing the panorama

Using a digital camera

To get maximum dynamic range with a digital camera expose for the brightest highlight you want to have details in. In a sunlit landscape these are usually the clouds but could as well be a white building. Digital cameras clip the highlights but not the shadows. Check the histogram to see if clipping is a problem. A good article about correct exposure with digitals is found at http://luminous-landscape.com/tutorials/expose-right.shtml

Shooting in RAW allows you to later generate 16 bit TIFFs from these files, with precisely adjusted exposure and white balance, or even different exposure and white-balance settings to assemble the images again in a more favoring way, eg another white-balance for the windows of interior-panos.

With Adobe raw-plugin it should be possible to find settings in order to extract at least much of the available dynamic range. Try to find a value for 'Exposure' that does not clip the highlights below camera clipping and set 'Shadows', 'Brightness' and 'Contrast' to the lowest values. This will probably preserve most dynamic range.

If you don't use Windows or Mac OS or if you simply want to use a command line tool that is capable of extracting full dynamic range there is always dcraw.

Using analog film

shooting

With analog color negative film expose for the darkest shadow you want to have details in. A tripod is recommended, since the exposure times might get very long especially if stopped down. I use a typical exposure of 1/15s at f/16 in bright sunlight with Fuji Reala. Color negative film clips the shadows but not the highlights. It is a good idea to shoot an extra image containing some color chart or at least a grey card plus a white piece of paper and something entirely black. This will help to white balance later.

scanning

Avoid any clipping while scanning. Switch off any automatics in your scanning software that influences white balance or exposure. Save as 16 bit TIFF (sometimes refered to as 48 bit TIFF). You got to experiment with your scanning software.

With Vuescan use advanced workflow (see manual). Set color balance to 'None' on color tab. Don't worry about the results beeing dull and having a color cast - you can correct anything in the ready stitched panorama. Save as '48 bit TIFF'

Stitching

If you want to use autopano it is a good idea to work with 8 bit copies of your images for control point generation. Autopano should work with 16 bit images but currently refuses to work with certain types. Once you are finished with autopano you can revert to the 16 bit originals.

Older versions of PTGui silently degraded images to 8 bit if you choose a cropping frame outside the image bounds or if you use a filter.

The most recent versions of PTGui have an own control point finder and stitcher, both of which deal with 16 bit images very well. If you choose PTGui stitcher you can set bit depth to either 8 or 16 bit for output formats that support it.

Blending

Basically there are three possible ways to blend your images:

Let panotools do anything by choosing any single image output format like TIFF, JPEG or PSD.

Output multiple TIFF files and blend manually in an image editor using layers. 16 bit layers are currently handled by very few programs. One of them is Adobe Photoshop CS or higher and another apparently Cinepaint.

Enblend

Enblend handles 16 bit images well. Do what you ever did using enblend and you finish up with a blended 16 bit TIFF. However, be aware of the additional alpha channelenblend puts into the image.

Photoshop CS

Importing images

Choose multi image TIFF as output, either with feather (TIFF_mask) or without (TIFF_m). Use the 'Import TIFF files with alpha channel to masked layers' action you can download from http://www.erik-krause.de/ttt to assemble the single images (usually named <yourimage>0000.tif, <yourimage>0001.tif a.s.o) into a layered Photoshop document.

Correcting colors

If you have shot a greycard previously, load this image as a separate file and place a levels adjustment layer above. Use the grey eyedropper to get neutral mid tones but don't use the white or black eyedropper as they might cause clipping.

Open the Info palette. Set a color sample point (5x5 average) to the black and white image detail and adjust input white and black point for the color channels manually in order to get equal color values for all channels. Check the RGB values for the black, the white and the grey sample frequently.

Try to get the minimum common color value for the white point (by not changing the channel with the highest value) and the maximum common color value for the black point (by not changing the channel with the lowest value). Most probably you will have to repeat these steps until you get neutral black, white and grey since any adjustment influences the others.

Once you're done drag the adjustment layer from the layers palette to your pano on top off all other layers. If you used a grey wedge you can make an even finer adjustments using curves instead of levels and adjusting several shades of grey to be neutral.

If you didn't shoot a greycard, simply place a levels or curves adjustment layer on top of the image layers and adjust colors to look natural.

Use additional adjustment layers to adjust contrast and / or brightness. It might be a good idea to use an s-shaped curve in order to increase mid tone contrast. Save the document prior to flatten to be able to correct without loss of levels.

After that edit the individual layer masks to avoid visible seams and eventually use additional adjustment layers grouped with single image layers to adjust color or brightness differences.

If you want to make the image look more brilliant, flatten to background and use unsharp mask with threshold 0, amount from 20% to 50% and a radius between 70 and 250 pixels (depending on image size). It's a good idea to reduce to intended output size prior to this step since it is very slow on large images.

If there is still much detail hidden in the shadows or you are not satisfied with the contrast you might want to try some more sophisticated tone mapping operators, f.e. one of those compared at HDR compression which work on 16 bit images, too.

Patching

Extracting Views

Extracting Views in order to patch the tripod or some holes or mismatches in Zenith is a bit of a problem, if you want to do it in full 16 bit. The most convenient possibility - PTEditor - reads 16 bit TIFFs but writes only 8 bit.

Inserting tripod caps

Another way to cover the tripod is to insert some other image like a logo or a mirror ball. This should be no problem for 16 bit if it is done either with the 16 bit Plugins (as mentioned above) or with PTStitcher. Many possibilities are described on Tripod Caps