This page contains a few simple utilities to assist in the creation of panoramic images.

Here is the page index:

1. Plugin Detection
2. Chromatic Aberration Correction using PTShift
3. DOS Utilities for Panoramas
4. ImageSlicerPT
5. Shift Half Width
6. LayerMaskCopy
7. QTpantiltfov
8. Resources & Links



Plugin Detection

There are a number of plugins one can use to display a panorama. That's why it is useful to detect which plugins are installed on a user's system. The main plugins used for pano display are Java, QuickTime, Flash, Shockwave, and DevalVR. After a great deal of work and testing, I came up with this plugin detection script.

The detection script takes into account the new challenges presented by Internet Explorer 7.




Chromatic Aberration Correction - PTShift

PTShift is a Javascript that runs in Photoshop CS/CS2/CS3 that will find the abcd parameters for the PanoTools radial shift plugin, so you can remove transverse chromatic aberration (tCA) from an image. The idea is to have the user specify how much channel shift is needed throughout an image to remove tCA, and then have PTShift calculate the abcd parameters for you.

Some background info on tCA and some ideas on how to remove tCA can be found at Watters and Krause websites. Their ideas led to the development of this script.

Download Latest PTShift here:  PTShift v1.8 beta6     (June 29, 2007)
(PTShift runs on Windows only. Macintosh is no longer supported)


Here is a screenshot of PTShift and some general instructions.
There is also a page showing the history of changes and terminology.

Send email to if any bugs.




DOS Utilities for Panoramas (DOSUP)

I have a few simple DOS ultilities (for Windows XP/2000, not Win 98) that use PanoTools for resizing images, and converting between equirectangular and cubic image formats. These utilities work in drag and drop mode, meaning you only have to drag one or more images onto a program and it will run. The utilities are as follows:

Translate.bat - Will translate an equirectangular input image (Width x Height = 2N x N) to a specified yaw, pitch, roll.

Pano2Faces.bat - Will convert an equirectangular input image (Width x Height = 2N x N) to 6 rectilinear cube faces.

Cube2Pano.bat - Will convert one or more rectilinear cube faces (Width x height = N x N) to equirectangular format.

Resize2NxN.bat - Will resize one or more images (with Width x Height = 2N x N) to another size.

ResizeNxN.bat - Will resize one or more images (with Width x Height = N x N) to another size.

You can get the utilities here: DOSUP v1.1b  (September 2007)




ImageSlicerPT

ImageSlicerPT is a Photoshop CS/CS2/CS3 script that will slice a panoramic image into smaller pieces for use with PTViewer. The idea here is to allow PTViewer to load a pano one slice at a time.

There are several possible advantages to this:

- You don't have to wait for the entire panorama to download before PTViewer actually displays something.
- You can set a different jpeg compression for each slice, which can lead to a smaller file size for the whole panorama.
- Memory use of PTViewer under Sun Java can be somewhat reduced.

ImageSlicerPT is intended for PTViewer version 2.7L2 or HIGHER.

ImageSlicerPT will also create *.ptv and *.ptvref files that are used by PTViewer v2.8 beta3 or higher. The html files to use with the *.ptv and *.ptvref files are also generated.

[A *.ptv file is a single file that contains ALL the roi image slices and the preview image. This simplifies the html code, but *.ptv files may not be cached by browsers.

A *.ptvref file is only a text file that contains the list of all the roi image slices. Again, this simplifies the html code.]

Here is the script: ImageSlicerPT v1.3 (May 4, 2005)

This script has been tested on Windows and Mac.


Shift Half Width

ShiftHalfWidth is a Photoshop CS/CS2/CS3 javascript (Mac OS X and Win) that will shift all layers in an image horizontally by half the document width. The list of items that are shifted are: image layers, adjustment layers, channels, alpha channels, layer masks, nested layersets, and layerset masks.

This script is intended to be used on equirectangular panoramic images in Photoshop CS/CS2/CS3.

When you blend seams on a multilayered image, you sometimes have to blend near the left/right edges of the document, which can be rather inconvenient. Roger Howard originally came up with the idea (using an Applescript - Mac only) to shift all the document layers horizontally to avoid this problem. One can then blend the seams, and then shift all the layers back to their original position.

Here it is: ShiftHalfWidth v1.7  (July 2007)


Another good use for ShiftHalfWidth is to make sure that the left and right edges of the equirectangular panorama image match up perfectly. When you view the image in a panorama viewer (like QuickTime or PTViewer), any mismatch in the left/right edges may be visible. To prevent this flaw, you can use this Photoshop script to shift the entire image by half, and then look closely to make sure there is no visible seam.


LayerMaskCopy

LayerMaskCopy is a Photoshop CS/CS2/CS3 javascript that will allow you to copy the layer masks from a multi-layered document to another multi-layered document.

This script will be most useful when you are creating hdr (high dynamic range) panoramas, and you wish to copy the masks from doc A (which contains panoramic images taken at an exposure A) to doc B (which contains panoramic images taken at an exposure B).

There are 3 modes of operation:

1) If 2 multi-layered docs are open when running LayerMaskCopy, then the layer masks will be copied from one document to the other.

2) If only one multi-layered doc is open when running LayerMaskCopy, then the layer masks will be copied to a new document (called "layermasks"). The "layermasks" document uses only a small amount of memory/disk space compared to the multi-layered doc.

3) If one multi-layered doc and the "layermasks" doc are open when running LayerMaskCopy, then the data in the "layermasks" doc will be copied to the layer masks of the multi-layered doc.

Here is the script: LayerMaskCopy v1.3.2  (February 25, 2006)


QTpantiltfov

This is a small utility that will show you the pan, tilt, and fov (field of view) of a QuickTimeVR movie that plays in a browser. It uses javascript to communicate between the browser and the QuickTime plugin. This should work for QuickTime 6 (or higher) and most browsers.

Here it is: QTpantiltfov v0.4 (August 2005)
(previous versions are v0.3, v0.2 and v0.1)




Resources & Links:

Correcting Chromatic Aberration with PanoTools Radial Shift by Jim Watters

Determination of chromatic aberration correction parameters by Erik Krause

PanoTools (mirror) by Helmut Dersch

PTViewer by Helmut Dersch, greatly enhanced by Fulvio Senore. I highly recommend this version.

Latest Pano12.dll (Windows) for PanoTools

16-bit Panorama Tools Plugins (Windows) by Thomas Niemann

PTMac, 16-bit PanoTools Plugins (Mac OS X) by Kevin Kratzke

PTGui by Joost Nieuwenhuijse

PanoCube by Andrew Jakowleff

Pano2QTVR by Thomas Rauscher


© 2004 - 2007