- A new release of PTStitcherNG, now for Windows, MacOS and X86-Linux. This is the first beta-release, and supposed to being useful on its own in addition to being tested. It works as a fast replacement for the combination PTStitcher (or compatibel remapper) + blender (e.g. enblend).
Some speedresults first, obtained with my fastest platform (Intel Celeron 1.8GHz, 1 GByte ram, Nvidia GeForce GTX 285, OpenSUSE 11.1):
3 x 11 MPixel -------> 18 MPixel equirect 2.1 sec
(the decimal point is correct)
337 x 6 MPixel ------->1433 MPixel cylinder 250 sec (4min 10 sec)
The cellprocessor version (Playstation 3) has been discontinued: Recent decisions by Sony (new PS3 without Linux) and IBM (dim future for the cellprocessor) made me switch to CUDA as one basis for PTStitcherNG. Friendly folks from Nvidia sent me one of their gpu-cards for evaluation. However, PTStitcherNG also runs very fast on plain vanilla current x86 systems.
What is PTStitcherNG ?
PTStitcherNG reads and transforms any number and type of input images, and combines them into one seamless panoramic image with larger field-of-view. Given enough input images, full spherical 360x180 degree views can be synthesized suitable for virtual-reality viewers or printing. Transformation parameters and names of the input images are read from a plain-text projectfile. The transformations consist of correcting distortions due to camera lenses, perspective tranlation and remapping to any of the usual panorama projections. Merging employs an eight level multiresolution algorithm which hides seams even if the source images fit badly. PTStitcherNG natively reads PPM, TIFF and JPEG images, and almost any raw or other format through plug-ins.
PTStitcherNG combines a panorama stitcher and multiresolution blender in one application. It is optimized for speed by using parallel processing (SIMD-instructions, multiple processor cores). The main novel feature is the tight coupling of the remapper and blender, with an optimized management of temporary data. This enables PTStitcherNG to keep all intermediate data and processed images in ram (in the case of the CUDA-version: in gpu-ram) even when stitching hundreds of images to gigapixel sized panoramas. As a result, no data have to be written to disk, or reread from disk with corresponding speed improvements. As an aside, this makes PTStitcherNG perform fast even on low profile host systems: E.g. the 2.1s result mentioned above is obtained on a single-core Celeron system.
PTStitcherNG is free software. No license is required to download and use it.
More info and download at <http://www.fh-furtwangen.de/~dersch>
Season's Greetings and best wishes
- Hello Helmut,
Here Roberto Gomez from Mexico City.
First let me thank you so much this new release and all your efforts (past
and present) for this panoramic community.
I really appreciated it.
Well, I downloaded the PTStitcherNG app and want to share with you and the
list my findings.
Here are the specs of my Windows PC System:
Processor: Intel Core i7 920 running at 2.8GHz ( can be over clocked to
RAM: 6 GB of DDR3
OS: Windows 7 Ultimate 64 bit
Video Card: nVidia GeForce GTX 285
With this setup (not over clocked ) I was able to test PTStitcherNG and
PTStitcherNG_Cuda with the project included on your distribution file.
Trying to run the stitcher with the following command line:
PTStitcherNG.exe -o output.tif project.txt
Running PTStitcherNG.exe most of the time shows the following error:
PTStitcherNG.exe has stopped working
A problem caused the program to stop working correctly.
Windows will close the program and notify you if a solution is available.
Strange is that a few time the command line runs all the way and finished
On my system when it finished, it reports a total processing time of
In order to run PTStitcherNG.exe without the error message I tried to run
the program in compatibility mode.
Running PTStitcherNG.exe as administrator does not makes any difference.
On Windows 7 you can run an executable in the following compatibility modes:
Windows 98 / Windows Me
Windows NT 4.0 (Service Pack 5)
Windows XP (Service Pack 2)
Windows XP (Service Pack 3)
Windows Server 20003 (Service Pack 1)
Windows Vista (Service Pack 1)
Windows Vista (Service Pack 2)
On my system all the compatibility modes shown the same behavior ( error
message most of the times and a few times finished the task without error )
except Windows 95 and Windows 98 / Windows Me modes. On those PTStitcherNG
always runs fine without a problem (sans not using all the resources of my
system like all memory available and not all the multiprocessing installed
on the CPU).
So we can run PTStitcherNG in a reliable manner using Windows 95 and Windows
98 / Windows Me compatibility mode.
Using this modes my system reports a total processing time of 5.959210s (
more than double the time ).
In order to run and test PTStitcherNG_cuda first I had to download to files
from the nVidia web site.
For my system first the Cuda Driver:
cudadriver_2.3_winvista_64_190.38_general.exe (138 MB).
And later you have to download the CUDA Toolkit: cudatoolkit_2.3_win_64.exe
and not the CUDA SDK code samples as you pointed on your documentation.
From the CUDA Toolkit all that is needed is the file cudart.dll located on
the 32 bit folder, not the 64 bit one since PTStitcherNG_cuda.exe is a 32
Once I copied the cudart.dll into the PTStitcherNG_cuda folder I was ready
to test the following command line:
PTStitcherNG_cuda.exe -o output.tif project.txt
Same problem as with PTStitcherNG.exe.
It shows compatibility mode errors, but since the process will be run at the
graphics card hardware, it does not matter since the running time will be
the same no matter which mode is used.
Without error message was successfully on Windows 95 and Windows 98 /
Windows Me compatibility modes.
Using this modes my system reports a total CUDA processing time of
Hope this report could be of help.
Best regards from Mexico City.
And a happy new year for all of us.
Roberto Gómez Torres
Mexico City, Mexico