PTAssembler Readme *****Introduction***** For the latest version and help on PTAssembler, check: http://www.tawbaware.com/ptasmblr.htm. PTAssembler is an easy to use, but extremely powerful image stitching/panorama creation program designed to operate with the Panorama Tools suite of software. PTAssembler is designed to make Panorama Tools easier to use. *****Panorama tools: What it is, and where to get it***** Panorama Tools is a collection of free software programs originally written by Helmut Dersch (http://www.fh-furtwangen.de/~dersch/). Dersch no longer distributes this software, but a number of volunteer programmers continue to work on Panorama Tools, which is an open source project. The necessary subset of the Panorama Tools suite that is required for PTAssembler to operate is included with PTAssembler (including source code) and is free to use regardless of whether you purchase a license for PTAssembler or not. For the complete suite of Panorama Tools programs, check the Pano Tools sourceforge project: http://panotools.sourceforge.net/ The Panorama Tools programs that are distributed with the current version of PTAssembler are: 1. PTStitcher.exe => Original Stitching program distributed with Pano Tools 2. Pano12.dll => Shared library for PTStitcher (used only by PTStitcher) 3. PTMender.exe => Updated stitching program currently under development 4. PTOptimizer.exe => Optimizer program, used to determine image alignment In early 2006, PTMender was created as replacment for PTStitcher, which hadn't been updated in several years. PTMender supports most of the output formats that PTStitcher does, including JPG, PNG, TIFF, layered TIFF, PSD, layered PSD. You can choose which program to use (PTStitcher or PTMender) on the "Files/Dirs" tab of PTAssembler's preferences screen. PTMender operates much more quickly than the old PTStitcher, but is missing a few of the features available in PTStitcher (e.g. feathering), so you are encouraged to use PTMender unless you find that it doesn't support an output file format or feature that you require. (You can switch back and forth between programs by modifying the setting in the preferences screen.) The rest of the Panorama Tools distribution can be found at the sourceforge link above. If you already have another version of pano12.dll installed, PTAssembler will not overwrite your existing version unless you explicitly agree to do so. *****Version Compatibility***** IMPORTANT VERSION NOTE: This version of PTStitcher requires version 2.6b1 or later of pano12.dll. The versions of PTOptimizer and PTMender distributed with PTAssembler do not require any additional DLLs or library files to operate. *****Installation Instructions***** After downloading and unzipping PTAssembler's "zip" file, use the setup.exe program to install PTAssembler. IMPORTANT: PTAssembler was written using Visual Basic 6 and requires some "helper" (a.k.a. "Runtime") files in order to work properly. These helper files are freely available, and your system probably already have them. However, If you are unsure or you cannot seem to run PTAssembler without an error, download them from the link on PTAssembler's page (http://www.tawbaware.com/vb6tawba.htm). *****Version Changes***** Version 4.0.1 (February 2008) Bug Fix: Fixed problem that caused Tufuse to be invoked with incorrect arguments. Bug Fix: Fixed problem that caused incorrect reporting of TuFuse installation. Bug Fix: Fixed problem 50003 on some Vista machines when opening some screens. Change: Removed warning message: "If image FOV is not linked, panorama dimensions may need to be adjusted manually for best results" when autosizing panorama. Version 4.0.0 (February 2008) Note: PTAssembler 4 includes support for creating "stacked" images and panoramas. Stacking is commonly used to overcome two photographic difficulties, and capture scenes that have either (1) an extremely wide lighting range from shadows to highlight or (2) a extremely large range of subject distances (foreground to background). In the first case, stacking can be used to achieve a "blended exposure" (or an "extended dynamic range") image that better captures the range of shadows and highlights than a single image. In the second case, stacking can be used to create a "extended focus" image that exhibits a much greater depth of field than would be possible with a single image. PTAssembler 4 is distributed with its own stacking program called TuFuse. TuFuse is capable of performing both exposure blending and focus blending. See the PTAssembler and TuFuse documentation for more information. PTAssembler also supports two additional (third-party) stacking programs: Enfuse (for exposure blending) and CombineZM (for focus blending). See the PTAssembler documentation for details on where to download these programs and how to configure PTAssembler to use them. Feature: Added support for exposure blending and focus blending using "stack" processing. Images in a PTAssembler project can be grouped into "stacks" and each stack can be processed (i.e. exposure blended or focus blended) to create an image before blending. Stacks can be assigned manually via the Step 1 screen, or determined automatically based on position (i.e. yaw/pitch). Feature: Added new "processing options" dialog to configure and examine processing workflow options (i.e. pre-processing, stitching / remapping, post-processing, stacking, blending and cropping). See documentation for details. Feature: Added "auto-align" feature, to quickly perform image registration on a group of images and create one aligned ("registered") image. Aligned images can be processed by stacking program (e.g. TuFuse) to create a single focus/exposure blended image. See documentation for more details. Feature: Added new auto-optimizer instructions: "linkX" and "unlinkX" for all lens/fov parameters. Note: global parameters (e.g. project FOV) are propogated to lens parameters (e.g. lens FOV) when an "unlink" instruction is encountered. Feature: global lens parameter values are propogated to image lens parameter values when Step 2 screen is exited, and parameters are linked. Feature: Added logic to search for EXIF data in raw files (dng, crw, cr2) in same or parent directory if image file is missing. Feature: Up/Down buttons on Step 1 screen work for multiple images. Feature: Added "Apply parameters from another image" choice to popup menu (right-click) on Step 1 screen. Feature: Updated documentation, wizard text. Bug Fix: Corrected parsing of auto-optimizer "opv" instruction. Version 3.6.0 (October 2007) Note: If upgrading from a previous version of PTAssembler, this version will not use your current preferences, because of the new location where the ptasmblr.ini preferences file is stored (see below for details). If you want to keep your current preferences, here is the recommended procedure: 1. Install the latest version of PTAssembler. 2. Make sure that PTAssembler is not currently running. 3. Copy your old version of ptasmblr.ini (usually found in "C:\program files\ptasmblr\") into the new preferences directory (usually "C:\Users\{username}\AppData\Roaming\PTAssembler" or "C:\Documents and Settings\{username}\Application Data\PTAssembler"). 4. Restart PTAssembler. Feature: Added interactive preview viewer/editor screen. This eliminates the need to use a external application to view preview (small-scale) images. The new preview viewer/editor also allows for interactive adjustments to the panorama (i.e. FOV, yaw, pitch, roll, projection, etc.) and immediate previews of these adjustments. An option to use an external application for previews is retained. Feature: Added option to "pre-process" images with GREYCstoration noise reduction program before stitching. Added interactive screen to evaluate and preview the impact of various GREYCstoration parameters on a test image. See: http://www.greyc.ensicaen.fr/~dtschump/greycstoration/ Feature: Removed option to assume all images have same file size (improved speed to detect file dimensions, so this option is no longer needed) Feature: changed implementation of Auto-level and Auto-Rotate buttons on Step 4 screen so that they are (a) faster and (b) no longer use the optimizer. Feature: Added numerical transform dialog to allow repositioning of images in project, while maintaining relative positioning. Feature: Numerous improvements to internal projection logic. Autosize routine should work more accurately. Feature: Enhanced Shutdown feature on Step 4 screen to shutdown after optimizer completes as well as after auto-optimizer completes. Feature: Added logic to ignored EXIF data used to report sensor size for (used to calculate focal length multiplier) for Canon G9...EXIF data reports incorrect values, and cannot be used. Feature: If image files do not contain necessary EXIF data to compute focal length/multiplier, added logic to search for RAW files (dng, crw, cr2 formats) in same or parent directory and extract EXIF data, if possible. Feature: Changed data reported by Help|Check Installation menu item to report additional information including versions and dates for all required Visual Basic system files. Feature: Changed location for PTAssembler's preferences file (PTAsmblr.ini) and lens database file (lens_settings.txt). These files are now stored in PTAssembler's sub folder in the "user application data folder". The folder name varies depending on the version of Windows, but is typially something like: C:\Documents and Settings\{username}\Application Data (XP) C:\Users\{username}\AppData\Roaming (Vista) Older versions of Windows still store these files in the same directory as PTAssembler. Bug Fix: Modified logic to calculate region of interest when producing cropped output in PTMender. Version 3.5.0 (January 2007) Note 1: PTAssembler 3.5.0 includes numerous changes over previous versions, many of which are internal. As such, these changes should be transparent to the user. The most significant internal change is a rewrite of the way in which PTAssembler controls external programs (e.g. PTStitcher, PTMender, Enblend, Smartblend) and tracks their progress during the image creation process. This should allow more reliability, more flexibility (i.e. a second panorama can be launched while the first is still processing), and more feedback during processing to enable easier debugging of problems. It also allows for the execution of projects outside of PTAssembler. Note 2: Starting with this version of PTAssembler, PTMender and PTOptimizer no longer depend on any external DLL files. This means that the file sizes for PTMender and PTOptimizer are larger than in older versions, but eliminates the possibility for any problems due to mismatched versions of these programs with pano12.dll or pano13.dll. PTStitcher still requires pano12.dll to function correctly. Feature: Added ability to crop the final blended TIFF file (if using Enblend or Smartblend) to the "interior bounding box". This feature preserves as much of the image as possible while removing all extraneous "empty space" around the final image. Feature: Added option to launch final image in viewer application after stitching completes. Feature: Added support for Autopano-SIFT as a plugin. (Although confusingly named, "Autopano-SIFT" and "Autpano" are two different applications written by two different authors.) PTAssembler requires two programs from the Autopano-SIFT distribution (Autopano.exe and generatekeys.exe). See: http://user.cs.tu-berlin.de/~nowozin/autopano-sift/ Feature: Added option to "pre-process" images with Neat Image noise reduction software before stitching. See: http://www.neatimage.com Feature: Added ability to include/exclude images for stitching on Step 5 screen. Feature: Added right-click popup menu for unlinked lens parameter selection boxes on Step 4 screen. Feature: Added Sunrise/Sunset calculations as part of project properties. Feature: Added EXIF/UTC and Local/UTC time offset fields on GPS tab of preferences screen. (Useful for sunrise/sunset calculations and cameras with internal clock not set to local time). Feature: Changed URL for google maps to generate "hybrid" maps. Feature: Added prompt to save project when exiting...only occurs if PTAssembler detects a change in the project since last save. Feature: If "shift" key is pressed when exiting, PTAssembler exits immediately without prompting to save any existing project. Feature: If "shift" key is pressed while File|Save As... menu choice is selected, PTAssembler will generate a new default name for the project by reanalyzing the file names in the project. Feature: Added option to use system default viewer as viewing application. This is on by default, but can be turned off via preferences screen. Feautre: Moved checkbox to use cropped TIFF output (PTMender) from step 5 to preferences screen. Feature: Added menu choice to write project execution script (writes a batch file that can be used to execute project outside of PTAssembler). Feature: Improved algorithm to pick widely distributed control points from Autopano during Autocreate process. Feature: Added additional information to "check installation" feature. Feature: Added "thin by location" option to control point screen. This removes control points, keeping those that are most widely dispersed throughout overlap region. Feature: Added ability to thin control points (i.e. remove control poitns) by optimized distance, or by location on Step 3 screen. Use the "H" button to thin by optimized distance, "H" button with shift key pressed to thin by location. Keyboard shortcuts of H and Shift-H perform same functions. Feature: Numerous improvements in speed to reading and writing project files and PTStitcher/PTMender/PTOptimizer scripts. Feature: Added ability to launch multiple processes simultaneously when stitching TIFF_m/TIFF Blended format. Produces large speed gains when used on multi-processor machines. Configurable via Misc tab of preferences screen. Bug Fix: Fixed problem parsing morph-to-fit data from PTOptimizer output. Bug Fix: Fix to incorrect positioning of cursor in opposite viewer window when setting control points near t1, t2, t+ control points. Bug Fix: changed auto-optimize logic so that yaw is never optimized, even if project contains horizontal line control points. Version 3.4.0 (June 17 2006) Feature: Added support for Smartblend. New options added to Plugins tab of preferences screens to configure Smartblend and switch between Enblend and Smartblend. Feature: Renamed output format on Step 5 from "TIFF_m/Enblended" to "Blended TIFF". Feature: Includes latest Panorama Tools files as of June 14, 2006. Bug Fix: Corrected problem with "Copy to clipboard" button on Panorama Tools installation check dialog box. Version 3.3.1 (June 13 2006) Note: No changes to PTAssembler. This distribution includes updated versions of Pano12.dll, PTMender.exe and PTOptimizer.exe. Projects with 360/180 degree fields of view should now be better processed using PTMender. Version 3.3.1 (June 11 2006) Note: No changes to PTAssembler. This distribution includes updated versions of Pano12.dll, PTMender.exe and PTOptimizer.exe. Brightness and colour correction should now work with PTMender.exe. Version 3.3.1 (June 6 2006) Note: No changes to PTAssembler. This version includes recompiled versions of Pano12.dll, PTMender.exe and PTOptimizer.exe. Version 3.3.1 (June 4 2006) Bug Fix: Prevented auto-optimizer from creating script with FOV>180 and rectilinear projection. Version 3.3.0 (June 2006) Note: PTAssembler 3.3.0 adds support for PTMender: a faster, more memory efficient replacement for PTStitcher. PTMender is an open-source, free program and can be used instead of PTStitcher. To instuct PTAssembler to use PTMender, specify PTMender's location on the "Files/Dirs" tab of the preferences screen. PTMender is distributed with PTAssembler, and its source-code can be downloaded from the Pano Tools sourceforge site. Feature: Added support for PTMender: a faster, more memory efficient replacement for PTStitcher. Feature: LZW compressed files are generated for TIFF_m and TIFF_mask format when using PTMender. These are considerably smaller than the files generated by PTStitcher, and are more compatible with Photoshop than the TIFF files output by PTStitcher. Feature: Added checkbox for cropped TIFF output on step 5. Feature: Added support for 4 new output projection formats: mercator, transverse mercator, stereographic & sinusoidal. These formats require pano12.dll version 2.8.3 or later. Older versions of pano12.dll will not operate correctly if any one of these output formats is selected. Feature: Added suggested uses for projection on Panorama Projection drop down box (step 2 screen). Feature: changed stitcher syntax to improve compatibility with other stitching software. Feature: Enabled Pano Tools fast-transform by default (added "f0" to m line for stitcher script). Feature: Updated usertools.txt with new syntax options. Feature: Improved auto-size algorithm for output images using cylindrical projection. Feature: Added ability to query pano12.dll to request feature list. using "Check Panorama Tools installation" menu item. Feature: Added more sophisticated checking and warning for mathemtically impossible or undesirable FOV and projection types (e.g. rectilinear projection and 200 degree FOV) before stitching and optimizing. Feature: Changed preview/temporary JPEG filenames to include date/time, FOV and projection. Feature: Updated wizard text. Bug Fix: Moved position of circle in magnifier window that illustrates position of selected control point Bug Fix: Corrected auto-optimizer settings (replaced eq_yaw with eqyaw) Bug Fix: Fixed "invalid property" message when minimizing message windows via toolbar icon. Bug Fix: Changed crop factor for Canon 20D to 1.59 from 1.60. Version 3.2.0 (December 2005) Feature: Added new properties screen to hold metadata about project. Feature: Changed EXIF parsing routine to read "DateTimeOriginal" tag, rather than "DateTime" tag (better compatibility with TIFF files produced by Raw Shooter Essentials). Feature: Added GPS capabilities: Ability to parse GPX (GPS information) data files Ability to cross-reference GPS data time with image data time and deduce longitude, latitude and elevation Ability to display GPS information on properties screen Ability to map locations via configurable URLs Ability to store GPS data as part of project file Feature: Added ability to launch PTAssembler from command line and stitch or autocreate a project. See documentation. Bug Fix: TIFF files can now be read correctly on Win XP SP2 systems. version 3.1.3 (October 2005) Bug Fix: Added more logic to deal with incorrectly specified or missing preview viewer. Bug Fix: Solved bug that prevented Enblend from being launched after stitching. version 3.1.2 (October 2005) Feature: Added ability to resize image in reference point picker window. Feature: Tool-tip text on Step 3 image tabs includes image name. Feature: Added ability to launch image in preview viewer from popup menu on Step 3 screen. Feature: Added fallback logic in case preview viewer isn't specified or not found...PTAssembler attempts to use default system viewer. Feature: Improved caching logic to speed up "next"/"previous" buttons on Step 3 screen. Feature: Added ability to check/uncheck multiple boxes simultaneously in the "Use control points from...", "Lens parameters", "Yaw", "Pitch", "Roll" boxes on Step 4 screen (select multiple images and right-click to activate). Feature: Step 4 parameter editor dialog allows for the new value to either (a) add or (b) replace current value. Feature: Added new error messages to warn if user has requested post-processing, but not specified a post processing command. Bug Fix: Corrected parsing of "Optimize b" setting when reading project file. Bug Fix: Added error handling to deal with bad EXIF data that reports lens focal length = 0mm. version 3.1.1 (October 2005) Feature: Added support for mousewheel. Mousewheel scrolls images in Step 3 viewers. Click wheel to alternate horizontal/veritcal scroll. Feature: Added option (on by default/see preferences screen) to show Micro-position distance next to control points on viewers in Step 3. Feature: Hitting "Cancel" on dialog that appears after exiting PTAssembler and being prompted to save project will cause PTAssembler not to quit. Feature: Modifications to auto-optimize logic to work more intelligently with horizontal and vertical line control points. See documentation. Feature: Microposition feature for t1/t2 control points can be enabled/disabled via preferences screen (disabled by default) Feature: Improved auto-resize algorithm for columns in table on Step 1 screen. Can be disabled via preferences screen. Feature: 'f0' is added as an extra m_line parameter by default for new installations of PTAssembler. See 'Misc' tab of preferences screen. Bug Fix: More than 255 images can be displayed on Step 3 screen. Bug Fix: PTAssembler now only attempts to microposition t0 type control points. Bug Fix: EXIF data is updated on step 1 screen after navigation with keyboard. version 3.1.0 (September 2005) Feature: Added workaround for Autopano's 8-bit image limitation...16 bit TIFF files are converted to 8 bit versions by PTAssembler before launching Autopano. Feature: Default sort order of control point screen is now reverse order for optimized control point distance. Feature: Added ability to interpolate values for yaw, pitch and roll between images. Right click on table on Step 1 screen. Feature: EXIF data on Screen 1 now includes date/time. Feature: Project Properties dialog shows total count of all pixels in input images. Bug Fix: Allowed no arguments to be specified for Enblend, and saved correctly between sessions. Bug Fix: Autopano output parsed correctly when images are contained in different directories. version 3.0.4 (May 2005) Bug Fix: Fixed problem entering lens params on Step 4 screen when FOV is unlinked. Bug Fix: Fixed problem with Batch Processor incorrectly specifiying path to images. Bug Fix: Fixed bug that caused error when trying to import more than 32,000 control points from project. Bug Fix: Fixed bug that caused non-fatal error when launching project with a large number (i.e. 180+) of images version 3.0.3 (April 2005) Feature: Changed method used by Autocreate to filter control points from Autopano output. Bug Fix: Fixed problem where too many control points could get filtered using Autocreate prior to second optimization. Bug Fix: Fixed problem with non-integer settings for zoom factor on preferences screen. version 3.0.2 (February 2005) Bug Fix: Relaxed logic that assumes a 360x180 degree panorama is user's intention when autosizing projects with large FOV. version 3.0.1 (February 2005) Bug Fix: Fixed "Unhandled exception parsing line *** in project file" error when loading some project files. version 3.0.0 (January 2005) Note: Starting with this version, the necessary files from the Panorama Tools (PTStitcher.exe, PTOptimizer.exe and Pano12.dll) are distributed and installed with PTAssembler. PTAssembler will not overwrite any existing version of these files. Feature: Added 'Auto-Create' feature. PTAssembler automates all steps needed to create a final panorama without any user intervention. Load images onto Step 1 screen, and press the 'Auto-Create' button to produce a final panorama. Feature: Added 'Auto-rotate' feature on Step 4. PTAssembler rotates all images in project to ensure maximum usable vertical area (useful for images taken on a tripod with "sag" where all images are slightly rolled. Feature: Speeded up switching to next images by re-using images loaded in opposite viewers. Feature: Added option to start PTAssembler as maximized window. Feature: Last used lens parameters (a, b, c, FOV, multiplier, etc.) are populated on step 2 screen when PTAssembler is started. Feature: Added "reset" button to reset lens parameters to default values on Step 2 screen. Feature: Added hard-coded focal length multiplier for Canon 20D (to workaround bug in the way Canon 20D records EXIF data). Feature: Added small database of focal length multiplier information for selected cameras. Feature: Added ability to assume a focal length multiplier if not found in EXIF data and/or to override focal length multiplier (see misc tab of preferences screen). Feature: Split Auto-size padding factor into FOV padding factor and width/height padding factor (see preferences screen). Feature: Increased preferences dialog size and moved a few options around. Feature: Added warning if trying to stitch images on a non-writable disk. (Pano Tools requires images and scripts to reside on a writable disk.) Feature: Color-coded "important" buttons on GUI to help new users. Feature: Added check for Enblend and Autopano installation in help menu. Feature: Median control point distance statistic not computed for projects with a lot of control points (takes too much time). Feature: Added more status dialogs when performing lengthy tasks (e.g. reading/writing large projects). Feature: Ctrl-left-click on control point screen sets reference point, but does not reset roll parameter. Feature: Added logic to try and determine user's intention to create a 360x180 degree panorama, and auto-size parameters (Step 5) accordingly. Feature: Added abilty to delete control points on Step 3 screen using delete key in control point list view. Feature: Enhanced "Check panorama tools installation" menu item to report on installation status of Enblend and Autopano. Bug Fix: Corrected "intelligent" positioning of scroll bars on viewers when some scroll bars are not visible. Bug Fix: Fixed problem parsing Exif data for shutter speed in APEX format. Bug Fix: Fixed error computing median control point distance statistic. Bug Fix: Enblend thread priority set correctly. Bug Fix: Magnifier cursor icon reset when switching to new screen from step 3. Bug Fix: Fixed problem where images got deleted from project if Step 1 screen wasn't fully populated before switching to another screen. version 2.5.0 (October 2004) Feature: Added ability decrease magnification of main viewer windows on Control Point setting screen (Use [, ], and shift keys on Step 3). Feature: Added ability to zoom in/out on any point in viewer windows on Control Point setting screen (Use Alt/Ctrl keys and mouse click on Step 3). Feature: Added ability to edit selected image/project parameters directly on Optimizer screen...right click on parameter(s) to modify (Step 4). Feature: Added project properties dialog. Feature: Changed PTAssembler icon. Feature: Changed labels for "Horizontal" control points to "Vertical Line", and "Vertical" control points to "Horizontal Line", in response to popular request. Note: This terminology is opposite from the terms used in the Panorama Tools documentation. Feature: Changed labels for "Window Controls" on Step 3 screen to make labels consistent with keyboard shortcuts Feature: Added "cheat-sheet" listing of all keyboard shortcuts on Step 3 screen (Click the "?" button on Step 3). Feature: Zoom window is hidden if caught by mouse-cursor. Feature: Lighten/Darken image buttons on step 3 screen modified to increase/decrease contrast. Feature: Added "Select All" button to Step 1 screen. Featrue: Added "Reset" buttons to Step 4 screen...resets all parameters to zero, except for reference image (if reference image has been selected). Feature: Reference image is written to, and read from, PTAssembler project file. Feature: Focus is set to reference image box on Step 4 screen when switching screens. Feature: Support for Enblend 2.0...memory allocation suggestion when resetting default Enblend arguments on preferences screen. version 2.4.3 (October 2004) Bug Fix: Fixed problem displaying "Control Point Settings" window when called from "Control Point Information" window. version 2.4.2 (August 2004) Bug Fix: Fixed problem with Auto-pano on systems that use "," as a decimal separator. version 2.4.1 (July 2004) Bug Fix: Fixed problem with registration. version 2.4.0 (July 2004) Feature: Added support for Autopano 1.03 (See: http://autopano.kolor.com/). Feature: Added "autolevel horizon" button on Step 4 screen. Feature: Added ability include "autolevel horizon" in auto-optimize commands. Feature: Added auto-optimizer presets, and selection screen. Feature: Added ability to "Post Process" output files. Feature: Added options to "thin" control points on Step 3 and Control point information screen. Feature: Added "refresh" and "delete all control points" on control point information screen. Feature: Made control point information screen non-modal. Feature: Added ability to add extra parameters to m-line (for alternative pano12.dll implementations). See Misc tab of preferences screen. Bug Fix: Autoposition mouse cursor now only works with t0 control points. version 2.3.4 (June 2004) Bug Fix: Fixed "Error 28" when drawing unmatched line pair in viewer window. version 2.3.3 (May 2004) Feature: Added option to assume all images in a project are the same size...speeds up loading new images. Feature: Added option to allow reference point selection to set roll for all images in project. Bug Fix: Fixed error with viewers when control point is selected. version 2.3.2 (March 2004) Bug Fix: Fixed problem parsing t1, t2, t+ control points from project files. version 2.3.1 (March 2004) Feature: Added support for Enblend (http://www-cad.eecs.berkeley.edu/~mihal/enblend/). Options added for new "Enblended" output type on step 5 screen. Configurable on preferences screen. Feature: Added ability microposition multiple control points. Added 'm' button on Step 3 screen, and new item under Tools menu. Feature: Added information about micropositioning on control point table. version 2.3.0 (March 2004) IMPORTANT REGISTRATION NOTE: In an effort to combat increasing software piracy, this version of PTAssembler requires an updated registration code. There is no charge to users who have already registered to acquire a new registration code. If you haven't already received an updated code in your e-mail, please send me an e-mail to tawbaware@kagi.com, with your name and current regsitration code. Once you have your new code, you can enter it on the registration screen (found under the help menu) to activate the full version of PTAssembler 2.3.0. Feature: Added ability to automatically move cursor to likely position in opposite viewer when selecting matching point in control point pair. Feature: Added magnified view of selected control point while choosing matching point in control point pair. Feature: Added circular cursor in zoom window while selecting control points. (Adjustable size in preferences screen). Feature: Added support for Autopano (http://autopano.kolor.com/). Configurable on Preferences dialog. Activated on Step 1 and/or Step 3 screens. Feature: Added display of control points information for each image on Step 1 screen. Configurable on preferences screen. Feature: Added ability to launch selected images on Step 1 screen in viewers on Step 3 screen. Feature: Zoom window disappears when cursor moves out of viewer windows on step 3 screen. Feature: Colors of control point markers should contrast with underlying image. Feature: Added progress dialogs while parsing Pano Tools output. Feature: Shift-Scroll now retains relative position of scroll bars when scrolling. Feature: Shift-Ctrl-Scroll resets relative position of scroll bars when scrolling. Feature: Changed the default optimizer steps followed when using auto-optimizer button. See help file for how to modify defaults. Bug Fix: Fixed problem with auto-shutdown after batch processing. Bug Fix: Fixed problem reading control point settings from project file. version 2.2.3 (December 2003) Feature: Added option to shut down computer when auto-optimizer completes Feature: Added "dummy check" to warn if creating a rectilinear panorama with a FOV of more than 120 degrees. Feature: Added Shift-P, Shift-N keyboard shorcuts to change images in different directions in viewer windows. Feature: Increased speed when loading "all control points" table. Feature: Added tooltip help to viewer tabs indicating adjacent images with shared control points for loaded image. Feature: Added all/none buttons for selecting/deselecting images to use when optimizing Feature: Added ability to reset/update/remove multiple images on Step 1 screen Bug Fix: Corrected bug that prevented multi-img TIFF filenames from being generated correctly when added to batch processor. Bug Fix: Removed warning about invalid C lines when running a project in batch processor. Bug Fix: Fixed problem displaying scripts and/or Pano Tools output if file is greater than 64KB (problem existed only on Win 95/98/ME systems). Bug Fix: Fixed problem determining if batch processing completed successfully for some image formats. Bug Fix: Fixed incorrect image numbering when moving files up/down on Step 1 screen. version 2.2.2 (August 2003) Bug Fix: Changed way in which image dimensions are calculated to work around VB bug. version 2.2.1 (August 2003) Bug Fix: Fixed incomplete display of "auto-optimize" results message. version 2.2.0 (August 2003) Added "Save" menu item (in addition to existing "Save as...") Added option to shutdown computer when processing finishes. Note: This may not work on all hardware and/or operating systems. Added ability to generate preview after auto-optimizing without auto-sizing parameters (hold shift key down while clicking "yes"). Added ability to adjust the amount of "black-space" around panorama (hold shift key while clicking +/- buttons on Step 5 screen). Updated help documentation. version 2.1.5 (August 2003) Bug Fix: Another fix to morph-to-fit parsing logic. Bug Fix: Change to eliminate occasional error message after generating preview image. version 2.1.4 (July 2003) Feature: Added help menu link to Tawbaware field-of-view, depth-of-field and mosaic calculators. Bug Fix: Fixed problem reading morph-to-fit data from optimizer output in projects that use control-point alignment other than t0 (horizontal & vertical). version 2.1.3 (July 2003) Feature: Updated links on help menu. Bug Fix: Fixed problem where some users installed PTAssembler and evaluation period was already expired. version 2.1.2 (July 2003) Bug Fix: Fixed problem that prevented some EXIF data/focal length from parsing correctly. version 2.1 (February 2003) Added ability to read EXIF data from JPEG and TIFF files. Most digital cameras produce images that contain EXIF data. This data contains information about camera settings such as shutter speed, aperture, focal length, etc. PTAssembler can retrieve the focal-length (if stored in the EXIF data) and populate the appropriate field on the step 2 screen. Some cameras also store enough EXIF information to allow PTAssembler to compute the focal length multiplier on the step 2 screen. Not all digital cameras store all the EXIF information necessary to compute the horizontal FOV value on the Step 2 screen. However, if your images contain EXIF data, you will see a button titled "Calculate using image EXIF data" on the Step 2 screen. You can also display a summary of the EXIF data by clicking on an image in the Step 1 screen. Added option to run Panorama Tools as low-priority process. Running Panorama Tools as a low-priority process (instead of normal-priority) can make the system more responsive while Panorama Tools is stitching. This option is turned on by default, and can be changed on the preferences screen. Added right-click option on Step 3 screen to toggle on and off micro-positioning for each control point. Added more keyboard support on Step 3 screen: up/down/left/right arrows move cursor. Enter key simulates left mouse click (i.e. sets a control point). + and - keys increase/decrease zoom factor. Windows right-mouse keybard button activates popup menu. Added more accurate computation of yaw/pitch in center picker screen. Added ability to compute FOV from focal length for fisheye lenses on Step 2 screen. Improved auto-size parameter estimates on Step 5 screen. Added link on help menu to an on-line PTAssembler tutorial for beginners. Bug Fix: Fixed problem parsing output file format for projects using JPEG, PAN or IVR format. (Version 2.1.1). version 2.0 (January 2003) IMPORTANT DISTRIBUTION NOTE: Version 2.0 of PTAssembler is a significant upgrade to version 1.x. Numerous new features have been added, and several bugs with version 1.x (including problems running on non-English versions of Windows) have been resolved. Support for existing and new features in Panorama Tools has been added. The program is now more than twice as large as the last release of version 1.x. SCREEN-SPECIFIC CHANGES: Step 1. Source Images Screen: Added support for TIFF files (8 & 16 bit). Added input fields for a, b, c, d, e, g, t, Field-of-view (FOV) for each image (See Step 2). Added Preview button to display source image in preview viewer. Added right mouse button support (add/remove/preview/etc.). Images are sorted alphabetically when added to project. "Save as..." now defaults to directory that contains source images. Added ability to read/write project files that do not contain full-path information for each file (allows used to move project files and images to different directories without editing project file). Version 2.0.11. Step 2. Lens/Settings Screen: Added new morph-to-fit option: "Morph Selected Control Points Only". See Morph-To-Fit improvements below. Added support for horizontal and vertical shear parameters (g,t). Requires "patched" version of Panorama Tools 2.6b1 (see http://www.tawbaware.com/maxlyons/pano12ml.htm). Added ability to "unlink" lens parameters (a,b,c,d,e,g,t,FOV) to differ between images. Can be used to add images taken with different orientations, focal lengths, etc. to the same project. See more details about unlinking lens parameters below. Added Lens Parameter Presets -- quickly store and retrieve lens parameters. Added ability to allow user to input focal length multiplier and focal length to compute FOV (useful for digital camera users). PTAssembler computes "35mm effective focal length", and FOV from actual focal length and multiplier. Added label to indicate assumed orientation (landscape or portrait) when computing FOV from focal length. Added error checking to ensure that user selects a valid image number for color correction. Note: Although Panorama Tools internally numbers the first image in a project as number '0', all PTAssembler references start counting at '1'. Added support for all 8 Panorama Tools interpolator settings. Step 3. Control Points Screen: Added support for "straight line" control points. Requires "patched" version of Panorama Tools 2.6b1 (see http://www.tawbaware.com/maxlyons/pano12ml.htm). Added indicators next to control point markers to visually identify control point type (horizontal/t1, vertical/t2 or Straight Line) and morph-to-fit setting. Added temporary markers (small circles) after clicking on control point screen to assist in selecting control points. Added ability to center selected control point in viewer windows (by clicking on control point list). Added toggle (ascending/descending) sorting for all fields in control point table. Added right-mouse support for control points windows. Right click on a control point to select and display control point options (delete, alignment, scroll, etc.). Right click on an empty region to display viewer options (show next images, maximize viewer size, swap images, etc.). Added option (via right mouse button) to specify if a control point should be used for optimizing (default), morphing when stitching, or both. See Morph-To-Fit improvements below. Added ability to scroll viewer windows together (hold shift key down while scrolling scroll-bars). Step 4. Optimizer Screen: Added ability to optimize shift (d, e) and shear (g, t). Requires "patched" version of Panorama Tools 2.6b1 (see http://www.tawbaware.com/maxlyons/pano12ml.htm). If parameters are unlinked (see Step 2), optimizer screen displays options to optimize a, b, c, d, e, g, t, and/or FOV for each image. Added 'Equalize' buttons for d, e, g, t to recenter values around 0 pixels. Optimizer screen automatically resizes/repositions controls to make more use of space on displays with high screen resolutions. Optimizer uses width/height parameters from final panorama (specified on step 5), not preview panorama. Added more comments to optimizer scripts to help evaluate optimization results. Added ability to switch to Control Point Information screen after running optimizer. Step 5. Create Screen: Improved accuracy of estimates generated by "auto-size parameters" button (now accounts for d/e parameter and computes height/Width/FOV more accurately). NEW MENU ITEMS: Note: In addition to the new menu items listed below, see User-configurable menu items below. View | Show All Control Points. Displays a screen that lists all the control points in the project. Can be used to sort by largest optimized distance, delete multiple control points, etc. Clicking on a row in the table brings the control point up in the image viewers on Step 3 (Control Points Screen). Tools | Show Lens Presets. Displays the lens preset screen to add/recall lens parameter settings. Tools | Show Lens Calculator. Displays stand-alone lens calculator that can be used to convert between focal length and field-of-view. Tools | Apply Parameters From Another Project. Allows user to import all parameters and settings from an existing project and apply to images in current project. Also provides an option to import control point positions from another project. Tools | Display Last Generated Preview Image. Re-displays the preview image created by PTAssembler during current session. Tools | Display Last Generated Final Preview Image. Re-displays the final image created by PTAssembler during current session. Tools | Show Current Project File In Notepad. Opens the current project file in notepad. Tools | Explore Current Project Directory. Opens an Explorer window at the current project directory. Help | Help. Shows new PTAssembler help documention. Help | About. Shows 'about' screen with version / date information. Help | Check Panorama Tools Installation. Verifies location of required Panorama Tools files (PTOptimizer.exe, PTStitcher.exe, Pano12.dll) and reports version numbers and build dates. Help | Register. Use this screen to register PTAssembler. Help | [web links] . Added several link to web resources (PTAssembler home page, Panorama Tools home page, etc.) Additional links can be added by you, the user (see the links.txt file for more information). OTHER GENERAL PROGRAM CHANGES AND ADDITIONS: Ability to "unlink" lens parameters. Previous version of PTAssembler forced the lens parameters to be identical across all images in the project. In other words, they were "linked". This version allows you to specify different values for any of the lens parameters (a, b, c, d, e, g, t, FOV). This is useful if your project includes images taken with different orientations, different focal lengths, or even different lenses. It is also useful to vary the shift (d, e) parameters, in order to create a composite image from images taken where the lens moved in relation to the subject (e.g. a film scan broken into several smaller components). After "unlinking" these parameters on the Step 2 (Lens/Settings) screen, you can enter values on the Step 1 (Source Images) screen and values from one or more images on the Step 4 (Optimizer) screen. Morph-To-Fit improvements. In addition to "morphing" the entire panorama to force all control points to align in the final image, an option has been added to morph only selected control points. This is useful for correction parallax/alignment errors that only appear in selected regions of an image, such as when stitching images taken hand-held, or without a panoramic tripod head. Also, if you have images that show parallax error, it may be the case that you don't want a particular control point to be used when optimizing (because it will may lead the optimizer to produce incorrect values), but you might want to use it when performing the final stitch (i.e. morph the region of the panorama around the control point to ensure that the images align correctly). Thus, control points can now be used for either or both of the following purposes: 1. To provide information to the optimizer to compute the correct values for yaw, pitch, roll, a, b, c, etc. (This is the default use for all control points.) 2. To provide information to the stitcher as to which points should be forced (i.e. morphed) to align. To access this feature, check the box labeled, "Morph Selected Control Points Only" on Step 2, and right-click on control points on Step 3 to specify whether a control point should be used for optimizing, morphing or both. Prior to performing a final stitch, PTAssembler will automatically regenerate the morph-to-fit data used by Panorama Tools to ensure that the values are up-to-date. Lens Presets. If you frequently use the same lens(es) for your projects, you can store all lens parameters (i.e. a, b, c, d, e, g, t, fov) as a 'preset' which can be rapidly recalled into a new project. This eliminates the need to re-type all lens parameters for a new project. Added 'Control Point Information' screen. The Control Point Information screen can be used to view details about all the control points in a project in one place. Rather than just displaying information about the control points for two particular images (as on the Step 3/Control Points screen), the Control Point Information screen can be used to select/display/delete one or more control points in project. Version 2.0.10: Added option to change morph-to-fit and/or optimize option for one or more control points simultaneously. Added stand-alone lens calculator. The lens calculator can be used to convert between FOV and focal length. Panorama Tools requires the user to input the field-of-view for the lens used to take the images. Although PTAssembler can compute field-of-view from focal length, you may wish to enter the field-of-view directly if PTAssembler's calculations are not satisfactory. The lens calculator can assist in converting between field-of-view and focal length. Added several new options. In addition to rearranging the preferences screen, several new options have been added. For example, the ability to configure the "Auto-optimizer" has been added. This allows the user to specify the sequence of optimization steps that occur when the "Auto-optimizer" button is pressed. An option to turn on/off 'auto-regeneration' of morph-to-fit data immediately prior to creating final image has been added. An option to control the text font size used on the control point viewer windows has been added. Added new help documentation. In addition to the existing wizard and extensive Tool-tip help, 'help' style documentation for PTAssembler has been added. User-configurable menu items. The Tools and Help menus can now be modified by the user. You can add links or programs to these menus. See userTools.txt and links.txt files for more information. Added more error checking. Several new warnings have and error-checks have been added to help the user avoid commonly made mistakes when working with Panorama Tools. Added ability to add control points to projects with only one image (useful for determining)lens distortion parameters. Added better choice of default directory for new projects. Added more information (ratio of control point distance to panorama width or height) to screen that displays optimizer results. Added experimental feature, called 'micro-position', to correct slight control point misalignment for precise alignment. Once a control point is placed this feature can be used to analyze a small region around the control point and suggest an alternate placement if the control point appears to be slightly mispositioned. This feature is not perfect, and can be fooled by image noise, rotated or distorted images, etc. It is turned off by default but can be activated on the Advanced screen of the Preferences window. Version 2.0.10: Enhanced feature by speeding up performance, adding option to specify control point search distance and provide a graphical indicator of proposed alternate placement for control point. Added feature to try and detect an existing installation of Panorama Tools. Added prompt to save current project before starting a new project. Added ability to "Cancel" when prompted to save a project before exiting. Added more help information to wizard. BUG FIXES: Bug Fix: Fixed creation of multi-Image Tiff files...previous version appended a file extension to output name which confused Panorama Tools. (version 2.0.9). Bug Fix: Modified algorithm that computes FOV from Focal length on Lens Parameters screen. FOV estimates were incorrect if images were not 3:2 ratio. Bug Fix: Fixed remove button on Source Images screen (some images didn't always get removed). Bug Fix: Corrected sorting by optimized difference on control points screen. Bug Fix: Fixed problems running on systems that use "," as a decimal place separator. Bug Fix: Fixed problems calculating FOV/Focal length/Panorama Height on systems that use "," as a decimal place separator (version 2.0.8). Bug Fix: Fixed problem specifying non-integer gamma settings on "m" lines. Bug Fix: Optimizer script was not correct if some control points were not used during optimization. Bug Fix: Fixed bug that prevented adding many (i.e. 12+) files to project at one time. Bug fix: Fixed problem displaying very small images in viewer and center picker. Bug Fix: "Use Control Points" selections are now remembered during Auto-optimize. Bug Fix: Old parameters and user input values are reset to defaults when starting a new project. Bug Fix: Fixed minor typos and element positioning errors on several screens. Version 1.21 (May 2002) Added ability to understand "," and "." as decimal place separator. Version 1.2 (April 2002) Added Check/Uncheck all buttons. Added new hint showing largest optimized control point after optimizer run. Added "l" and "d" buttons to lighten/darken zoom window image. Suggested project name is generated for all new projects. Bug fix: Stopped program crashing when starting new project from optimizer window. Bug fix: Some projects were not getting added to recently-used menu. Version 1.1 (rev. 2) (February 2002) Added lighten/darken controls on Control Point picker window. Fixed bug with disappearing scroll-bars on Reference Point picker window. Modified default position of horizontal scroll bar when no control points are set. Version 1.1 (December 2001) Added support for Panorama Tools 2.6b1 color blending features. File extension is appended to output filenames if needed. Save output file type to project file. save "last-used" parameters to ini file. Stopped crashing if non-numeric data is entered in parameter fields. (Note use a "." not a "," to specify a decimal place). Version 1.0 (October 2001) Initial release *****Program Status***** Previous versions of PTAssembler were released as freeware, but the time and effort required to create this program makes it impossible for me to continue to give away my work for free. Thus, this version of PTAssembler is released as shareware, meaning you are expected to pay a small fee to "register" it. The program will operate without restriction for 30 days, after which time some features will be restricted if the program is not registered. You can register PTAssembler on-line using the Kagi payment processing service: http://order.kagi.com/?R8U *****Distribution Status***** You may freely redistribute PTAssembler as long as you make no modifications and this file is included. *****Troubleshooting Tips***** If you get an error when trying to start PTAssembler, you may not have the latest Visual Basic files. You can get the Visual Basic runtime files here: http://www.tawbaware.com/vb6tawba.htm. If you think you've found a bug, please feel free to report it. However, please note the following: 1. PTAssembler is a "front-end" for several other programs. (PTOptimizer, PTStitcher, PTMender, Autopano, Enblend, Smartblend). It is possible that the bug may be in one of these other programs, rather than PTAssembler. 2. When reporting a bug, please be as specific as possible about what steps you followed to encounter the problem, the text of any error messages you might have seen, and what steps I should take to recreate the problem. If I can recreate the problem on my machine I have an excellent chance of fixing it. If I can't recreate it, I have very little chance of figuring out what might have gone wrong on your machine. *****Disclaimer***** Your use of this software constitutes your agreement to the following terms: TawbaWare (http://www.tawbaware.com/) and the author take no responsibility for any damages caused by this program. PTAssembler is provided 'as is' without warranty of any kind. Use them at your own risk. I disclaim all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall I be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages. Whew! Use at your own risk and enjoy! Max Lyons tawbaware@kagi.com