Fast Interpolator

I have done a little test with Fulvio Senore's speed improvements to Panorama Tools library.
Using a similar image as Helmut Dersch used to test Interpolator Quality just that my image was made bigger by duplicating some of the image, then cropped again to the original size.

Quality


The original image.
Original


These two were rotated 5 deg 36 times using poly 3 interpolator.
Original "Slow" method
New Fast method
slow fast

I can not see any difference between the two images.

Stacking bother images on top of each other and setting the blending mode to difference

The combined image looks black but
there is just a little dark grey.
By changing the levels it is possible to see.
Histogram Levels


Here is the difference after adjusting the levels.
difference

After 36 separate transformations, there is very little difference between the quality of the two methods.

Speed

The Fast Transform library was compiled with MS Visual Studio 2003. 
The original "slow" library was compiled with MinGW.
My machine is a Win PC AMD +1400 with 768MB RAM.
The image is a 4000 X 4000 8 bit Grey scale TIFF image.

Comparison
of speed
Original
New with Fast
Transform On
Increase from
Original
New with Fast
Transform Off
Increase from
Original
Nearest neighbor
0:48
0:10
4.8
0:35
1.37
Bilinear
0:49
0:10
4.9
0:35
1.4
Poly 3
0:54
0:12
4.5
0:37
1.46
Spline 16
0:57
0:12
4.75
0:37
1.54
Spline 36
0:58
0:15
3.87
0:41
1.41
Spline 64
1:04
0:19
3.37
0:44
1.45
Sinc 256 3:23 2:19
1.46
2:44
1.24
Sinc 1024
7:32
6:22
1.18
6:36
1.14
Just compiling the code with VS gave a 1.2 to 1.5 times improvement.  Combined with using the Fast Transformation increased this up to 4.9 times.  This is very impressive.

On a side note.  The time difference between Nearest neighbor, Bilinear, Poly3, Spline16, Spline36, and Spline64 are some small compared to the quality it does not make sense to run anything lower than Spline36.



Page last modified April 18, 2006
All content is 1991-2007 All Rights Reserved.
All trademarks are property of their respective owners.