|
From: Max L. <max...@ve...> - 2006-05-24 06:16:28
|
I've just checked in my changes to PTMender. There are a lot of changes...PTCommon has been significantly modified to process files using "cropped" TIFF as its intermediate format. The end result is dramatically faster processing times and much less memory use than PTStitcher. Unlike the old PTStitcher (which became exponentially slower the more images were added), PTMender's processing speed should be a linear function of the number of input images. I did some quick speed comparisons with a 180 megapixel mosaic, consisting of 25 8 megapixel images. 8.5 minutes: Cropped TIFF output, fast transform enabled 30 minutes: Normal TIFF output, fast transform enabled 6+ hours: Normal TIFF output, fast transform disabled (estimated...ran out of patience!) The complete list of changes is below. Also...I've uploaded a compiled binary version (Windows only) of pano12.dll and PTMender to my site here: http://www.tawbaware.com/maxlyons/pano12ml.htm Max ====================== 2006-05-24 Max Lyons <max...@ta...> * PTCommon.c: All logic has been reworked so that "cropped" TIFF files can be used throughout the stitching process for all currently supported output formats. (Cropped TIFF files are those that are just large enough to contain the remapped image, and the offset/full size information is stored in the TIFF header). Modified functions include ReplaceAlphaChannel, CreateAlphaChannels, AddStitchingMasks, FlattenTIFF, createPanorama. New functions include getCropInformationFromTiff, setFullSizeImageParameters. * PTCommon.c: Simplified ComputeStitchingMask8bits syntax * PTCommon.c: CreatePanorama. Reworked logic to handle intermediate output files and produce final output in various formats. Added logic that decides when to use cropped TIFF as intermediate format based on chosen output format. TODO: this could use some tidy up, and it might be a good idea to have cropped TIFF as the default intermediate format for TIFF_m and TIFF_mask, and include a function to "expand" the cropped TIFFs to full size when finished (if the user requests non-cropped TIFF). * PTCommon.c: Reluctantly commented out calls to TIFFSetWarningHandler and TIFFSetErrorHandler...these cause to GCC to abort, with a series of errors about multiple definition of TIFF functions in libpano and libtiff. * PTCommon.c: Changed title bar of progress dialog to indicate currently processing image number (indexed at 1) and total images to be processed. * ColourBrightness.c, PTMender.c : changed #include syntax * file.c: writePSD, writeLayerAndMask, writeChannelData, getImageRectangle, addLayer. Reworked to handle "cropped" files. * filter.h: getCropInformation. Adding declaration. * tiff.c: readTIFF. Storing filename of TIFF in im->name. * panorama.h: Adding CropInfo struct...used for processed cropped images * pt_stdint.h: Fixing bad CR/LF combinations |