PTAssembler is a Windows program that "stitches" digital images into larger "panoramic"
and/or "mosaic" images. (The term "mosaic" is generally used to refer to a
panoramic image that consists of multiple rows of images, rather than a
single row "panoramic" image). PTAssembler makes no distinction between mosaics and
panoramas -- the program doesn't need to -- but photographers often consider
these two types of images differently. This document uses the terms
PTAssembler is designed to lead the user through the process of creating a
panoramic or "stitched" image in five steps. These five steps are reflected in PTAssembler's
five main screens that are designed to be visited in sequence. The basic
procedure for creating a stitched image is:
- Step 1. Load the source images into the project.
- Step 2. Enter several parameters that describe your camera lens, such as field of view and lens type.
- Step 3. Identify "control points" (common features in overlapping regions of adjacent images) for all images in the project.
- Step 4. Use the control points to "Optimize" the project, i.e. to estimate the position (Yaw, Pitch and Roll, and perhaps other) parameters for each image.
- Step 5. Use these "optimized" parameters to "process" the source images and create a final panorama.
PTAssembler includes a feature that allows the completely automatic
creation of stitched images. This feature is called "Autocreate." Please
consult the Autocreate section for details on how
to use this feature and its limitations. While Autocreate works well for most
images, you may find that you wish for more control over the resulting output image.
For complete creative control over PTAssembler's output, or in cases where
PTAssembler's Autocreate feature fails to produce the desired output, you can still
operate PTAssembler manually. Reading this document will help you understand how
to operate PTAssembler manually, rather than relying on autocreate.
A note about installation and setup.
Older versions of PTAssembler relied upon Panorama Tools as its "engine"
to transform input images into a panorama, but this is no longer the case. PTAssembler
now has its own sitiching engine, called "PTAStitcher". Similarly, PTAssembler no longer
relies on the Panorama Tools optimizer program, because PTAStitcher can perform
all necessary optimization duties. In short, PTAssembler no longer requires Panorama
Tools for any purpose.
PTAssembler is still compatible with the Panorama Tools engine: the optimizing program
(PTOptimizer.exe), and stitching program (either PTStitcher.exe and/or PTMender.exe). In general,
there is no reason to use these older, slower programs unless you need access to
some of the more exotic/unusual features (e.g. morph-to-fit) offered by
these programs. Some of PTAssembler's screens and options vary depending
on which program is configured as the stitching and/or optimizing program. For
example, the morph-to-fit options on the step 2 screen are not
present when PTAStitcher is selected because PTAStitcher does not support
this feature. Similarly, the PSB output file format is only available when
PTAStitcher is selected as the stitching engine because none of the other
stitching programs support this file format.
If you need to use the Panorama Tools programs, PTOptimizer.exe, PTStitcher.exe and
PTMender.exe, they are installed in a subdirectory of PTAssembler's directory,
called "PanoTools". Another file (pano12.dll) is installed in the Windows
system directory, but will not overwrite any existing versions without prompting you to do so.
Auxiliary plugin programs.
In the simplest mode of operation, the user manually identifies control points, optimizes the project
and runs the stitcher (PTAStitcher, by default)
to create a final output "stitched" image. The images are remapped and rudimentary seam
blending (between adjacent images in the project) is performed to create a final output image,
but no other functions are performed and no other programs are necessary.
However, PTAssembler's capabilities can be significantly enhanced with additional,
optional, programs. A complete list of the auxiliary programs that can be
invoked by PTAssembler is provided in the table below.
These programs are all "optional" because the steps that they automate can also
be performed manually, or are not a necessary part of the panorama creation
process. With the exception of TuFuse (which is distributed with, and part of
PTAssembler), these auxilliary programs are not distributed with PTAssembler.
See the downloads section at
the end of this document for information on where to download these programs.
Once you have downloaded these programs (and extracted them from any zip
files or other archives), you must tell PTAssembler where they are located
using the Plugins tab of the preferences screen.
See also the section on Processing/Workflow for more information
about these programs.
The following table summarizes the suite of external/helper/auxiliary programs
with which PTAssembler is designed to operate.
|PTAssembler Required and Optional Program Components|
Core Components (programs that are required by PTAssembler to operate)
- Optimizing Program (one is required):
- PTAStitcher*. This program is used to determine the best alignment of images (default and recommended choice)
- PTOptimizer*. Similar to PTAStitcher, but older and slower
- Stitching Program (one is required):
- PTAStitcher*. PTAssembler's default "stitching engine" (default and recommended choice)
- PTMender*. A faster replacement for PTStitcher, but missing some of PTStitcher's features
- PTStitcher*. The original stitching program distributed with Panorama Tools
Plugins/Helper Programs (optional programs that can be used to automate or enhance some parts of the panorama creation process)
- Image Pre-Processing Program (optional):
- Neat Image+. This program can be used to reduce image noise before stitching
- GREYCstoration+. This program can be used to reduce image noise before stitching
- Control Point Picker Program (optional):
- Autopano+. This program automatically detects control points from a series of overlapping images
- Autopano-SIFT+. Similar to Autopano, this program can be slower but may finds points with a wider distribution
- Stacking Program (optional):
- TuFuse*. This program blends images of the same scene taken with different exposures into a single "expanded dynamic range" and/or "expanded depth of field" image
- Enfuse+. This program blends images of the same scene taken with different exposures into a single "expanded dynamic range" image
- CombineZM+. This program blends images of the same scene taken with different focus settings into a single "expanded depth of field" image
- Blending Program (optional):
- Enblend+. This program blends images together to eliminate any visible "seams" between overlapping images
- Smartblend+. Similar to Enblend, but with a more sophisticated method of picking the seam line between overlapping images
* These programs are distributed with PTAssembler
+ These programs are not distributed with PTAssembler
The blue "Auto-create" button
on this screen starts the Autocreate or Autoalign
feature. See the Autocreate
sections for more information.
Screen overview. Use this screen to load the source images for your panorama. To add or remove images
to your project use the 'add' and 'remove' buttons (PTAssembler can display JPEG, BMP and TIFF files).
You can also drag-and-drop image or project files onto this screen.
The 'up' and 'down' buttons change
the order in which the images are displayed. The 'preview' button will display the
selected image using your system's default viewer for the file type. (An exception
is if you have explicitly configured PTAssembler to use an external previewer
application, configured on the preferences screen,
then PTAssembler will attempt to launch the image in your previewer application.)
Double-clicking on the image will also cause PTAssembler to display the image
preview. The 'Control Point' button
will launch the (two) selected images in the viewer windows
on Step 3 where you can set control points.
The table on this screen displays information about the images in your
project such as yaw, pitch and roll. If you have chosen to work with 'unlinked'
parameters (on the Step 2 screen) you will see
additional columns, one for each unlinked parameter. The table also contains a column titled "CP Info". This
displays information about the control points that have been assigned for
each image. For example, this column might contain a value such as
"7: 5(i2), 2(i4)". The following table explains how to interpret
||7: 5(i2), 2(i4)
||The total number of control points assigned on this image
||5 control points are shared with image number 2
||2 control points are shared with image number 4
At the bottom of this screen are fields where you can enter and/or modify
image parameters such as yaw, pitch and roll. The stitching engine needs to know the
Yaw, Pitch and Roll (describing the orientation of the camera) for each image before
it can stitch them together.
All Yaw, Pitch and Roll values are measured in degrees. Loosely
speaking, Yaw measures the camera's left/right position, Pitch measures the camera's up/down position,
and Roll measures the degree to which the horizon is tilted. It is these parameters
that allow the stitcher to correctly position the images in the final output.
In the unlikely event that you know the Yaw, Pitch and Roll values for your images, you can manually
fill in these fields and click the 'update selected' button. If you don't know the these values, they
can be very accurately estimated later using the optimizer.
If you have installed Autopano or Autopano-SIFT, and
configured the location of these program(s) on the preferences screen,
you can use the "Autopano Selected" button to run
Autopano or Autopano-SIFT and create control points (visible on the Step 3
screen) for the selected images.
Right-clicking on the image list will bring up a menu with a number of
choices. Many of these choices duplicate the functions of the buttons on this
screen, but the following items are not accesible via a button:
Stack IDs. Images can be assigned a "Stack ID" using the right-click menu on this screen.
The "Stack ID" is used by the stacking program, which combines all images with
the same Stack ID into a single image. See the Processing/Workflow
section for more details. To access stacking options, select (i.e. highlight) two or
more images in the list, and right-click to bring up a menu. Select
the "Stack" menu item to display additional menu items related to stacking. Images
can be assigned to a new group or removed from an existing group. PTAssembler
can assign Stack IDs automatically to all selected images by examining the
position of each ("Auto-Detect Stacking Groups"). If PTAssembler encounters images that
are positioned in the same location (or very close to the same location) then PTAssembler
assumes that they ought to be part of a "stack", and assigns them the same Stack ID. Note
that PTAssembler's ability to assign images to stacks depends on the yaw, pitch
and roll values for those images. Until values for yaw, pitch and roll have
been assigned, or the project has been optimized, these parameters all have
a value of zero, and PTAssembler will assume that all images belong to the
same stack. Because of this, the option to auto-detect stacking groups should
only be used after the project has been optimized, and/or values for yaw, pitch
and roll have been assigned. Stack IDs can be changed/modified/updated an
unlimited number of times after they have been assigned.
Interpolating position parameters. In some cases,
the images in your project may not have enough detail (e.g. featureless blue sky)
for you (or a control point picker plugin program) to assign control points. In this
case you can use PTAssembler's interpolation feature to automatically estimate the
correct position (yaw, pitch and roll) parameters based on the position of other images
in the project for which the position can be determined by the optimizer.
With three or more images selected you can choose to interpolate
yaw and/or pitch and/or roll parameters for selected images. Right-click on
the image list and select the "Interpolate Yaw, Pitch
and Roll Between Images" menu option to activate this
feature. This works best when the images were captured using a consistent (or roughly consistent) method
so that the differences in yaw, pitch and roll between images are similar.
For example, if you capture a sequence of 7 images from left to right and image #3 contains no
control points, but is in between image #2 and #4, then you can use this
feature to interpolate the yaw value for image #3. Yaw, pitch and/or roll values
can be interpolated for multiple images simultaneously, and there are two
different interpolation methods. The first method ("Interpolate between first
and last selected") will interpolate values for all images selected except
for the first and last selected images. The second method ("Interpolate all
images without control points") will only create values for images that
do not contain any control points. PTAssembler uses the first and last images selected
that contain control points as the values between which to interpolate. Note
that using this setting the images to be interpolated need not be in between the
images that contain control points.
Interpolating values from neighboring images is a last-resort solution for
determining yaw, pitch and roll for the images in a project. If contol
points can be identified then this is preferable. However, for projects where
this isn't possible, using the interpolation feature can often help estimate
yaw, pitch and roll for images that would otherwise be difficult to position.
Apply parameters from another project. This is same
feature as described in the Tools menu.
Key Concept. Two fields on this
screen are crucial: Lens Type, and Horizontal FOV ("field of view"). Unless you used a fisheye lens,
lens type is almost certainly "rectilinear", and most modern cameras produce images
with enough data to allow PTAssembler to compute the correct horizontal FOV by
clicking the blue "Calculate using image EXIF data..." button
This screen contains several fields that describe your camera lens ('Lens Parameters'), as
well as several options that control the final panorama. Brief descriptions of all controls
on this screen are as follows:
- Lens Parameter Presets. These buttons enable you to load
or save the lens settings on this screen as a 'preset'. For more information, see the
Lens Presets Screen.
- Global Settings.
- Lens Type. Choose the type of lens that your camera
uses. If in doubt, choose 'rectilinear'.
- Panorama Projection. This determines the
projection used by the final panorama. If in doubt, cylindrical or rectilinear
projection are usually best.
- Interpolator Quality. To create a stitched image, the stitching engine
must remap the images so that they line up correctly. During this remapping, one of
several different interpolators can be employed. Using a higher quality
interpolator produces better results but takes longer. The available interpolators
vary between stitching programs (e.g. PTAStitcher vs PTMender), but they
are listed in approximate order of quality with the highest quality (and slowest) interpolators towards the
bottom of the list. In general, even the low quality interpolators produce very good
results. Rapidly diminishing marginal quality improvements set in very quickly after the first couple of
options on this list, so there is usually no need to employ the highest quality, slowest interpolators.
- Ignore Pixels. You can instruct the stitching engine to ignore a
border around your images by entering values here.
- Lens Parameters. By default, all lens parameters are 'linked'. This means that all images in your
project have the same lens parameter values. In some cases, however, you may wish to 'unlink' the parameters
so that different images can have different values. If parameters are 'unlinked', you may enter their values
on the Step 1 screen and optimize their values on the Step 4 screen. (You
may also link parameter values for groups of images using the Step 4 screen.)
- Distortion (a,b,c). These values describe the distortion in your lens.
Very few lenses are perfect, and most produce images with some (usually slight) distortion, usually
visible as a slight curvature along straight edges. You can estimate appropriate values for these
parameters using the optimizer. (The b parameter is red because it is usually
the most important...it is often the case that a lens' distortion can be completely described using
the b parameter only).
- Horizontal and vertical shift (d,e). These values specify the
horizontal and vertical offset of the camera/lens measured in pixels. You can estimate
appropriate values for these parameters using the optimizer. For most
images, these values are usually zero.
- Horizontal and vertical shear (g,t). These values are useful for
images created with slide and transparency scanners
where there is some slight misalignment of the scanner relative to the film resulting in this type of distortion.
You can estimate appropriate values for these parameters using the optimizer.
For most other images, these values are usually zero.
- Lens Field of View/Focal Length. The optimizer and stitching engine need to know the horizontal
(i.e. left-to-right) field-of-view (angular coverage) of your lens. This is the only parameter on this
screen that must be entered (hence it is marked in red). Note that the lens field of view changes
depending on whether the image was taken in portrait or landscape orientation. If you know or can compute this
value, you should enter it here. If you don't know the field-of-view for your lens, PTAssembler can help you
compute it using information about the lens' focal length as follows:
It is important to note that the method and information you used to compute the lens field of view information
is irrelevant for the optimizer and stitching engine. The optimizer and stitching engine only use
the field of view information computed or entered on this screen, and not the focal length or multiplier figures.
- Actual Focal Length. If you do not know the field-of-view, you can enter
the lens' focal length instead, and PTAssembler will compute the field-of-view for you. Note that PTAssembler
has to take into account the width/height of your image in order to compute a field of view from the
focal length. The values that PTAssembler assumes for the width and height are calculated by examining
the first image in the project, and are displayed in light gray text just above the 'Horizontal FOV' box.
- Multiplier. If you are not using a 35mm film camera or a "full-frame"
digital SLR camera, then you will need to enter a multiplier value (other than the default value of 1) in
order to convert the actual focal length of your camera to its '35mm equivalent value'. The actual focal
length is usually marked on the camera's lens. Many consumer-level digital cameras, for example, have
very short focal lengths. For example, a typical 3x zoom consumer digital camera might have an
actual focal length of about 7-21mm. However, because of the small (relative to the size of a 35mm film negative)
sensors in consumer level digital cameras, their short focal length lenses give the same
field of view (angular coverage) as longer focal length lenses attached to a 35mm camera.
For example, if the 7-21mm digital camera lens gives the same field-of-view as a 35-105mm lens on a 35mm camera,
then the the appropriate multiplier is 5 (7-21mm multiplied by 5 equals 35-105mm). Most manufacturers report
either the focal length multiplier or 35mm equivalent focal length for the digital cameras they make.
In some cases, PTAssembler can calculate this value automatically, if your camera includes
enough information in the EXIF data it records (see below....some do, some don't).
- EXIF Data. Most digital camera images store EXIF data inside the
images they produce. This data often records information about focal length, and sometimes
records enough information so that PTAssembler can determine the appropriate multiplier. If your
images contain EXIF data, you will see a button called "Calculate using image EXIF data".
Clicking this button causes PTAssembler to extract focal length and/or multiplier information
from your image and compute the horizontal field of view. See also the "misc" tab of the preferences screen
for more information about how to enter a default multiplier value to be used if the EXIF data in your
images do not contain multiplier information.
- (PTStitcher only) Color/Brightness Correction. If the color and/or
brightness of your source images vary, you can use this feature to correct the images
when stitching. You must choose one 'reference image' in which the color/brightness
is not changed. You can choose either the reference image that is set on
Step 3 or a specific image number (images are numbered
starting at 1). Note that this feature of Panorama Tools may not work correctly
for all images. In some cases it can produce areas of incorrect color. It is
recommended that you always use the same exposure (aperture, shutter speed, ISO setting)
and whitebalance when capturing images for the most consistent results. Normally, no
color or brightness adjustment is needed if the exposure and whitebalance settings
are kept constant for all exposures. Note: PTStitcher supports color/brightness
correction, but PTMender does not.
- (PTStitcher only) Morph-to-fit options. Use this feature to access Panorama Tools' morph-to-fit capability.
In addition to morphing all control points, you can also choose to morph selected control points (that are selected on
the Step 4 screen).
Key Concept. This screen allows for the
creation/editing of control points. These control points are used by the optimizer
to determine how the images in the project should be aligned. you can add control
points manually or automatically (by invoking one of the control point picker plugins).
This screen allows you to create 'control points' on your images. Because these
control points are used by the optimizer to determine how your images should be aligned,
the more careful and precise you are, the better your final results will be.
Any feature (e.g. a brick, tree, leaf, door handle, etc.) that appears in both images
(i.e. in the overlap region) can be used as a control point. You should try to select
about 5-8 control points for each pair of adjacent images. Selecting more than
this amount probably won't produce better results. In fact, it will slow the
rate at which the optimizer works and make it more difficult to detect misplaced
Clicking once in one of the viewers sets a temporary marker and a small magnified
"zoom" window appears to indicate precisely where you clicked. Clicking in the other
viewer window completes the creation of the control point. If selected on
the preferences screen, the cursor will automatically
move into the other viewer after the temporary marker has been placed, if
PTAssembler can make a reasonable guess as to the approximate location of the
matching control point. (PTAssembler needs one control point to have already
been set for an image pair in order for this feature to work).
The images can be scrolled using the scroll bars or the middle wheel of the
mouse (if available). Hold the mouse over the image you want to scroll, and move
the mouse wheel. By default, the mousewheel scrolls images vertically when
the images viewers are displayed side-by-side, and horizontally when the
image viewers are displayed top-to-bottom (See keyboard shortcut "T" in this
section), but the scroll direction can be
toggled by clicking the middle mouse button (typically the same as clicking
the scroll wheel). Holding the shift key down while scrolling will cause
both images to scroll at the same time.
Clicking on the numbered tabs at the top of the screen loads the corresponding
images into the viewer windows. If more than 250 images are added to the project,
"next" and/or "prev" tabs will be displayed to navigate to higher and/or lower
numbered images in the project. The numbered tabs also indicate other images
that share control points with the currently loaded image (denoted by an asterisk)
and the number of shared control points between images (indicated by a number in parentheses).
The viewer windows display any control points that have been added to the
project. (The shape and size of the control point indicators can be changed on the
preferences screen). The following indicators may also
be displayed next to the control point:
- Control point number/optimizer distance. A number that
identifies the control point is displayed to the right and below the control point.
The optimized distance (if calculated) is displayed in parentheses.
- Control point alignment. The control point
alignment (e.g. horizontal, vertical or line) is displayed to the right and
above the control point.
- Morph-to-fit code. If the project is using morph-to-fit for
selected control points (See Step 2 screen), and this control point has
been selected for morphing, a small 'M' is displayed above and to the left of the control point.
- Micro-position distance. If PTAssembler has "micro-positioned"
(See preferences) the control point, the amount that it has been adjusted
is displayed next to the control point.
Clicking on the image viewers does the following:
- Left Click. Left clicking in one viewer will place a small
circle on the image to indicate where the mouse was clicked. Left clicking in the other
viewer will then cause a control point to be added to the project.
- Left Click and drag. Holding the left mouse button down while
dragging will cause a temporary line to be drawn on the image. Doing the same in the other
viewer will draw a similar temporary line. When the mouse button is released, the two lines
are converted into control points at regular distances (specified on the
preferences screen). This is a quick way of adding several
control points to a project without repeated clicking.
- Alt Key and Left Click. Clicking the mouse while holding the alt
key down will magnify the images displayed in the viewer windows (up to a maximum magnification
of 100%), recenter the images around the clicked point, and place the mouse cursor over the
- Ctrl key and Left Click. Clicking the mouse while holding the ctrl
key down will reduce the magnification of the images displayed in the viewer windows
(down to a minimum of 1% magnification), recenter the images around the clicked point, and
place the mouse cursor over the clicked point.
- Right Click on a control point. This displays a popup menu
with options to delete, move, micro-position (See preferences), or
change the alignment of a control point. There are
also options to specify whether the control point is to be used for the morph-to-fit feature
(see the Step 2 screen), and/or whether it should be used by the optimizer
(See the Step 4 screen).
- Right Click in an empty region. This displays a popup menu with
several screen options (e.g. load next two images, maximize viewer area, swap images, toggle
splitter orientation, etc.).
- Right Click and drag. Holding the right mouse button down while
dragging will cause a temporary rectangle to be drawn on the viewer window. When the mouse
button is released, any control points that fall inside the rectangle are deleted.
- Middle Click. Toggles the direction that the mouse scroll wheel
controls when scrolling images in viewers.
Holding the shift key down while scrolling either of the two viewers (using the vertical or horizontal
scroll bars) will cause the opposite viewer to scroll in the same direction. Holding the control and
shift key down while scrolling will also cause both viewer windows to scroll together, but will also
reset the relative positions of the two viewer windows.
Beneath the left image viewer is table that displays information about all the control points
added to the currently displayed images. Clicking on a column header will sort the table.
Clicking on a row in the table will scroll the images in the viewer windows to bring the
control point into display, and the control marker is temporarily highlighted.
Note: To display information about all control points in the project, use the
Control Point Information Screen, by clicking on the Show
all Control Points menu item.
A zoom window (that shows an enlarged portion of the image directly underneath
the mouse cursor) is displayed beneath the right image viewer.
(An option to 'undock' the zoom window can be found on
the preferences screen).
Control Point Settings are displayed at the bottom of the screen, and can be used to remove a control point
or set the alignment code for newly added control points.
There are several keyboard controls available on this screen, some of which
can also be accessed using the "Windows Control" buttons at the bottom
of this screen.
- P Increments the images shown in both viewers by one. (Keyboard shortcut: p)
- N Decrements the images shown in both viewers by one. (Keyboard shortcut: n)
- T Toggles the orientation of the splitter bar between vertical and horizontal. (Keyboard shortcut: t)
- F Maximizes the size of the viewer windows, temporarily hiding all other controls on screen. (Keyboard shortcut: f)
- L Increases the brightness/contrast of the image in the zoom window. (Keyboard shortcut: l)
- D Decreases the brightness/contrast of the image in the zoom window. (Keyboard shortcut: d)
- B Tries to reposition the images inside the viewer windows to show control points. (Keyboard shortcut: b)
- S Swaps the left and right images. (Keyboard shortcut: s)
- A Runs Autopano or Autopano-SIFT (see plugins tab of preferences screen) and creates control points for currently visible images. (Keyboard shortcut: a)
- M Micro-positions (See preferences) all control points on currently displayed images (Keyboard shortcut: m)
- H Thins control points. Limits the number of control points to the amount specified on the (See Control Point Information) screen, by removing surplus control points with highest control point distance. (Keyboard shortcut: h)
- [ Decreases the magnification of the viewer windows.
- ] Increases the magnification of the viewer windows.
- Shift [ Resizes the images to fit to viewer windows.
- Shift ] Resizes the images to 100%.
Additional keyboard controls are as follows:
- q Toggles the most recently placed control point between its original and micro-positioned location.
- Arrow keys Move cursor left/right/up/down one pixel at a time.
- Enter key Simulates a left mouse click (i.e. sets a control point).
- +/- keys Increase/decrease the zoom amount in the zoom window.
- Right Mouse keyboard button Simulates a right mouse click (i.e. displays popup menu).
- Shift and 'n' key Increments the image shown in the left viewer, and decrements the image shown in the right viewer.
- Shift and 'p' key Decrements the image shown in the left viewer, and increments the image shown in the right viewer.
Key Concept. The blue "Auto-Optimize" button
runs the optimizer several times in succession after determining the appropriate sequence of
parameters to optimize. If this does not produce satisfactory results, you can
manually select the parameters to optimize and optimize
This screen allows you to run the "optimizer". By using the control points set on
the Step 3 screen, the optimizer calculates appropriate values for
position (i.e. yaw, pitch, roll) and/or lens parameters for
your images. These values are necessary so that the stitching engine knows
how to warp and align the images to create your final stitched image.
Reference Image. By clicking on one of the red image numbers in the
'reference point' frame, you can choose a reference image. This is an image for which the yaw, pitch and
roll parameters are not optimized. It is a good idea to select a reference image because
if yaw, pitch and/or roll parameters are optimized
for every image in the project, then there is no unique "best fit" solution for these parameters. A simple
analogy may help illustrate this important concept: If you know that x+y=5 and
that x=2, then you can calculate that y=3. However, if you don't know that x=2, then
there is no way of knowing the value for y. Similarly, without a reference image (i.e. "x=2"),
the optimizer can't determine the correct value for the other images. Note that one
can manually select the images for which yaw, pitch and roll should not be optimized
by manually unchecking the desired check-boxes for yaw, pitch and roll. In this case,
it is not necessary to select a reference image. (Also, if you have added vertical and/or horizontal
line control points to the project, then these line points may give enough positioning information to the optimizer
so that yaw, pitch and/or roll may be optimized for all images. For more information
on horizontal/vertical line control points, and optimizing manually,
please consult the links in the Links and more reading section below.)
Reference Point. Once you have selected a reference
image, you may also select a reference point. Clicking the 'Set Reference Point'
button will show the reference image in the Reference Point
Picker Screen and enable you to choose a reference point. The reference
point is useful for determining the exact positioning of the panorama. The reference point
becomes the center point (before any cropping is performed) of the final output image. It is not
necessary to select a reference point, however, because one can also adjust the
position of the panorama using the preview screen after the project has been optimized.
"Use Control Points From" checkboxes. Use this checkboxes
to control which images are used when
running the optimizer. By default, all checkboxes are checked. However, if an image is unchecked,
any control points that use this image are not used when the optimizer is run.
Lens Parameters checkboxes. Use this box to determine which lens parameters should
be estimated by the optimizer. The current value for a parameter is displayed in parentheses. If any of
the lens parameters are unlinked (See Step 2 screen), individual lens parameter lists
are displayed (one list for each unlinked parameter) on the
right half of this screen where you can select the individual images
for which these parameters are optimized.
Yaw, Pitch, Roll checkboxes. Use these boxes to select the images for
which the yaw, pitch and roll parameters should be estimated by the optimizer. If checked, the optimizer will estimate the parameter
value. The 'all' and 'none' buttons quickly check or uncheck all images in a box. The 'Eq' (equalize) button will adjust
all the parameter values so that they are centered around 0 (useful for quickly correcting an image that is off-center).
The Reset button will reset all parameter values to zero except for the value for the reference image (if a
reference image has been selected).
Right Click Options
Right clicking on one or more entries in the lens parameter or yaw, pitch and roll list boxes
will bring up a menu that allows you perform several addition functions:
- Check/Uncheck. These menu items allow you to check
or uncheck the boxes for the selected parameter(s). If you want to check or uncheck
multiple values, it is quicker to use the menu, than check/uncheck each box individually.
- Modify Values... This menu item allows access to a
dialog that allows you to modify the values for the selected parameter(s).
A new value can be specified that can either (1) replace the existing value or (2) be added to the existing
value. The second option is useful for modifying the value of multiple images by
the same amount (e.g. shifting the pitch for all images by 2 degrees or moving all images
in the project by 3 degrees to the left). Note that parameter values can also be modified using
the Step 2 screen, but may be more convenient for some users on this screen.
- Link/Unlink... This menu item allows access to a dialog
that allows you to "link" the parameter value of one or more ("target")
images to another ("source") image during optimization. Yaw, Pitch and Roll parameters
for individual images can be linked to another image. Similarly, lens parameters
(e.g. a, b, c, FOV, etc.) for individual images can be linked another image, as long as
these parameters are first "unlinked" on the Step 2 screen.
you could link the FOV ("Field of View") parameter for images 2 and 3 to image 1,
and link the FOV for images 5 and 6 to image 4. During optimization
the FOV for images 2 and 3 would be assigned the same value as the FOV for image 1 and the
values for images 5 and 6 would be assigned the same value as the FOV for image 4.
In this example image 1 is called the "source" image, and image 2 and 3 are called the "target" images. Similarly,
image 4 is the "source" image for images 5 and 6 ("target" images).
This feature is useful if some images in the project were taken with one setting (e.g. focal length/FOV),
and another set of images were taken with another lens settings (e.g. focal length/FOV).
If an image is linked to another, then the
number of the source image to which the target image is linked is displayed
next to the target image in square brackets. For example, this text indicates
that image 2 (taget image) currently has a value of 50.0, but linked
to image 1 (source image), so that whenever the project is optimized,
the parameter value for image 2 will be set equal to the optimized value for image 1.
Img2 (50.0) [=1]
Show Script button. Clicking this button will show the script that PTAssembler creates
and sends to the optimizer. You can manually edit this before clicking the optimize button if you wish.
Configure Optimizer button. This button brings up a dialog where
several optimizer settings can be configured. These options are described in detail here.
(Not present when using PTOptimizer).
Manual Optimize button. Clicking this button will run the
optimizer, and display the results. You will be prompted to
accept or reject the optimized values created by the optimizer. See the
Links and More Reading for information on how to optimize
manually. Although it is usually easier to use the "Auto-optimize" button
(see below), manually optimizing using the "optimize" button allows
more control over the optimized result. This is the most reliable way to achieve
the desired results.
Auto-Optimize button. Optimizing variables is often best
done in steps...optimize some variables, accept the results and
then optimize again using a different (usually larger) combination of variables and images.
PTAssembler's 'Auto-optimizer' automates this multiple-step process by running the optimizer
several times in rapid succession. The Auto-optimizer also takes care of deciding the order
in which parameters and images are optimized. In most cases, the auto-optimizer will generate the
correct results, although in some cases you may wish to optimize manually (i.e. selecting parameters and
clicking the optimize button). See above for instructions on using the manual
"Optimize" button. See the bottom of this document for links to web
resources that explain the art of optimizing in more detail. A good grasp of
the concepts behind the optimization process is helpful for making good choices
about what and when to optimize.
The "Auto-optimize" button follows a sequence of optimization steps that can be configured using
the Preferences screen. In some cases (depending on the image ordering,
lens type, and artistic intent) the steps may not be appropriate. You may want to reconfigure
the auto-optimizer using the Preferences screen, and/or
optimize manually. Please consult that section for more information about how and what
the auto-optimize feature chooses to optimize.
When the auto-optimizer has finished running, a dialog is presented that displays that the results of
the optimizer and information about how well the images can be joined together to create a final panorama/mosaic.
The dialog prompts the user to create a "preview" image (i.e. a small-scale version of the final image).
(Advanced hint: If PTAssembler is not configured to use its own internal preview viewer/editor, it
will "auto-size" the parameters on the Step 5 Screen before
creating a preview image. However, if you hold the shift key down while clicking "Yes" in this dialog,
PTAssembler will not modify any of the parameters on the Step 5 Screen before creating a preview image).
Cancel Optimize button. This button is only
visible while the optimizer is running. If pushed, the optimizer will stop
executing and return the results of its most recent iteration. (Not present
when using PTOptimizer).
Auto-Level button. The Auto-Level button tries to level
the horizon. It does this by determining the pitch for each image in the project
that minimizes the distribution of roll parameters. Using this feature will
change the vertical positioning (i.e. pitch) of the reference point.
This button can be helpful in correcting a "bowed horizon", due to incorrect
placement of the reference point. Note that this feature performs the same operation
as the the "correct pitch" button on the preview viewer/editor screen.
Note: Because this feature relies upon examining the distribution of the
roll parameter, an underlying assumption is that all images should all have the
same (or very similar) roll. Luckily, all images should have the same roll
if they were taken using a tripod with a pan head or a panoramic/spherical head.
If the images were taken hand held, then some degree of variability in the roll parameter is
normal, and this feature will probably not work as described above (unless you have an
extremely steady hand and are a very good judge of level!). So, if you didn't
use a tripod when capturing your images, this feature may not work as well...or at all.
Here is a more detailed explanation of this feature: There is usually a pattern to
the way in which yaw, pitch and roll parameters are distributed in a project. Typically, if the pitch
parameter has been incorrectly specified for the reference image, the roll parameter for each image is correlated with
its yaw position. For example, if the pitch parameter has been set too low (i.e. a reference point
is set too high), the roll parameters for images at the left of the image will be consistently
less than the roll parameters for images at the right edge of the image. If you
choose cylindrical output projection, this will also produce a "curved" horizon.
The Auto-level feature tests different pitch
values for the reference image until it settles on a pitch value that removes (or
removes as much as possible) the correlation between roll and yaw for each image.
Auto-rotate button.This feature attempts to rotate all images
and to ensure maximum usable vertical area in the final image. This is similar to the
auto-level feature, but rather than adjusting the pitch for each image, this adjusts the
roll for each image. It is useful for projects where the camera might not have
been level when rotating left/right and the images appear to slope up/down when moving
from left to right.
This feature analyzes the pitch for each image in a project and then calculates what
adjustment to the roll parameter for all images would ensure the maximum usable vertical area.
Usable vertical area is defined as area that is not empty due to a missing image, or region
into which no input image can be mapped. Note that because this feature relies
upon differences in the pitch parameter for each image
to compute the appropriate roll adjustment, it will not work if all values for pitch are still
at their default value of zero. Note that this feature performs the same operation
as the the "correct roll" button on the preview viewer/editor screen.
Shutdown checkbox. If the 'Shutdown computer
after auto-optimizer finishes' box is checked, PTAssembler will attempt to shut down and poweroff
the computer when the optimizer has finished processing. (This feature
may not work on some older computers that lack the ability to be shutdown
from a software command.)
Key Concept. The blue "Preview" button
creates a small scale preview of the final project (without blending/stacking) where the project
can be adjusted before creating a final full-size output using the blue "Create" button.
The appearance and behavior of some features on this screen changes slightly depending on whether
PTAssembler is configured (via the preferences screen) to use its own
internal preview viewer/editor or an external preview application.
If PTAssembler is configured to use an external preview application, values for
horizontal field of view, preview width and preview height must be specified on this screen before a
preview is created. These can be specified manually by entering
values into the appropriate boxes, or PTAssembler can
populate these fields with reasonable values if the "Auto Size Parameters"
button is clicked. When the preview button is pressed, PTAssembler instructs
stitching engine to create a small-scale JPEG version of the project,
and immediately launches it using the preview viewer. No adjustments or
changes to the project can be made via an external preview
application, so it is recommended to use the internal preview viewer/editor for most
If PTAssembler is configured to use its own
internal preview viewer/editor, then there are no entry boxes for preview width
and preview height (these are computed automatically by PTAssembler).
By default, when using the internal preview viewer, the value selected in the
horizontal FOV box is ignored, and automatically
adjusted to a value just large enough to encompass all input images. However, if the shift key is depressed
while the preview button is clicked, then PTAssembler will not adjust the FOV.
Rather, PTAssembler will use the value in the FOV box unless
it is mathematically impossible (e.g. a rectilinear panorama with a field of
view greater than 180 degrees), in which case PTAssembler will recalculate
an appropriate FOV value.
Creating a preview image is not strictly necessary, but is extremely useful
for checking your image before producing a full sized image (which may take
several minutes depending on the size of the project and the speed of your
computer). In addition, using PTAssembler's
internal preview viewer/editor allows you to adjust the positioning, field of view
and projection of the project, seeing the results of these adjustments immediately.
Note that the preview only performs the stitching/remapping process of the
processing workflow, and does not perform any other
processes such as pre-processing, blending, stacking, etc. This enables
PTAssembler to generate a preview as quickly as possible, but may result
in some seams being visible in the preview that will not be visible in the
final image. Similarly, the preview step does not use morph-to-fit
(see Step 2 screen).
When creating a final (full-size) image, values for width and height of the final image must be
specified, and the horizontal field of view for the output image must be specified. The
Auto-Size Parameters button can be used to populate these fields with values.
However, if PTAssembler's internal preview viewer/editor is used, then these values
will be automatically populated by the internal preview viewer/editor when it
In short, if you are using PTAssembler's internal preview viewer/editor
screen to create a preview, then you should not need to adjust the
width, height or FOV fields on this screen under normal circumstances.
Select Images... Shows a dialog where you can choose to
include/exclude any combination of images from the final stitched image. Any images that
are excluded on this screen remain part of the PTAssembler project file, but are
excluded from any stitching. By default, all images in the project are included.
Auto-Size Parameters. The 'Auto Size Parameters'
button fills in the 'width', 'height' and 'Horizontal FOV'
boxes with appropriate values that are computed based on the images in your project. These
are 'best-guess' values, but may need to be manually adjusted depending on your desired
Panorama Parameters: Horizontal FOV. The 'Horizontal FOV' box allows you to specify
the horizontal field-of-view (i.e. left-to-right angular coverage) for the final image.
If set too large, your final image will have extra empty 'black-space' at the edges. If set too
small, your final image will be cropped at the left and right edges. You can use the 'Auto Size Parameters'
button to have PTAssembler fill in this field with an estimate. Also, see the explanation for the '+/-'
Panorama Parameters: Feather Width The 'Feather Width'
box allows you to specify the width of the blending region between images (only applicable for
some output file formats such as JPG, Multiple TIFF with masks, layered Photoshop with masks, etc.).
Width/Height. The 'Width' and 'height' boxes allow you
to specify in pixels the size of the preview and final images that should be
created by the stitching engine. You can use the 'Auto Size Parameters' button to have PTAssembler fill
in these fields with an estimate. (See note about size for
more details, and some qualifications).
+/-. The '+' and '-' buttons allow you to increase or
decrease the width and height values for the final and preview images in small increments.
Advanced hint: If you hold the shift key down while clicking the '+' and '-' buttons, the
Horizontal FOV will also be adjusted as well as the width and height. This is useful if
you want to increase/decrease the amount of 'black-space' around the final image without
significantly affecting the size of the actual usable image. In other words, you use this
technique to adjust the 'tightness' with which the final image is cropped.
(See note about size for more details, and some qualifications)
Output File Format. The 'Output File Format' box
allows you to select the file format for the final image. The following file
formats are available when using (the default) PTAStitcher as the stitching engine
(file formats for PTStitcher/PTMender may differ):
- Multi-layer PSD w/ masks
- Multi-layer PSD no masks
- Single layer JPEG
- Single layer PSD
- Single layer TIFF
- Multiple image TIFF
- Multiple image TIFF w/ masks
- Blended, single layer TIFF
- Single layer PSB
- Multi-layer PSB w/ masks
- Multi-layer PSB no masks
All of the "Single layer" formats (JPG, PSD, PSB, TIFF) produce images where a
fast rudimentary seam blending between adjacent images has been performed by the stitching engine.
The "Multi-layer" formats (PSD and PSB) produce a single image with
multiple layers...one layer for each input image. These formats can be opened in Photoshop, and allow the user
to manually blend the layers to create a final flattened output. PSB can handle
files larger than 2GB in size, while PSD cannot (although PSB is only compatible
with newer versions of Photoshop). The options "with masks", add a mask channel
to each image layer where black space around the image data is masked.
The "Multiple image" TIFF formats are similar to the "Multi-layer" formats,
except that the individual layers are output as individual files...one output file for
each input file. These files can be used as input to automated blending programs (e.g.
or imported into other editing programs (e.g.
the GIMP) where the layers
can be manually blended. The "Multiple image" formats also allows for the
process to be executed, because the stacking programs
require multiple images as input.
For best results, the "Blended, single layer TIFF" format is recommended.
When this option is chosen, multiple TIFF files are produced by
the stitching/remapping process, and PTAssembler then invokes Enblend or
Smartblend with the images produced by the stitching/remapping process. See the
section on Workflow for more details. Using Blended
TIFF output also allows for the use of the stacking and cropping
processes, if desired.
Preview/Create. Clicking the 'Preview' and 'create'
buttons will cause Panorama Tools to make a preview or final image. (Holding the
shift key while pressing preview will prevent PTAssembler from trying to adjust
the FOV, width and height based on the current input image sizes/positions, and
PTAssembler will use whatever is currently entered on this screen.)
Show/Edit Script. Clicking the 'Show/Edit Script'
buttons allows you to view and/or modify the script created by PTAssembler before
it is used by Panorama Tools. If you want to edit the script before
launching the stitcher program, do no hide the script before clicking the
"Create" or "Preview" button, otherwise PTAssembler
will overwrite any changes you might have made with a newly generated script.
Show Processing Options... Shows the
Processing Options screen where
processing can be configured.
Shutdown. If the 'Shutdown computer
when complete' box is checked, PTAssembler will attempt to shut down and poweroff
the computer when the project has finished processing. (This feature
may not work on some older computers that lack the ability to be shutdown
from a software command.)
Processing options screen.
Note: Please consult the section on workflow for
background information and concepts important to the understanding of this screen.
Pre-Processing. If checked, PTAssembler will
run the selected pre-processing command on each image in the project before
starting the stitching process. Click
the configure button to open the preferences screen
where the pre-processing program and its options can be configured.
Pre-processing never overwrites
the original images, but rather creates temporary files which are used by
the stitching process, and deleted once the project has finished executing.
Stitching / Image Remapping. Use this frame to
select the format of the image files output by the stitching program. Click the
configure button to open the preferences screen
where the stitching program can be specified. The output format can also
be configured on this screen. File formats are described in detail as
part of the Step 5 screen. The output bit depth options
allow you can choose the preferred output bit depth. If "Auto" is specified
then PTAssembler will match the output bit depth to the input bit depth. If a
project contains images with multiple bit depths (i.e. some images are 8 bit, while
others are 16 bit) then PTAssembler will use the higher value. Note, however, that
while some formats can support 16 bit output (e.g. TIFF, PSD, PSB), other formats
cannot (e.g. JPEG). In the bottom right corner of this frame, the currently selected interpolator
(see step 2) is displayed in light grey text. If
anti-aliasing (see preferences) is enabled,
this is denoted with the letters "aa" in parentheses.
Post-Processing. If checked, PTAssembler
will launch a user-defined process when the stitching engine has finished processing. The
process is configured using the "configure" button. If you are producing
blended TIFF output, then whatever post processing you perform must overwrite
the files that the stitcher has created because
PTAssembler is not be able to determine if your post processing has created
new files with different names, and would not be able to use those when launching the
The process can be any executable program and PTAssembler allows the
substitution of variables such as the project width/height and output filename
into the command that is executed. For example, if you
want to launch the image output by the stitcher in Internet Explorer when the
stitcher has finished running, you could use a command like this (modify as needed):
"C:\Program Files\Internet Explorer\iexplore.exe" %f
More complex post-processing can be achieved using command-line image editing
programs such as Image Magick.
Stacking. If selected, PTAssembler will launch
the stacking program to create single images from each "stack" of images. PTAssembler
offers two methods for working with stacks of images:
- Stack Images that are part of defined stacking groups.
PTAssembler will stack only those images that are part of defined stacking groups
(i.e. they have the same Stack ID on the Step 1 Screen).
Images with the same Stack ID are then stacked
into a single image using the stacking program.
- Stack Images that appear to be related based on position.
PTAssembler will assign Stack IDs automatically by examining the position of each
image in the project. If the images are positioned in the same location (or
very close to the same location) then they are assumed to be part of a "stack",
and are assigned the same Stack ID. Images with the same Stack ID are then stacked
into a single image using the stacking program.
Blending. If selected, PTAssembler will invoke
a blending program (e.g. Enblend, Smartblend) to blend images into one composite
after the remapping process (performed by PTAStitcher) is complete. The blending program
is used to hide any evidence of a seam between adjacent images that might result
from less-than-perfect image alignment, lighting shifts, etc.
cropping. If selected, PTAssembler will crop the
image output by the blending program to remove any extra "black-space" from around
the edge of the image. Note that this option is also configurable via the
preferences screen. See A Note About Output Size for more
information about cropping.
Preview image. Reference point lies at intersection of red/blue lines
The preview viewer/editor screen allows you to view a small-scale preview of
your project before creating a final image. This screen also allows you to
make a number of adjustments to the project and see the effects of these changes
immediately. The operation of this screen is similar to the
Reference Point Picker Screen, although this screen
allows you to view the entire project, rather than a single image.
The preview viewer always displays the image so that the reference point of
the project is at the intersection of the red and blue lines drawn on the screen.
The reference point is always at the exact location where yaw and pitch both
equal zero in the final image.
To reset the reference point (and move the panorama), left-click anwhere in the screen.
The reference point will be moved to the location where you
clicked and the image will be redrawn. For example, if you click below the red line
(the "horizon line", where pitch=0), the point where you clicked will become
the new reference point, and the preview image will appear to shift
upwards on the screen. Clicking to the right of blue line (the "meridian line")
will move the reference point to the right, and shift the image towards
the left side of the screen as a result of the repositioned
reference point. It is also possible to position the reference point outside of
the preview image (by clicking in the black space area outside the image). This
can be useful if all of the images in the project were taken with the camera
pointing above or below the horizon, so that the horizon doesn't appear
in the final image.
To rotate the image, move the cursor so that it is positioned over the
blue line. (It is easier if you position the cursor at some distance from the
intersection of the blue and red lines, rather than close to the intersection). Next,
while keeping the right mouse button pressed, move the mouse to rotate the
red and blue lines. Release the right mouse button once you have finished rotating
the red and blue lines and the image will be redrawn so that the horizon line
(i.e. where pitch=0) lies along the red line.
You can also use this screen to add horizontal and vertical line control
points to the project. Left click and (while holding the mouse button
depressed) move the cursor to add a vertical line control point. Holding
the shift key down while left clicking and moving the mouse will add a horizontal
line control point. These types of "line" control points can be used by the optimizer
to "straighten" the panorama (e.g. ensuring that vertical lines in a building
are rendered as vertical in the output, or that the horizon where the sea
meets the sky really is horizontal). After adding these types of control
points you should rerun the optimizer (either by clicking the "Re-Optimize" button
or by using the optimizer/Step 4 screen).
It is important to note that stitcher always outputs a final image
that has the same amount of space above and below the red "horizon line"
horizon and the same amount of space to the left and right of the
blue "meridian line". Because of this, some empty black space
may be visible at the edges of the image, although this can be easily removed
in an image editor once the final image has been created, and/or can be
automatically removed by PTAssembler using
the option to crop black space on the behavior tab of
the preferences screen.
The screen also contains the following controls:
- Horizontal and Vertical Field of View. These
boxes display the current field of view of the image. To adjust the field
of view for the image, enter a new number in one or both of these boxes
and click the "Update Preview" button to redraw the image. Note that
PTAssembler will adjust your choices for horizontal and/or vertical
field of view if they are invalid for the currently selected projection.
For example, it is a mathematical impossibility to create an image with
a horizontal field of view of 180 degrees or larger when using rectilinear
projection, so PTAssembler will reduce any value of 180 or larger to less
than 180 in this case.
- Autosize FOV. This button calculates the
optimal horizontal and vertical field of view for the project so that
none of the pixels from the input images lie outside the border of the
final image. (Note that the optimal FOV for the project will differ,
depending on which projection is selected. Also, note that you can
adjust the values selected by this button by entering different values in
the horizontal and vertical field of view boxes.) Once the new FOV values
are calculated, PTAssembler redraws the preview image.
- Numerical Transform. These boxes
allow you to reposition the panorama by adjusting the yaw, pitch and/or roll
of the project. Note that the same results can be achieved by clicking in
the image and/or rotating the blue line in the image. These boxes are provided
for those users who find it more convenient to enter numbers directly, rather
than using the viewer screen.
- Projection. This drop down box allows
you to choose an alternate projection for the image. Once you have selected
the desired projection, use the "Update Preview" button to redraw
the image using the new projection.
- Display Yaw/Pitch. This checkbox enables the
display of a grid that shows lines of yaw and pitch (i.e. latitude and
longitude) spaced 10 degrees apart. This can be useful to help in understanding how
different projections affect the appearance of the final image.
- Display Control Points. This checkbox enables
the display of the project's control points on the preview, allowing you to
quickly see the location of all the control points in the project. The
control points are color coded to indicate the optimized control point distance
(a measure of how well the images can be aligned at each point) as follows:
- Blue: optimized distance of no more than 1 pixel
- Blue-Green mix: optimized distance of 1-3 pixels
- Green: optimized distance of 3 pixels
- Green-Yellow mix: optimized distance of 3-5 pixels
- Yellow: optimized distance of 5 pixels
- Yellow-Red mix: optimized distance of 5-7 pixels
- Red: optimized distance of at least 7 pixels
Vertical, horizontal and straight line control points are drawn as lines on
the screen. Vertical control points are orange, horizontal control points
are blue, and straight line control points use a variety of different colors.
Control points that are part of a stacking group are displayed as square,
while all other control points are displayed as circular. Holding the shift
key down while clicking this checkbox will force PTAssembler to display
only those control points that are part of a stacking group. Holding the
control key down while clicking this checkbox will force PTAssembler to display
all control points that are not part of a stacking group.
- Re-Draw. This button causes
PTAssembler to redraw the preview image using the settings (i.e. FOV,
numerical transform, projection) currently selected on the screen.
- Undo. This button reverts the image
to the most recent previous preview image. PTAssembler remembers the
complete history of all previews, so this button can be clicked repeatedly.
- Re-Optimize. This button causes
PTAssembler to run the optimizer and redraw the preview after the optimizer has
finished. This is useful if you have added some vertical and/or vertical
line control points to the project, and wish to rerun the optimizer without
leaving the preview screen. Note, however, that when the optimizer is run
from the preview screen, PTAssembler makes a "best guess" decision about
which position parameters (yaw, pitch, roll) should be optimized for which images,
based on the type and distribution of control points as well as the currently
selected projection and FOV. In most cases, PTAssembler should be able
to make a reasonable decision on your behalf, but for complete
control you should run the optimizer manually via the Step 4 screen.
Becasue optimizing the project usually shifts the relative position of images
within the project, PTAssembler redraws each input image on the
screen one at a time. Also, the "undo" button is reset, so that you can
not recall previews prior to optimizing.
- Automatic Adjustments. These buttons
adjust the position of the panorama as follows:
- Correct Yaw: This button adjusts the preview so that it is
horizontally centered around the blue line. This is useful if the
image appears shifted towards the left or right.
- Correct Pitch: This button estimates the correct pitch for the
project. It performs the same function as the "Auto-Level"
button on the Optimizer Screen
- Correct Roll: This button estimates the correct roll for the
project. It performs the same function as the "Auto-Rotate"
button on the Optimizer Screen
- OK / Cancel. If you are happy with the
preview image, and any changes you have made to it using the preview
viewer/editor, then click OK. This will update the current project
with your changes, and calculate the optimal size (width and height)
for the final image on the Step 5 screen. If you want
to discard any changes made on this screen, and revert the project
back to its initial state before the preview was created, click the
The screen responds to the following keyboard buttons:
- L Shift image left by one degree
- R Shift image right by one degree
- U Shift image up by one degree
- D Shift image down by one degree
- C Rotate image clockwise by one degree
- A Rotate image anticlockwise (counterclockwise) by one degree
- V Expand vertical field of view by one degree
- H Expand horizontal field of view by one degree
- Shift V Contract vertical field of view by one degree
- Shift H Contract horizontal field of view by one degree
The status bar at the bottom of this screen has four panels (described from left to right):
- Progress bar. Shows progress of operation while drawing image.
- Control Point Info/Size. When control points are displayed on the
screen, and the cursor is positioned over a control point, this
panel shows the images to which the control point belongs, and
its optimized distance (i.e. how well the images are aligned at this point).
When control points are not displayed, this panel shows the
size of the preview image.
- X,Y Position. This panel shows the x,y position of the cursor relative to the
top left corner of the preview.
- Yaw, Pitch Position. This panel shows the yaw and pitch position of the cursor relative to the
center of the image (i.e. the reference point).
Preview image with optional display of yaw/pitch lines and control points
When control points are displayed on the screen, two additional operations
- Left-clicking on a control point while pressing the control button
deletes the control point. The control point is immediately and
permanently deleted from the project.
- Left-clicking on a control point while pressing the alt button
closes the preview viewer/editor and displays the control
point in the Control Points screen
The 'reference point' for any stitched panorama is the point in the scene that was
straight ahead at eye level when you took the images in your project. This point is
used by PTAssembler to estimate the Yaw, Pitch and Roll value for the image that
contains it (i.e. the 'reference image'). (Note: See
the preferences screen for an option that allows the reference point picker to assign the roll
value for all images simultaneously).
The reference point is the point that you would have seen when you looked straight ahead when you
were taking the images in this project. If the camera was level (i.e. not pointing up or down)
when the images were taken, the 'reference point' should be (as close as possible to) the desired
center (before cropping) of the final panorama. If the camera was pointing upwards (e.g. from street level towards
the top of a building) then the 'reference point' will be in the bottom half of the image, near
the ground floor of the building. Conversely, if the camera was pointed down (e.g. from the
top of a mountain down into a valley) to take the images, then the 'reference point' will be
near the top of the image.
An important point to grasp is that the reference point is the center point (before cropping) of
the final panorama. There will be an equal area above and
below this point in the final image, and an equal area left and right of this point
(unwanted "empty" space can be cropped away after the final image is produced). The reference
point can be changed at any time, and can also be modified using the preview screen.
The key point is that the reference point should be placed at eye-level, when looking straight ahead.
What happens if the reference point is not positioned at eye-level looking straight ahead?
PTAssembler will still produce a panorama, but you may notice that the horizon becomes "bowed"
into a frown or a smile shape. Similarly, vertical lines that should be vertical may
appear to lean, or converge towards each other. (Advanced users: If an artistic judgment
is made that this is the intended result---for example, a curved horizon or leaning buildings--then
the reference point can be placed anywhere desired.) You may
need to experiment to find the exact location of the reference point, but you can always come
back to this screen (or the preview screen) and adjust your choice later.
In order to set the reference point, click the mouse on the point where you want to set
the reference point. This will set the yaw (i.e. left/right position) and pitch (i.e. up/down
position). To set the roll, move the cursor so that it is positioned over the
blue line. (It is easier if you position the cursor at some distance from the
intersection of the blue and red lines, rather than close to the intersection). Next,
press and hold the right mouse button down and move the mouse to rotate the lines. You should
rotate the lines so that the red line is parallel to the horizon and the blue line is
parallel to any vertical features in the image. As you rotate the lines, you will
notice that the roll value displayed at the bottom of the screen will change.
The Size buttons on this screen allow you to change the size of the image, making it
easier to see the desired location for the reference point when working with large images.
The preferences screen contains multiple tabs, which are described in detail below:
- Optimizer location. Specifies the location of the optimizer.
The default optimizer is PTAStitcher, but PTAssembler is still
compatible with the older PTOptimizer program that is part of Panorama Tools.
- Stitcher location. Specifies the location of the stitcher.
The default stitcher is PTAStitcher, but PTAssembler is still
compatible with the older PTStitcher and PTMender programs that are part of Panorama Tools.
- Check for PTAStitcher... If checked, and PTOptimizer, PTStitcher and/or PTMender are
currently configured as the stitching nad/or optimizing programs, PTAssembler prompts the
user to set PTAStitcher as the optimizing/stitching program.
- Preview Viewer. Select whether to use PTAssembler's
internal preview viewer/editor or an external application.
The internal preview viewer/editor allows you to edit/adjust the preview graphically,
unlike an external preview application, which does not provide this capability.
If you select the option to use an external preview viewer application several
other fields become visible:
- Viewer Application. Specify the location for the preview viewer
You may use Internet Explorer web browser (search for iexplore.exe to locate this program
on your computer) or a standalone image viewer such
as Irfanview works even better.
- Use system default viewer application. If checked, PTAssembler will
use Windows file associations to determine and use your system's currently
configured default application for viewing images. If checked, the
choice specified for "Viewer Application" (above) is ignored.
- Temporary Directory. Location where PTAssembler creates/stores
temporary files. (Note: Auxilliary programs and plugins specify their own temporary directories).
- Temporary Script Name. Name used by PTAssembler when creating
- Store full-path file location... If checked (default value),
PTAssembler will store full path information about all images in a project (e.g.
"c:\images\Jan2003\image01.jpg"). This enables you to save the project file in any
directory, regardless of where your images are located. If unchecked, PTAssembler will store
only the file name (e.g. "image01.jpg"). The project file must be saved in the same
directory as the images. However, because the full-path information is not recorded, you can
move the image and project file to another directory without having to edit the project file
to adjust the path name for each image.
- Control Point Settings. These options determine the appearance of the
control points (and associated text) in the image viewers on the Step 3 screen.
The "Show image names on Control Point screen tabs" checkbox allows you to display the names of the
images on the tabs used to display images on the Step 3 screen.
- Screen Switching Controls. Determines the graphical controls used
by PTAssembler to switch between screens.
- Zoom window. Sets options for the zoom window that displays an enlarged
version of the image on the Step 3 screen.
- Auto size parameters FOV adjustment factor. This adjusts the estimate
for FOV produced by the 'Auto Size Parameters' button on the Step 5 Screen. The default value of 100
percent should produce reasonable estimates, but you can enlarge or reduce the values produced by
adjusting this number.
- Auto size parameters width/height adjustment factor. This adjusts the estimates produced
for width and height by the 'Auto Size Parameters' button on the Step 5 Screen. It also
adjusts the values that are populated for full-size width and height after closing the
internal preview viewer/editor. The default value of 100
percent should produce reasonable estimates, but you can enlarge or reduce the values produced by
adjusting this number.
- Program Behavior. Several options that change the behavior of the program.
- Show wizard... Displays PTAssembler's wizard which guides a new user through
the basic steps needed to create a panorama.
- Auto position viewer scrollbars... Depending on where control points are
clustered (i.e. along left/right edges or top/bottom), PTAssembler will try to determine the orientation
of your images (i.e. side-by-side, or stacked top-to-bottom), and display the images appropriately on
the Step 3 screen.
- Automatically regenerate morph-to-fit information... When using Panorama Tools'
morph-to-fit feature (see Step 2), it is crucial that the dimensions of the
final panorama (see Step 5) are not changed after the optimizer
(see Step 4) has been run. To ensure that the morph-to-fit data is always
up-to-date, this feature will run the optimizer briefly immediately before creating a final panorama.
- Run processing with low thread priority... If checked, PTAssembler will launch
the stitcher and any other external programs as a low-priority process (instead of normal-priority).
This will make the system more responsive to other programs because low-priority processes are preempted
by any other processes or programs running in a higher priority class.
- Show control point info on Step 1 screen... Enables or disables the CP Info column on
the Step 1 screen. Because this information may slow the speed at which the
Step 1 screen refreshes, it can be disabled if desired.
- When setting reference point, assign roll for all images. If unchecked, the
reference point picker will assign the yaw, pitch and roll for only the
reference image. If checked, the yaw and pitch will be assigned for the reference image only,
but the roll will be assigned for all images in the project.
- Auto-size column widths on Step 1 screen. If unchecked, PTAssembler will
automatically resize the columns in the table on Step 1. If unchecked, the user can modify the
widths of these columns, and PTAssembler will not change the widths.
- Create 'cropped TIFF' output when creating TIFF output... If checked,
PTAssembler will instruct the stitcher to output "cropped TIFF"
files when writing "Multiple image TIFF" output or "Single layer TIFF" output (doesn't work with PTStitcher).
The dimensions of these Cropped TIFF files are the size of the smallest rectangle needed to encompass
the output image, without including any extra "empty space"
around the image that is characteristic of full size image output.
Information about the offset of this "cropped" image
rectangle from the top corner of the "full size" image from which
it was cropped is included in the TIFF file header and can be used by programs
(such as Smartblend and Enblend) that (a) look for this information and (b) do something
with this information. The file sizes of Cropped TIFFs are considerably smaller
than full size TIFFs, and generate much faster than full size TIFFs...particularly
for projects with large numbers of images.
- When using blended TIFF output, crop final image to remove all extra 'black space'
If checked, PTAssembler will trim all remaining "black space" from around the final blended
output produced by Smartblend or Enblend. PTAssembler attempts to crop all black or empty space from the
blended image, but leave as much image as possible.
- Open final image in viewer application when complete If checked,
PTAssembler will attempt to open the final image in the viewing application configured on the Files/Dirs
- Search for missing EXIF data in raw files...When checked, if
PTAssembler cannot locate EXIF data in a source image, PTAssembler will attempt to locate a
correspondingly named raw file (with .crw, .cr2 or .dng file extension) in the same directory
or parent directory as the source image and extract EXIF data from the raw image, if possible.
- Viewer scroll speed... Determines how quickly the viewers scroll on
the step 3 screen when the cursor goes beyond the boundaries of the image viewer.
- Create control points from lines... Determines the frequency with which
control points are placed along lines drawn on the viewer windows (see step 3) when
converting lines to control points.
- JPEG save quality. Determines the quality of any files saved in JPEG file format.
- Preview panorama size... Determines the size of the preview panorama
that is suggested when the Auto-size parameters button (see step 5) is pushed.
Note that this option does not pertain to the previews created by PTAssembler's
internal preview viewer/editor, which calculates its own preview size.
This option only sets the size for previews that are shown in external preview applications.
- Anti-alias preview image. If checked, PTAStitcher
will perform "anti-aliasing" if it detects that the image is being significantly
downsampled during remapping. Downsampling occurs when the output image is considerably
smaller than the input image(s), which typically happens during preview generation.
Anti-aliasing improves the appearance of straight lines which can appear "jagged"
if anti-aliasing is not performed. However, anti-aliasing slows the speed
with which the preview may be generated, so if speed is a concern, you may wish to
uncheck this box.
- Anti-alias output image. If checked, PTAStitcher
performs "anti-aliasing" on the output image. See the description for "Anti-alias
preview image" above for more details.
- Automatically move cursor to likely control point position, if available.
If checked, PTAssembler will automatically try and locate the matching control point for any selected
control point in the Step 3 screen. This feature requires at least one control
point to already be selected for each pair of images before it is activated. PTAssembler will
move the cursor to the location in the opposite viewer window where it thinks the matching control
point should be located. Note that this feature is affected by the accuracy of your existing control
point locations and the distortion in your images. Currently, this feature only works for
- Automatically micro-position control points... An experimental feature to try and 'micro-reposition'
control points for more precise positioning. After you create a control point by clicking in both viewer
screens (See Step 3), PTAssembler will examine a small area around the control point to
try and correct any minor (i.e. a few pixels) misalignment of the control point.
Note: This feature is turned off by default because it is experimental and may not work correctly for all images
under all circumstances.
- Micro-position control point without prompting for confirmation. If checked, PTAssembler will
reposition the control point without prompting for confirmation.
- Attempt to micro-position t1/t2 control points... If checked, PTAssembler will
attempt to micro-position vertical line (t1) or horizontal line (t2) control points. Because micro-positioning
works best on regions with identical features, and because t1 and t2 control points are generally not located
on identical features, this option is disabled by default.
- When micro-positioning, check region within... Determines the size of the area around
each control point in which PTAssembler will search for a better alignment. Larger values may take a long time
to search. With care, you should be able to manually place a control point within 2 or 3 pixels of its
correct position, so a value of larger than 3 to 5 pixels is not usually needed.
- Auto-optimizer configuration. Allows you to enter a text string that
configures the sequence of optimization steps performed by PTAssembler when the 'Auto Optimize' button is pressed
on the Step 4 screen.
The text string is a sequence of tokens delimited with commas, where each token represents a set of instructions
(i.e. one run of the optimizer = an "instruction set"). Each "instruction set" consists of one
ore more "instructions" separated by an underscore.
Instructions are used to do one of six things:
- to equalize one or more parameters (using 'eqroll', 'eqyaw', 'eqpitch')
- to optimize one or more parameters (using 'opyaw', 'oppitch', 'oproll', 'opa', 'opb', 'opc', 'opd', 'ope', 'opg', 'opt', 'opv')
- to link parameters (using 'linka', 'linkb', 'linkc', 'linkd', 'linke', 'linkg', 'linkt', 'linkv')
- to unlink parameters (using 'unlinka', 'unlinkb', 'unlinkc', 'unlinkd', 'unlinke', 'unlinkg', 'unlinkt', 'unlinkv')
- to 'Autolevel' the horizon (using 'autolevel')
- to 'Auto-rotate' the project (using 'autoroll')
Multiple instructions can be combined in one instruction set using an underscore
character (e.g. 'eqyaw_eqroll_opyaw_oppitch_oproll'). There is no limit to the number
of instruction sets that can be specified. Instruction sets are executed one at a time, in
left-to-right fashion. Within each instruction set, the operations are executed in the following order:
- Equalize instructions (e.g. 'eqyaw', 'eqroll')
- Link/Unlink instructions (e.g. 'linkb', 'unlinkv')
- Optimizer instructions (e.q. 'opyaw', 'oppitch')
- Auto-level instructions (i.e. 'autolevel')
- Auto-rotate instructions (i.e. 'autoroll')
Note that if an "unlink" instruction is encountered (e.g. "unlinkv"),
then the project value for that parameter is propogated to all images
in the project. For example, "unlinkv" would take the project value for
FOV and assign it each image in the project. The opposite is not true.
For example, a "link" instruction does not cause the parameter value
from any single image to be assigned to the corresponding project
The following is an example of a simple auto-optimizer string:
opyaw, eqyaw_opyaw_oppitch_oproll_opb, autolevel
This example contains three instruction sets executed in left-to-right order:
- opyaw. Optimize the yaw parameter
- eqyaw_oppitch_oproll_opb. Equalize yaw, and then optimize yaw, pitch, roll and b
- autolevel. Autolevel the horizon
The Auto-optimizer generally works best when a reference image has been selected.
In the absence of a reference image, and if yaw, pitch and roll is optimized,
the lack of any image to act as an "anchor" can produce what appears to
be random repostioning of the entire project unless Horizontal Line and
Vertical Line (t1 and t2) control points have been selected.
The existence of these "line" control points can give the optimizer
information about the correct absolute positioning of the project. (See
below for more information about using auto-optimizer with horizontal
or vertical line control points).
The way in which requested parameters are optimized
depends on if a reference image is selected or not.
For example, if a reference image is selected, the auto-optimizer
will optimize all position parameters (i.e. yaw, pitch, roll)
for all images in the project, except for the reference image.
If no reference image is selected, then it will optimize position
parameter values for all images which can lead to the repositioning
problem described above.
If unlinked (i.e. parameters are allowed to vary for each image in the project),
lens distortion and shift parameters (a,b,c,d,e,g,t) are optimized for all
images in the project regardless of whether a reference image is selected
or not. FOV is handled slightly differently...if a reference image is selected
and if FOV is "unlinked" (i.e. allowed to vary for each image in the project), then
FOV is optimized for all images except the reference image. If no reference
image is selected, and FOV is "unlinked", then FOV is optimized for all images in the
project. If any of the distortion/shift/fov parameters are linked (i.e. forced
to be the same for all images in the project), the selection of a reference image
makes no difference...the parameters are optimized.
Note that the auto-optimizer works differently when invoked with projects that contain
Horizontal Line or Vertical Line (t1 or t2) control points when compared to projects
that don't contain these types of control points. For example, Vertical Line control points
give the optimizer valuable clues for the correct value for the pitch and roll parameters. Because of
this, if PTAssembler detects that the project contains 2 or more Vertical Line control points, it will
generally choose to optimize the pitch and roll parameters for all images including the reference image
(if selected). PTAssembler's auto-optimizer will also ignore any instructions to equalize the pitch or
roll parameters, as this would overwrite the values calculated by the optimizer.
Similarly, when PTAssembler detects 2 or more Horizontal Line control points
in the project, it typically will optimize the yaw and roll parameters for all images in the project, and ignore
any instructions to equalize the yaw or roll parameters.
(The exact logic depends on a number of other factors as well, including the projection type).
Note also that the auto-optimizer
always specifies rectilinear (for panoramas with FOV < 180 degrees) or
equirectangular projection (for panoramas with FOV >= 180 degrees)
to the optimizer (regardless of the current setting on
Step 2 screen).
Because of the way in which the auto-optimizer behaves in the presence of Vertical line and
Horizontal line control points, it is not necessary to select a reference image or point if
the project contains 2 or more Vertical Line control points and 2 or more Horizontal Line
- Settings... Displays the auto-optimizer configuration screen where you
can select from several different auto-optimizer instruction set presets.
- Control Point Picker Programs. PTAssembler can use either Autopano or Autopano-SIFT
as a control point picker plugin. Although confusingly named, these are two different programs written by two different authors.
Only one program can used at a time from within PTAssembler. Both programs (Autopano and Autopano-SIFT)
are designed to automatically find control points between overlapping images. It is not necessary to
have either of these programs installed in order to run PTAssembler, but they allow for the
automatic creation of control points and one or the other is necessary in order to use PTAssembler's Autocreate feature.
Select the program you wish to
use by selecting the appropriate option button next to Autopano or Autopano-SIFT. Options (described below) for
these programs can be configured by clicking the "Configure Autopano/Autopano-SIFT..." button.
- Autopano configuration (download link at bottom of page)
is written by Alexandre Jenny. PTAssembler works with version 1.03 (and possibly later versions) of Autopano.
It does not work with older versions (e.g. version 1.0, 1.01, 1.02) of Autopano.
- Autopano.exe Location. Specify the location of where you have installed
Autopano. If not specified, then PTAssembler will not be able to use Autopano.
- Mandatory Command line arguments. Specifies the command line
arguments that PTAssembler always sends to Autopano. These arguments are necessary to
ensure that Autopano works correctly as a plugin for PTAssembler, and cannot be changed
by the user.
- Optional Command line arguments. Specifies any optional
command line arguments that are sent to Autopano. These arguments are optional and
can be left blank if desired. Please consult the Autopano
documentation for the meaning and behavior of these options.
- Reset Resets the optional command line arguments
used by PTAssembler when launching Autopano.
- Autopano-SIFT configuration (download link at bottom of page)
is written by Sebastian Nowozin. PTAssembler works with version 2.3 (and possibly later versions) of Autopano-SIFT.
Autopano-SIFT is actually a collection of several different programs, of which PTAssembler requires two to operate
(autopano.exe and generatekeys.exe).
- generatekeys.exe Location. Specify the location of where you have installed
generatekeys.exe. If not specified, then PTAssembler will not be able to use Autopano-SIFT.
- autopano.exe Location. Specify the location of where you have installed
autopano.exe. If not specified, then PTAssembler will not be able to use Autopano-SIFT. Note: This is
confusing...autopano.exe is part of the Autopano-SIFT distribution written by Sebastian Nowozin,
and although it is named identically to the autopano.exe that is part of Alexandre Jenny's software
(discussed above), it is a different program.
- GenerateKeys Downscale Resolution Determines the size to which the
longer dimension of each image is resized before being searched for control points. Smaller images
can be searched much more quickly although they produce slightly less accurately positioned points. If speed
is important, pick a smaller number. If accuracy is important, pick a larger number.
- Autopano options. Specifies any optional
command line arguments that are sent to Autopano-SIFT. These arguments are optional and
can be left blank if desired. Please consult the Autopano-SIFT
documentation for the meaning and behavior of these options.
- Reset Resets the optional command line arguments
used by PTAssembler when launching Autopano-SIFT.
- Image Pre-Processing Programs. PTAssembler "pre-process" the images
before starting the stitching process. The pre-processing program will not overwrite your original images, but rather
creates temporary output images that are subsequently used as inputs to the stitcher. Once
the stitching process finishes, these temporary images are deleted. You must configure the pre-processing
program using the "configure..." button before it can be used. In order to activate pre-processing,
use the "Enable pre processing" checkbox on the Step 5 screen.
Currently, the following pre-processing programs are supported by PTAssembler:
- Neat Image: Neat Image (download link at bottom of page)
is an image noise reduction program sold by Absoft. In order to use Neat Image to pre-process images, you need to
tell PTAssembler where it is installed, and which noise profile and filter preset to use. Use
the "configure..." button to specify this information. PTAssembler has been tested
with Neat Image Home Edition, version 5.6. PTAssembler may work with earlier and later versions of
Neat Image Home and Pro editions, but will not work with the Neat Image Demo Edition because it
cannot be controlled via the command line.
- GREYCstoration: GREYCstoration (download link at bottom of page)
is an open source image noise reduction program written by David Tschumperlé. In order to use
GREYCstoration to pre-process images, you need to tell PTAssembler where it is installed. Use
the "configure..." button to specify this information. PTAssembler has been tested
with GREYCstoration, version 2.5. The configuration screen also has an interactive
previewer that allows to adjust GREYCstoration parameters and determine how much or little
noise is reduced. See this section for more information about this screen.
- Stacking Programs. PTAssembler is distributed with its own stacking plugin program called "TuFuse".
In addition to TuFuse, PTAssembler can also be configured to work with Enfuse or CombineZM as a stacking plugin.
Select the stacking program you wish to use by selecting the appropriate option button next to TuFuse, Enfuse or CombineZM.
In order to either program Enfuse or CombineZ, you must download and install the program(s) (neither is distributed with PTAssembler) and
configure the program location(s) on this screen. To create an image with a stacking program,
select the appropriate stacking option on the processing options screen.
- TuFuse (included with PTAssembler).
Tufuse is designed to blend multiple images of the same scene taken with different exposures and/or different
focus settings into a single "extended focus/extended dynamic range" image. TuFuse is able to perform
both exposure blending and focus blending as a single operation.
- Configuration presets. Choose one of the configuration presets to
populate the command line arguments for TuFuse.
- Enfuse Command line arguments. Manually specify or modify command line
arguments to be sent to Tufuse. Please consult the Tufuse documentation for the
meaning of these options.
- Enfuse (download link at bottom of page).
Enfuse is designed to blend multiple images of the same scene (taken with different exposures) into a single
"extended dynamic range" image. PTAssembler works with version 3.1 (and possible later versions) of Enfuse
- Location. Specify the location of where you have installed
Enfuse. If not specified, then PTAssembler will not be able to use Enfuse.
- Enfuse Command line arguments. Specifies additional command line
arguments to be sent to Enfuse. Please consult the Enfuse documentation for the
meaning of these options.
- Reset Arguments. Resets the command line arguments used by PTAssembler
when launching Enfuse.
- CombineZM (download link at bottom of page).
CombineZM is designed to blend multiple images of the same scene (taken with different
focus settings) into a single "extended focus" or "extended depth of field" image.
- Location. Specify the location of where you have installed
CombineZM. If not specified, then PTAssembler will not be able to use CombineZM.
- CombineZM Command line arguments. Specifies additional command line
arguments to be sent to CombineZM. Please consult the CombineZM documentation for the
meaning of these options.
- Reset Arguments. Resets the command line arguments used by PTAssembler
when launching CombineZM.
- Blending Programs. PTAssembler can use either Enblend or Smartblend
as a blending plugin. Only one program can used at a time, however. Select the program you wish to
use by selecting the appropriate option button next to Enblend or Smartblend.
In order to either program, you must download and install the program(s) (neither is distributed with PTAssembler) and
configure the program location(s) on this screen. To create an image with a blending program,
select the "Blended, single layer TIFF" output file format choice on the Step 5 screen.
- Enblend (download link at bottom of page)
is a program written by Andrew Mihal, and is designed to blend the multi-layer
output from the stitching engine into one final image. It uses a superior blending technique to the stitcher's rudimentary
blending algorithm, and can come close to matching (or exceed) the quality of results when blending is performed manually.
PTAssembler works with version 3.2 (and possibly later versions) of Enblend.
- Location. Specify the location of where you have installed
Enblend. If not specified, then PTAssembler will not be able to use Enblend.
- Enblend Command line arguments. Specifies additional command line
arguments to be sent to Enblend. Please consult the Enblend documentation for the
meaning of these options.
- Reset Arguments. Resets the command line arguments used by PTAssembler
when launching Enblend.
- Smartblend (download link at bottom of page) is a program written by Michael Norel, and is designed to blend the multi-layer
output from the stitcher into one final image. It is identical in purpose to Enblend, but uses a different blending
algorithm. PTAssembler works with version 1.25 (and possibly later versions) of Smartblend.
- Location. Specify the location of where you have installed
smartblend. If not specified, then PTAssembler will not be able to use Smartblend.
- Smartblend Command line arguments. Specifies additional command line
arguments to be sent to Smartblend. Please consult the Smartblend documentation for the
meaning of these options.
- Reset Arguments. Resets the command line arguments used
by PTAssembler when launching Smartblend.
- Focal Length Multiplier. If you check this box, and specify a
focal length multiplier, then PTAssembler will use this value for the focal length multiplier
under the following circumstances:
Note that you can use this option to override any multiplier information contained in the EXIF data.
For example, some cameras report an incorrect value in the EXIF data. Similarly, when using a
teleconverter on some cameras, the value reported for focal length multiplier is no longer correct.
Using this option, you can force PTAssembler to use a specific value for focal length multiplier,
regardless of whether the images contain enough EXIF data to
allow PTAssembler to compute it automatically, or whether the information is correct or not.
- If the images contain some EXIF data, but not enough to calculate the multiplier,
then this value will be placed into the Multiplier box on the step 2 screen when
the "Calculate using image EXIF data" button is pressed.
- Even if the images contain enough EXIF data to allow this value to be calculated,
this value will still be placed into the Multiplier box on the step 2 screen when
the "Calculate using image EXIF data" button is pressed.
- During autocreate, this value will be placed into the Multiplier box on the
step 2 screen if the images do not contain enough EXIF data to allow
PTAssembler to compute it.
- m-line extra parameters. Specify any extra parameters that
should be passed to the stitcher on the m-line. These parameters will be appended
to the m-line that PTAssembler creates. (This can be useful when using alternate
or experimental versions of Panorama Tools that require additional parameters to
be passed via the m-line.)
- Checking 'Use Control Points'... If selected, the checkboxes
next to the yaw, pitch
and roll parameters are selected/deselected when changes are made to the entries in the
'Use Control Points From' box on the Step 4 screen.
- Maximize program at startup. PTAssembler starts with main window maximized.
- Image viewer magnification size ratio increment. Determines the
amount by which the images in the image viewer windows on the Step 3 screen
are magnified when the magnifier keyboard shortcuts/mouse controls ([,], alt-click, ctrl-click)
- Minimize PTAStitcher's memory use when stitching. If checked, PTAStitcher
uses a smaller amount of memory during stitching, but operates more slowly. Unless the images
being remapped are very large, or the machine is old and/or has very little memory, there isn't normally
any need to check this box. It is recommended only if errors are encountered while stitching.
- Number of processors to use when stitching/optimizing. On muti-core or multi-processor
machines, PTAssembler can divide the work into multiple pieces and execute these pieces simultaneously to
process projects more quickly. The exact mechanism by which this happens depends on which stitching
and optimizing engines are used. When PTAssembler is configured to use PTAStitcher as the stitching engine, it is possible to divide up
the work into multiple pieces regardless of output file format. However, if Panorama Tools is used, then
PTAssembler can only divide the work if the output format if "Multiple image TIFF" or "Blended, single layer TIFF".
Similarly, when PTAStitcher is used to optimize the project, the work can be divided across processors/cores,
but not when PTOptimizer is used.
Selecting "Auto" will cause PTAssembler to query the operating system, and request a count of
the number of cores available. PTAssembler divides the work into the number of pieces
as reported by the operating system and executes these simultaneously. Alternatively, you can specify
the number simultaneous processes manually here.
- Clear Recently Used List. This removes all recently used projects
from the end of the File menu.
- Lens FOV/Focal Length. These options determine
what PTAssembler does if it can't determine the FOV for your images during Autocreate.
Using the "Try and determine FOV automatically" option will cause
PTAssembler to try and determine the FOV by optimizing this parameter. This works
well in some cases, but not in all. It can produce unpredictable results. As such, it
is not generally recommended for all circumstances. A more reliable choice is the
"Use focal length...and this focal length multiplier" option. If you know these
values for your images, it is strongly recommended that you use this option for best results.
Note that if you have already specified a focal length multiplier on the "Misc" tab,
then the option to specify a focal length multiplier will be disabled here.
- Number of control points per image pair to retrieve from Autopano. Determines
how many control points PTAssembler asks Autopano to create ("Number of
control points per image pair to retrieve from Autopano") and the number
to retain while optimizing ("Number of control points to keep for...").
- Number of control points to keep for 1st, 2nd, 3rd optimization. The
Autocreate feature works by weeding out
bad control points in an iterative process. It starts with a relatively high
number of control points, runs the optimizer and then removes those that are obviously
misplaced. It repeats this process three times so that at the end of the process,
only a few "good" control points are retained.
- Remove control points with optimized dist > this values times median dist
Establishes the threshold
level for the maximum acceptable control point distance prior to the second run of
the optimizer during Autocreate. Control points that have a optimized distance larger
than this threshold may be removed as long as sufficient number remain.
- Control point placement error should not exceed X pixels. Determines how precise
Autopano should be when picking control points. For ultimate precision, a
value of 0 can be specified, but it is usually not necessary and adds considerably
more time to the process than a value of 1 or 2.
- By default, create a preview or final image. Once PTAssembler
has finished determining image placement, this determines whether it outputs a final, blended
image at full size, or a small preview image that generates much more quickly.
- Automatically save project file before creating output image. If
checked, PTAssembler will select a unique name, and save the project file before creating an image.
- Prompt to abort if ACPD is larger than this amount. If, after
optimization, the Average Control Point Distance (ACPD) is larger than the amount specified here,
PTAssembler will prompt to abort the creation of an image. When prompted, you may choose to continue or abort.
- Auto-detect stacking groups, and perform stacking. When selected,
PTAssembler will attempt to assign stacking groups (based on image position), and perform
stacking. (Note: Stacking plugin must be installed for this
to work correctly).
- Reset Defaults. Resets all Autocreate options on this tab to
their default values.
This screen configures the way in which PTAssembler works with GPS data.
GPS data can be automatically extracted from data files that are stored
on the computed in GPX format.
More information about PTAssembler's use of GPS data can be found on the
- PTAssembler application directory. If checked,
PTAssembler will search the directory in which it is installed for GPX files when
looking for GPS data.
- PTAssembler project file directory. If checked,
PTAssembler will search the directory in which the current project file is saved for GPX files when
looking for GPS data.
- Image directory. If checked,
PTAssembler will search the directory in which the first image in the current
project is saved for GPX files when looking for GPS data.
- User specified directory. If checked,
PTAssembler will search the directory specified in this field for GPX files
when looking for GPS data.
- GPX file extension. PTAssembler will look
at files with this extension when looking for GPX files.
- GPS Data Point Identification Options. This
frame contains options that govern how PTAssembler cross-references the time
contained in the image data and/or specified on the properties
screen with the time in the GPX data files. It is often the case that the
GPX data may not contain a track point at precisely the same second as the
image time, and so PTAssembler can be configured to use the data from the
nearest point (before and/or after the image time), or to interpolate
between the two nearest points.
- Ignore data points this many seconds away from image time (0=ignore none).
Track points that are further away than this many seconds from the image time are ignored
by PTAssembler. If set to 0, no track points are ignored.
- Automatically search for GPS information when saving project (if not already found).
If checked, PTAssembler will search for GPS information when saving a project file if the GPS information has
not already been populated or specified on the properties screen.
- EXIF/UTC offset (seconds). This
is the number of seconds difference between UTC (usually recorded by GPS
units), and the time recorded by the camera's EXIF data. PTAssembler
adds this value to the time recorded by the GPS unit when
cross-referencing the time data from the GPX file and the image/camera time.
For example, the east coast of the United States is 4 or 5 hours
behind UTC (varies depending on daylight savings time).
A value of -18000 specifies an offset of 5 hours and a
value of -14400 specifies an offset of 4 hours.
- Local/UTC offset (seconds). This
is the number of seconds difference between UTC (usually recorded by GPS
units), and the local time at the photographed location. PTAssembler uses
this value (in conjunction with the EXIF/UTC offset value) to establish
the relationship between local time, EXIF time and UTC time. This
value is used when calculating sunrise/sunset times on the
- Display elevation in Select meters or feet for elevation display.
- Map URL/command Use this drop-down box to enter a URL (or select from
one of the preconfigured URLs) to be launched when the "Map GPS Data" button on the
properties screen is clicked. If the URL contains the strings
"%lat%" and "%lon%", these are replaced with the currently specified
values for latitude and longitude before the URL is launched.
The Optimizer configuration screen allows you to modify the way in which PTAStitcher
optimizes the project. Note that the default settings are almost always the most
appropriate settings. The default settings can be recalled by using the "Reset" button
on this screen.
- Distance Measurement Surface. If control point distances
are measured on a plane, then points in regions where the projection is "stretched" (e.g. the
edges of a wide rectilinear image) will show much larger distances than those in the center. As a
consequence, these points become more important to the optimizer, which may result in a better fit
for points in these "stretched" regions, but a generally lower overall quality of fit. It is usually
best to use the spherical measurement surface as this gives all points equal importance regardless
of their position in the output image.
- Optimizer Strategy. Changes the metric that the optimizer
uses to evaluate how well it is converging upon a solution. A hybrid
strategy (Strategy 0) usually gives the best combination of speed/accuracy.
- Optimizer Tolerance. Specifies the amount at which
the optimizer stops iterating and/or moves to the next strategy.
- Maximum Iteration Count. Specifies the maximum number
of iterations that the optimizer is allowed to make. A value of zero allows
the optimizer to continue iterating until it has converged upon a solution (see
also optimizer tolerance, above).
- Pause after completion. By default, the optimizer window
closes immediately after the optimizer completes. A non zero value will
force the optimizer window to remain open so that you can inspect any messages
that the optimizer produces.
The GREYCstoration screen allows you to specify the location of the GREYCstoriation
executable and configure the parameters it uses when it is invoked
from within PTAssembler to pre-process images. Before using this screen,
you must specify the location of the GREYCstoration program using the
"Browse..." button to locate the GREYCstoration program on your machine.
The six boxes at the bottom of the screen (Alpha, Sigma, p, a, iter, dt) are
used by GREYCstoration to determine how to process images. For documentation
on these parameters, what they mean, and how they impact GREYCstoration's
noise reduction results, please consult the GREYCstoration documentation available
on the GREYCstoration website (See the downloads section
below). The "Reset Defaults"
button resets the values for these six parameters to their defaults.
The "Load Test Image" button allows you to load an image into
the main viewer on this screen. You can interactively determine what any
adjustments to the six GREYCstoration parameters will have on the image, by
drawing a rectangle on the large viewer (press the left mouse
button, drag the mouse to draw a rectangular region, and then
release the left mouse button). The selected region is transfered
to the "Original" viewer window, and the same image
(after processing by GREYCstoration) is displayed in the "Preview"
After adjusting the six GREYCstoration parameters, you can use the
"Redraw" button to create an updated preview or you can select
another region to view by drawing a rectangle in the main viewer window.
The properties screen displays information about the current project. The
information is used for informational purposes only, so you don't need to
fill in any data on this screen to create a stitched image. However, the information
on this screen can be useful for cataloging and/or labeling projects. The screen
is divided into three panels: Project properties, Camera properties, and Custom Properties.
The information on this screen is stored in the PTAssembler project file.
Project properties. This panel displays
information such as the number of images in the project, the total number of
pixels that all images in the project contain, the average control point
distance, etc. This information is calculated by PTAssembler and cannot be
edited by the user.
Camera properties. This panel displays
the aperture, shutter speed and focal length information. If PTAssembler
finds EXIF data in the images in the project, then it can populate these
fields automatically. Clicking the "Update from EXIF data" button will
cause PTAssembler to examine the first image in the project, and populate these
fields using the EXIF data that it finds. These fields can also be edited, so
data can be entered manually if desired.
- Name, Location, Date/Time, Comment.
The name, location and comments fields can be used
to record any textual information the user inputs. The Date/Time field can also accept
any textual information, such as "Sep 2005", "September 29, 2005,
late afternoon" or "2005/09/29 17:35:00". However, the
Date/Time field can also be populated by clicking the "Update from EXIF Data"
button (assuming, of course, that the images in the project actually contain EXIF data).
- GPS Features.
The three GPS data fields (Latitude, Longitude and Elevation) can all be
edited directly by the user. The longitude and latitude data are expected
in decimal format (WGS 84 Datum), and the elevation is in meters or feet (depending
on the setting on the GPS tab of the preferences screen).
If Location data (GPS data) are present and Date/Time (EXIF data) are present,
PTAssembler will compute and display the local time for sunrise and sunset.
PTAssembler is capable of populating the GPS fields automatically using GPS
data contained in GPX file format.
Most GPS units have a "track" or "track-log" feature that
continually records the current position of the user. This data can be downloaded
from the GPS unit and stored as a GPX file using any one of
a large number of freeware and shareware applications.
Once downloaded, the GPX data file contains track-log information about latitude, longitude, elevation and
time. By cross-referencing the time information from the GPX data
with the time specified on the Date/Time field on this screen, PTAssembler
can assign the longitude, latitude and elevation fields automatically. Note that
the Date/Time field must be populated using a format that PTAssembler can understand, in order
for it to be able to cross-reference the date information. Formats like
"YYYY:MM:DD hh:mm:ss" (e.g. "2005:09:29 18:30:00"), or
"YYYY-MM-DD hh:mm:ss" (e.g. "2005-09-29 18:30:00") are acceptable.
To automatically populate the GPS data on this screen, PTAssembler needs to know
where to find the GPX file(s). This can be configured, along with a number
of other options, on the GPS tab of the preferences screen. Once
configured, the GPS data can be automatically assigned by clicking the "Get GPS Info"
button. The "Map GPS Data" button will launch a URL in the default web-browser
to plot the GPS location using one of several online mapping services. The computer needs
to be connected to the Internet in order for this feature to work correctly.
The URL that is launched can be modified/configured using the GPS tab of the
Most GPS units store time and date information
in UTC format. However, most digital cameras
store time in local time. In order for PTAssembler to be able to cross-reference the time
recorded by the GPS unit with the local time recorded in the EXIF data (or specified by the user on this screen), a
"time offset" value must be specified on the GPS tab of the preferences screen.
It is also worth noting that some GPS units (e.g. Garmin Etrex) remove time
information from track-log data when "saving" the active track-log. Once the time
information has been removed from the track-log, the data is useless for PTAssembler.
For this reason, it is recommended that you do not use your GPS unit's "save"
feature unless you are sure that it doesn't erase the time data.
The batch processor allows you to create multiple panoramas in succession without
intervention. You can add the current project to the list by clicking the 'Add current'
button or another project by clicking the 'Add project' button. You can also
drag-and-drop project files onto this screen. The project files must
be ready for final creation (i.e. control points have been set and the optimizer
has been run). When the project is added to the list, you will be prompted to
choose a name for the final image.
To temporarily include/exclude a project, you can check/uncheck the box next
to the project name in the list.
If the 'Shutdown computer' box is checked, PTAssembler will attempt to shutdown
and poweroff the computer when all projects are finished processing.
To start processing, press the 'Run' button.
This screen shows information about all the control points in the project. It is
similar to the table displayed on the Step 3 screen, but shows
information for all control points, rather than just the two images loaded in the
viewer windows on the Step 3 screen.
Clicking on a column header to sorts the table. Double-clicking on a row loads
the images corresponding to a control point in the viewers on the Step 3 screen,
and centers the control point in the viewer windows.
If one or more rows are selected, right-clicking displays a popup menu with the
- Delete control point(s)
- Choose whether the control point(s) should be used for "morph-to-fit"
(See morph-to-fit options on Step 2 screen)
- Choose whether the control point(s) should be used when optimizing
Delete All. Removes all control points from the project.
Thin by Distance. Removes the control points
with the highest optimized distance from each image pair if each image pair
has more than the specified number of control points. For example, if
the Thin amount (selected in the drop-down box next to the
"Thin" buttons) is set to '5', PTAssembler iterates through
every image pair that share control points. For each image pair where there are
more than 5 control points, the extraneous points with the highest optimized
distances are removed. If an image pair contains 5 or fewer control points, no
control points are removed from the image pair.
Thin by Location. Removes the control points
which are located closest to others in the same image pair if each image pair
has more than the specified number (selected in the drop-down box next to
the "Thin" buttons) of control points. This can often be useful for
removing control points produced by Autopano, which sometimes "clusters"
a large number of points in a small area.
Refresh. Updates the list to refresh any additions or
deletions that may have been made on the Step 3 screen.
This screen allows you to work with lens presets. Lens presets are a convenient
way to store and recall the appropriate parameters (FOV, a, b, c, etc.) for a
particular lens. You can add, edit or delete presets using the buttons on this
screen. To use a preset in a project click the 'Use Selected' button and the
preset values will be used to populate the appropriate fields on the
Step 2 Screen.
The stand-alone calculator can be used to compute field-of-view values from focal length,
and vice-versa. It does not need to be used in order to create a stitched image, but may
be useful for making calculations to determine appropriate lens parameters.
The numeric transform dialog can be used to reposition the images in the project
by adjusting their yaw, pitch and roll values. Note that this is not as simple
as adding or subtracting values from the yaw, pitch and roll values for
each image, because this would not maintain the relative positioning of
the images in the project. The numeric transform adjusts these values so that
the relative positioning of all images is maintained.
In addition to the menu items listed below, you can add any number of additional
items to the end of the Tools and Help menus.
See the 'usertools.txt' and 'links.txt' files in PTAssembler's directory for more details.
- File menu
- New Project. Resets values and starts a new project.
- Open Project. Opens a previously saved project.
- Save Project. Saves the project using current project name.
- Save Project as. Prompts for a name, and saves project.
If shift key is pressed while selecting this option, PTAssembler suggests a new name using
the first and last image names in project.
- Write Project Execution Script. Writes a project execution script to the temporary directory.
This script can be executed manually by double clicking on it, even if PTAssembler is no longer running.
- Add Images. Adds images to a project.
- Properties. Displays the properties screen.
- Preferences. Displays the preferences screen.
- Exit. Ends program.
- Recently Used files. Recently used projects are added to the bottom of this menu. Click to load.
- View menu
- Tools menu
- Set Reference Point. Shows the Reference Point Picker Screen.
- Show lens presets. Shows the Lens Presets Screen.
- Show lens calculator. Shows the Lens Calculator.
- Micro-position all Control Points. Micro-positions (See preferences) all the control points in the current project.
- Apply parameters from another project. Applies the parameters from another project into the current project. Optionally imports control points from another project.
- Batch Process. Shows the Batch Processing screen.
- Numeric Transform. Shows the Numeric Transform screen.
- Display Last Generated Preview Image. Shows the last preview image generated by PTAssembler using the preview viewer.
- Display Last Generated Final Image. Shows the last final image generated by PTAssembler using your system's default image viewer.
- Show Current Project File in Notepad. Shows the current PTAssembler project file in notepad.
- Explore Current Project Directory. Opens Explorer at the directory that contains the current project's images.
- Help menu
- Help. Shows this document.
- Show wizard now. Shows PTAssembler's wizard to guide the user through the steps required to create a stitched image.
- Purchase/Register. Shows the registration screen, used to purchase PTAssembler.
This screen provides a link to the website where you can purchase a license code. Once you have received the code
via e-mail, you can return to this screen, and enter the code into the appropriate field to unlock the
full, unrestricted version of PTAssembler.
- Check Installation. Checks to make sure that all required PTAssembler
files are found, and reports version numbers and build dates. Also reports on installation status
of optional helper programs.
- Show ptasmblr.ini. Shows PTAssembler's "initialization" file
used to retain settings when the program is closed. This information may by needed
when submitting a bug report.
- About. Displays program information.
- View readme.txt Shows information about PTAssembler, including installation help and version change information.
- Links. Several links to web sites with
additional information about PTAssembler are provided at the end of this menu.
The Autocreate feature automates the entire process of creating a stitched
image, from control point placement, to lens parameter selection, through
optimization, stitching and blending. No manual work is necessary. A final
stitched image can be "autocreated" by loading the source images on step 1,
and then clicking the blue "Autocreate" button.
Autocreate replicates the steps that a typical user takes when creating a
stitched image using PTAssembler. All manual steps are automated using
PTAssembler's internal logic, and/or helper programs. For example, control point
placement is one of the most time consuming parts of creating a panorama, and
this is automated using either Autopano or Autopano-SIFT,
helper programs that are executed by PTAssembler.
PTAssembler takes care of running these programs and reading the control
points that they create. Similarly, setting the reference point
is automated by PTAssembler's logic, as is all project optimization,
Autocreate relies upon two helper programs: a Control Point
Picker program and a blending program.
While PTAssembler will operate without these helper programs, they are mandatory
in order for the Autocreate feature to work correctly. See the downloads section at the
bottom of this page for information on where to download these programs. If
Autocreate is configured (via the preferences screen)
to stack images, then a stacking program is needed as well.
Autocreate should work well for most images, but it isn't infallible. Computers
don't "see" images the way humans do, and may occasionally choose
"bad" (i.e. incorrect) control points.
PTAssembler attempts to find and remove any bad control points but this
is not always possible. In some cases the images may not contain enough features
for Autocreate to identify control points. In either of these situations, Autocreate
may not produce the best results, and you may have to manually add or edit the
Another important caveat is that not all images contain enough information to
allow PTAssembler to determine the lens field of view (one of the key parameters required for
the optimizer and stitcher to operate). If this is the case, PTAssembler can either (1) attempt to
estimate the correct value, or (2) you can specify a value manually using the
preferences screen. The second approach is recommended
for best results. These choices can be configured on the "Autocreate"
tab of the preferences screen.
There are a number of artistic issues to consider when using Autocreate.
There is no one, single "correct" result when
stitching images together. The choice of image projection format, and horizon
placement are two examples for which there is no right or wrong
decision. PTAssembler makes what it considers to be reasonable choices but these
may not be what you expect and/or desire. Of course, all of these limitations
(technical or artistic) can be overcome by working with PTAssembler manually.
Currently, the Autocreate feature doesn't work with fisheye lenses, and requires
that all images have the same size and were taken with the same focal length.
Although the Autocreate feature is designed to run automatically (i.e.
without any user intervention), a number of options can be configured using
the "Autocreate" tab of the preferences screen.
Note that PTAssembler also offers a closely related capability, Autoalign,
which can be used to create a series of aligned images.
The Autoalign feature is a variant of PTAssembler's Autocreate
feature, but rather than creating a single blended image as output, it
is designed to create a series of precisely aligned or "registered" images.
To invoke PTAssembler's Autoalign feature, hold the shift key down while
pressing the blue "Autocreate" button on PTAssembler's Step 1
If you take a sequence of images of the same scene using a camera mounted
on a tripod, with a remote/cable release, and without moving the tripod between exposures,
the resulting images will be perfectly
aligned or registered; the same elements in the scene (trees, houses, roads, signs, etc.)
will appear at precisely the same location in each image in the sequence. However,
if the camera is moved (even slightly) between exposures or the focus is
changed, then the images are no longer perfectly aligned, and elements in the scene
appear at different positions in the images.
There are at least two scenarios where it is important that a sequence of images be
aligned or registered: "exposure blending" and "focus blending". In both of these
techniques, it is important for the images to be aligned correctly. However,
it is not always possible for the images to be captured in such a way that
they are aligned. For example, the position of elements within
the scene is likely to differ between exposures if the focus setting is changed.
This is because the angular field of view (FOV) captured by most modern camera
lenses changes with the focus setting, and the result is that elements in the
scene appear to shift from one exposure to another. The purpose of
PTAssembler's Autoalign feature is to produce a series of aligned images
that are suitable for processing with other applications that require
PTAssembler's Autoalign feature can align or register a series of images,
accommodating and correcting for changes in yaw, pitch, roll and FOV for
each image in the series. When Autoaligning a series of images,
PTAssembler will produce as many output images (in TIFF format) as input images.
The input images should all be of the same scene, and have the same dimensions
(width x height).
Autoalign attemps to
(1) find control points for all images, (2) perform the appropriate
optimization steps, and (3) create output images that are the
same size as the input images. Autoalign can also (if configured on the
preferences screen) invoke the
stacking process using the resulting aligned images as
input for the stacking program.
Currently, Autoalign only works for rectilinear lenses like
those typically found on almost all modern cameras...fisheye lenses/images will not work
correctly. Also, PTAssembler will attempt to auto-align all images in the
project into a single stack of aligned images, so you should only include
those that should be aligned as part of single set.
When processing images to create a final panorama (i.e.
when the "create"
button is pushed), PTAssembler invokes one or more external programs to produce
a resulting image. In its simplest mode of operation, PTAssembler invokes
the stitching program to create a single output image from multiple
input images. No other functions are performed and no other programs
However, PTAssembler's capabilities can be significantly enhanced with
additional, optional, programs. Specifically, PTAssembler can be configured
to "preprocess" the images before they are processed by the stitcher,
and to "postprocess", "stack", "blend" and/or "crop" the images produced by
the stitcher. The following diagram illustrates the complete set of processes
via which images can be transformed by PTAssembler. These options can be
configured on the Processing Options screen.
PTAssembler Process Flow. Blue boxes represent processes
that can be invoked by PTAssembler
Input images (supplied by the user on the Step 1 Screen)
are processed in seqeunce by the processes represented by the blue boxes in the
diagram above. With the exception of the "remapping/stitching" step all of the other processes are
optional and can be enabled or disabled by the user. Some of the processes
can only be performed depending on the output format and/or configuration of a
process executed earlier in the sequence (described below).
Image pre-processing can be performed by either of two "noise-reduction" programs.
These programs can be invoked regardless of the chosen output format from the
stitching program. Image pre-processing is performed prior to the images being
used by the stitching program. Image pre-processing does not modify the input
images, but rather creates intermediate, temporary images that are subsequently
used by the stitching program.
Image post-processing can be performed by any user-defined application.
Post-processing can be invoked regardless of the chosen output format from the
Stacking can be performed only if the output format is
"Multiple image TIFF" or "Blended, single layer TIFF" format. If configured,
the stacking program will convert all images with the same Stack ID (specified
on the Step 1 screen) into a single image. For example,
consider a project that contains 18 image, divided into 6 stacks with 3 images per stack.
The stitching step will use 18 images as input, and produce 18 output images.
The stacking step uses these 18 images produced by the stitching step and will
produce 6 images (one for each stack) as its output. Note that stacking is
an optional step and is only performed if (a) stack IDs are assigned and (b)
there are more than one image per stack.
Blending is only performed if the output format is
"Blended, single layer TIFF". The blending prgram accepts multiple input images
that have been produced by the stitcher (and optionally post-processed and/or
stacked). The purpose of the blending program is to try and hide any evidence
of seams resulting from misalignments, lighting shifts, etc. Blending programs
use "intelligent" algorithms to blend two or more adjacent images as seamlessly
Cropping is performed on the image produced by the blending program and
is designed to remove any extra "black-space" around the edge of the image. The
cropping program is distributed and installed with PTAssembler. Cropping
can be enabled or disabled using the preferences screen
or the Processing Options screen.
See A Note About Output Size for more information about cropping.
The following diagrams illustrate several examples of how PTAssembler
process images under different configurations.
In its simplest mode of operation PTAssembler can be configured to operate without
the use of any optional processing. For example, when JPEG or PSD format is selected,
and no pre or post processing is chosen, the following operations are performed.
In this example, four images are used by the stitching program which produces
a single file as output. Note that in this example, the stitching program
performs a rudimentary blending operation to join the four images into one composite.
(Superior blending results are almost always achieved using a blending program as
described later in this section).
PTAssembler Process Flow. Single, flattened image output
Below is a more complicated example, illustrating the processing that takes
place when Blended Tiff output is selected, and optional cropping is also
selected. In this example, four input images are used by the stitching program to
create four "remapped" intermedate images. These four intermediate images are then used by
the blending program to create a single intermediate blended image. Lastly, the cropping
program uses the intermediate blended image to create a final output image.
PTAssembler Process Flow. Blended TIFF output
The next example is similar to above except that after the four images have
been remapped, they are used by the stacking program. In this example, the
project contains two stacks, and each stack contains two images. The output
from the stacking program is two images, which are used by the blending program
to create a single blended image. As above, this blended image is used by the
cropping program to create a final output image.
PTAssembler Process Flow. Stacked and Blended TIFF output
PTAssembler allows you to specify the output size on the Step 5 screen. The
width and height choices govern the size of the image(s) created by the stitcher (PTAStitcher, PTStitcher or PTMender).
However, when producing "Multiple image TIFF" or "Blended, single layer TIFF" output,
the stitcher (PTAStitcher and PTMender) offers the
ability to output "cropped TIFF" files (configured
on the preferences screen). These cropped TIFF files
are files that have had as much empty (black) space around the remapped portion
of the image cropped away as possible without removing any of the actual useful
image. In most circumstances, these "cropped TIFF" files can be generated
considerably faster than uncropped files. Additionally, these
cropped files typically have smaller dimensions than the dimensions
requested on the Step 5 screen, although the useful (i.e. non-black) portion
of the remapped image is the same size as it would have been if the image
Five "cropped TIFF" images ("Multiple image TIFF" format) output from PTAStitcher
(cropped to remove as much extra "empty space" as possible)
Images after blending with Smartblend
Blended output size.
PTAssembler also offers the ability to process the blended files that are output from
Smartblend or Enblend to crop any remaining "empty space" from around the
edges of the image. This option is configured on the
preferences screen and/or the
processing options screen.
As little of the image is removed as possible to ensure a resulting rectangular image
with no empty/black space at its edges.
Final image after cropping to remove all extra "empty space" around image
If either of these options (cropped TIFF output from the stitcher, or final cropping of
images output from Smartblend or Enblend) is used, the final image that is produced after
all processing will typically have smaller dimensions than those that are specified
in the height and width boxes on PTAssembler's step 5 screen.
Although PTAssembler is a graphical application, it can be launched from
the command line (sometimes called a "command prompt"). The syntax
for launching PTAssembler from the command line is as follows:
ptasmblr [option] [image file, image file, ...]
ptasmblr [option] [project file]
If no options are specified, then PTAssembler starts and loads the image(s)
or project specified on the command line. If no image(s) or project file is
specified, then PTAssembler starts with an empty project.
The following options are supported:
Examples of valid command lines that can be used to launch PTAssembler are
ptasmblr image01.jpg image02.jpg image 03.jpg
ptasmblr /autocreate aproject.ptp
ptasmblr /stitch aproject.ptp
ptasmblr /autocreate image01.jpg image02.jpg image03.jpg
ptasmblr /autoalign image01.jpg image02.jpg image03.jpg
As hard as software developers try, most programs contain some bugs. If you find a
bug in PTAssembler please feel free to contact the author
(see PTAssembler's page for contact details).
However, because PTAssembler is a "front-end" for a number of optional
helper programs (Enblend, Smartblend, Autopano and Autopano-SIFT), it may be the case
that the problem you are encountering is a problem with one of those programs,
and not PTAssembler.
When reporting a problem, please give as much information as possible. A
good bug report is one that allows the developer to reproduce the problem using
the steps that you provide. A step-by-step recipe that allows the developer to
replicate the problem is likely to result in a quick diagnosis and resolution.
Reports with vague wording such as "I saw an error message" or
"it doesn't work" make the diagnosis and resolution difficult or
If reporting a bug, please explain what happened, and provide the
- PTAssembler project file. This is the file generated
when using the "Save project" or "Save project as" menu items.
- The installation information. This information
can be obtained by using PTAssembler's
"Check Installation" menu item under the Help menu. The information
can be copy-and-pasted into an e-mail or another document.
- ptasmblr.ini. PTAssembler's initialization file
is used to save all program settings when PTAssembler is closed. This information
can be obtained by using PTAssembler's "Show ptasmblr.ini file" menu
item under the Help menu. The information can be copy-and-pasted into
an e-mail or another document.
- Temporary project execution files.
In the event that PTAssembler detects an error while stitching, it does not delete any temporary
project files from the temporary directory after the error is encountered.
PTAssembler presents a message on the screen alerting the user to the names and locations of these
temporary files. These files record what should have happened, and where the process
may have encountered a problem, and are extremely useful in diagnosing any
problems. Note that these temporary files can be safely deleted at any time
after execution has finished.
More detail is always better...Thanks!
- PTAssembler homepage.
- Autopano: A program that automates the placement of control points (can be used as an optional PTAssembler plugin).
- Autopano-SIFT: Simiar to Autopano...sometimes slower, but sometimes with a better distribution of control points (can be used as an optional PTAssembler plugin).
- Enblend: A program that blends multiple TIFF output from the stitcher into a single TIFF using an advanced seam-blending technique (can be used as an optional PTAssembler plugin).
- Smartblend: A blending program similar to Enblend, but with a different seam-blending technique (can be used as an optional PTAssembler plugin).
- Neat Image: An image noise reduction program (can be used as an optional PTAssembler plugin).
- GREYCstoration: An open-source image noise reduction program (can be used as an optional PTAssembler plugin).
- Enfuse: An open-source stacking program to create an extended dynamic range images from multiple images of the same scene (can be used as an optional PTAssembler plugin).
- CombineZM: A stacking program to create an extended focus images from multiple images of the same scene (can be used as an optional PTAssembler plugin).
- Google: Where to look if any of the links here go bad.