PTAssembler Documentation

PTAssembler Homepage



Help Contents


Introduction

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 interchangeably.

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:

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


Step 1. Source Images Screen

Key Concept. The blue "Auto-create" button on this screen starts the Autocreate or Autoalign feature. See the Autocreate and Autoalign 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 these values.

Example 7: 5(i2), 2(i4)
7 The total number of control points assigned on this image
5(i2) 5 control points are shared with image number 2
2(i4) 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.



Step 2. Lens/Settings Screen

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:



Step 3. Control Points 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 control points.

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:

Clicking on the image viewers does the following:

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.

Additional keyboard controls are as follows:



Step 4. Optimizer Screen

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 manually instead.

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:

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.)



Step 5. Create Screen

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 flexibility.

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 is closed.

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 results.

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 '+/-' buttons.

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):

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. Enblend/Smartblend), 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 stacking 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

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 blending process.

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:

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 Viewer/Editor Screen


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:

The screen responds to the following keyboard buttons:

The status bar at the bottom of this screen has four panels (described from left to right):

  1. Progress bar. Shows progress of operation while drawing image.
  2. 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.
  3. X,Y Position. This panel shows the x,y position of the cursor relative to the top left corner of the preview.
  4. 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 are possible:



Reference Point Picker 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.



Preferences Screen

The preferences screen contains multiple tabs, which are described in detail below:

  1. Files/Dirs

    • 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 script files.
    • 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.

  2. Display

    • 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.

  3. Behavior

    • 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 tab.
    • 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.

  4. Advanced

    • 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 rectilinear images.
    • 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:

      1. to equalize one or more parameters (using 'eqroll', 'eqyaw', 'eqpitch')
      2. to optimize one or more parameters (using 'opyaw', 'oppitch', 'oproll', 'opa', 'opb', 'opc', 'opd', 'ope', 'opg', 'opt', 'opv')
      3. to link parameters (using 'linka', 'linkb', 'linkc', 'linkd', 'linke', 'linkg', 'linkt', 'linkv')
      4. to unlink parameters (using 'unlinka', 'unlinkb', 'unlinkc', 'unlinkd', 'unlinke', 'unlinkg', 'unlinkt', 'unlinkv')
      5. to 'Autolevel' the horizon (using 'autolevel')
      6. 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:

      1. Equalize instructions (e.g. 'eqyaw', 'eqroll')
      2. Link/Unlink instructions (e.g. 'linkb', 'unlinkv')
      3. Optimizer instructions (e.q. 'opyaw', 'oppitch')
      4. Auto-level instructions (i.e. 'autolevel')
      5. 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 parameter.

      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:

      1. opyaw. Optimize the yaw parameter
      2. eqyaw_oppitch_oproll_opb. Equalize yaw, and then optimize yaw, pitch, roll and b
      3. 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 control points.

    • Settings... Displays the auto-optimizer configuration screen where you can select from several different auto-optimizer instruction set presets.

  5. Plugins

    • 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.

  6. Misc

    • 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:
      1. 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.
      2. 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.
      3. 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.
      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.
    • 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) are used.
    • 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.

  7. Autocreate

    • 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.

  8. GPS

    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 properties page.


Optimizer Configuration Screen

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.



GREYCstoration Configuration Screen

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" viewer window.

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.



Properties Screen

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.

Custom properties.



Batch Processing Screen

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.



Control Point Information Screen

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 following options:

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.



Lens Presets 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.



Lens Calculator

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.



Numeric Transform

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.



Menu Options

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.



Autocreate

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, and autosizing.

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 control points. 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.



Autoalign

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 screen.

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 aligned images.

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.



Processing Worfklow Overview.
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 are necessary.

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 stitching program.

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 as possible.

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


A Note About Output Size

PTAStitcher/PTMender/PTStitcher size. 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 was uncropped.


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.



Command Line Options

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 as follows:

ptasmblr image01.jpg image02.jpg image 03.jpg
ptasmblr aproject.ptp
ptasmblr /autocreate aproject.ptp
ptasmblr /stitch aproject.ptp
ptasmblr /autocreate image01.jpg image02.jpg image03.jpg
ptasmblr /autoalign image01.jpg image02.jpg image03.jpg



Bugs and Problems

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 impossible.

If reporting a bug, please explain what happened, and provide the following items:

More detail is always better...Thanks!



Downloads (auxilliary programs and plugins)

Links and More Reading