Readme PanoTools 2.6b1 for Windows, MacOS and Linux Changes to version 2.6b0 - Colour correction capability in PTStitcher expanded: option 'k' - corrects rgb-channels (as in previous version) option 'b' - corrects only brightness, no colour change option 'd' - correct only colours, no brightness change - Linux version added, with sources for library file - Fixed bug in PTAverage (command line parsing) Changes to version 2.5b2 - Colour correction capability in PTStitcher added. See - PTEditor: Switched order of roll and pitch transformation in preview; now matches the subsequent 'Paste' operation. Changes to version 2.5b1 - Fixed bug in PTEditor: Insertion of previously extracted images did not work correctly. Changes to version 2.5b0 - Fixed bug which scrambled PSD-multilayer output with 48bit input. - Fixed memory leak in PSD-writer. The output format "PSD_mask" now requires significantly less memory. - Option "PSD_mask" now includes all pixel data, not just the unmasked areas. Therefore, stitcher seams may be moved and edited now. - New scripting option for cropping input images added (command 'C'). The syntax is identical to the "selection" command ('S'). All image parameters (e.g. field-of-view) refer to the cropped part of the image. Example: o f0 y0 p0 r0 v70 C10,200,20,150 The image is cropped to the rectangle left=10, right=200, top=20, bottom=150. The field of view (70 degrees) refers to the cropped image. - PTEditor now supports HTML-file output, and fisheye-format input. See updated documentation Changes to 2.5a1: - Sources are now included in the distribution. See the separate Readme file in the Sources directory about how to build the application. Changes to 2.5a0: - MacOS version added - works on MacOS 9.1 now. This required major changes. Btw: avoid this OS. Everything is slowed down including PanoTools. Some API functions just don't work. I am using it only for testing. - Feather tool fixed - The new multiple-layer TIFF-output option has been changed to generate multiple individual images, everything else did not work on Macs. It has the advantage, that users without Photoshop can now also work with multilayer panoramas. - TIFF warnings suppressed (now reads Photoshop TIFFs without complaining). All my BMP-images work with PTStitcher, so I couldn't address the problem which some users reported. The color correction switches do not work yet. PTStitcher: =========== Large parts of PTStitcher have been rewritten. The previous version was closely related to the Panorama Tools plugin, and therefore treated the input files sequentially. Each input image was read, remapped, and merged to the final panorama. This required commands like '+buf -buf' to manage this merging. The new version now remaps all images first to an intermediate multiple image TIFF-file. All further actions like seaming, blending etc are then performed using this file. This approach is faster, requires less memory, and is more flexible with better results. It also makes the 'buf' commands obsolete. The "old" stitching method is still available through the 'adjust' Photoshop plugin, but will be removed in future versions. The remapper uses significantly less memory, see below. The seamer is completely new and works much faster than the old version, especially with large images. Typically, stitching is now faster than remapping. There is also more feedback about what the program is doing at any time. Supported Input File Formats: TIFF - The open TIFF library by Sam Leffler/Silicon Graphics, except LZW-compression, is used to read TIFF images. To input 16bit sample-sized images (ie 48/64bit pixels), use planar-configuration. This is default for most TIFF-writers. The same applies if an alpha-masked image is used. Non-planar images are also read correctly, but automatically converted to 8bit samples, and alpha is stripped. PNG - Guy Eric Schalnat's libpng is used to read any type of PNG-file, including 16bit sampled images. JPEG, BMP - like previous versions of PTStitcher. Supported Output File Formats: TIFF_m - Multiple image TIFF-file. This is similar to the previous PSD_nomask format, except that it is 16bit capable. Unfortunately, Photoshop can just read the first of the multiple images (or I missed something). GraphicConverter on Macs and I_View on PCs can read it correctly. TIFF_mask - Same as TIFF_m with stitching masks. This is similar to the previous PSD_mask format, with 16bit capability. PSD_m - alias for PSD_nomask PNG TIFF - Now uses packedbits compression. JPEG,VRML,PICT,QTVR,IVR,... like previous version. Memory Requirements: are significantly reduced. Image remapping now uses a tiled-output algorithm which allows to create almost unlimited sized panoramas on small computers. Stitching is more disc-based, which reduces memory requirements by 50-65% compared with the previous method. The following are estimated RAM and disc-sizes for a panorama with size pano_size, and num_im images of size im_size. pano_size and im_size are uncompressed sizes, ie width*height*4(8) bytes. TIFF_m: RAM = 1 * im_size + 1MByte DISC = (1-2) * pano_size All other formats: RAM = 1 * pano_size + 1MByte DISC = (1-2) * pano_size + num_im * im_size Masking of Input Images: This was previously controlled using the 'm' options, which are now ignored. Instead, a selection rectangle can be set by adding 'S' (capital letter) followed by the pixelcoordinates left,right,top,bottom to the appropriate 'o'-line. Example: S100,600,100,800 Only pixels inside the rectangle will be used for conversion. Please note, that image parameters like field-of-view still refer to the whole image, not just the rectangle. An exception to this behaviour are circular fisheye images, format 'f2'. The selection above now is interpreted as circle with the same diameter as the width of the rectangle. This diameter may be larger than the width of the image. This makes it possible to correctly mask fisheye images from D1 and other digital cameras. Finally, an arbitrary mask may be set using an alpha mask for the input image. Only TIFF and PNG formats support this option. The resulting masks are remapped and used by the stitcher like any other mask. Feather Stitching masks are feathered using a width taken from the 'u' parameter (default 10 pixels). This was previousy an 'o'-line parameter. It is now read from the 'p'-line and globally used for all images. Command line Input image names had to be supplied on the command line, which causes problems on the Windows platform due to the limited length of this line. Now imagenames are read from the 'i'-lines in the scriptfile, and don't have to be supplied separately. If they are, then these values override the names in the script. Calling PTStitcher on the commandline can now be as short as PTStitcher -o pano.jpg script.txt PTPicker now uses this convention to call the helper application. PTEditor: ========= This JAVA application can interactively extract and insert images from panoramas. These images can be edited by your favorite Graphics program. This program had been posted for the MacOS-platform, and the corresponding Readme file is included. There is a small bug which I haven't been able to solve yet: The progress bar window which appears when inserting or extracting images, is shown minimized. This seems to be a consequence of JAVA-C interaction, since the same code behaves normal in the plugin. PTPicker: ========= Only change to PTViewer is an experimental autoalign feature available in the 'Edit' menu. Select a control-point and press 'align'. The point in the selected window is registered and aligned to subpixel accuracy. This algorithm was a quick hack and needs some more refinement. Panorama Tools Plugin: ===================== A bug in the 'Preferences' dialog has been fixed, which prevented selecting long filenames for temporary images or the host Graphics program. The Pan-control plugin has been removed. Its functionality is contained in the PTEditor application. I will remove more features from the plug-in in the future: Stitching will go, and the 'remap' and 'pespective' plug-ins will be removed, since their functionalities are available in the other two. PTOptimizer =========== The optimizing feature of PTPicker has been put in a separate helper application, which reads the script, and appends the stitching commands. This is not the old PTOptimizer version which worked without control points. The optimization algorithm has been changed. The previous versions used the pixel distance of control points as figure of merit for the optimization process. This overemphesizes points at large pitch angles, and made insertion of nadir/zenith images difficult. The new version optimizes the angular difference. The result script still lists the pixel distance since this is easier to interpret. Control points set with 't1/2'-option, which is used for vertical/horizontal alignement, are still processed using the pixeldistance method. Helmut Dersch