Sunday, September 27, 2009

Spherical wavelets toolbox - run on windows

I recently began to work on a project concerning dynamic visual attention (VA) on the sphere, and the current code base uses Yawtb and SpharmonicKit.
Since the camera used in the project has only MS Windows drivers, I wanted to run the algorithms in the same OS. A quick google search turned only to posts with similar questions (see questions on Chris Rodgers software blog).
So, I took the plunge and tried to compile on my WinXP SP3 box, with MS Visual Studio 2005. I used premake to create the target projects, based on a quick look at the Makefiles. Note that I replaced the SpharmonicKit27 interface with the more recent S2Kit, which uses fftw for faster Fourier transforms.
Apparently, MS compilers have gained in compliance to ANSI standards over the years. The only issues I had were:
  • undefined M_PI for both Yawtb and S2Kit
fixed with '#define _USE_MATH_DEFINES' in files including math.h
  • srand48() and drand48() could not be found (for S2Kit test files)
here, the fix is less obvious. For now I just used rand() and (double) rand() / (double) RAND_MAX , but this is probably far from optimal (please don't flame for not using your favorite RNG ;-).

A copy of the modified S2Kit is available at
while the modified Yawtb is at:

Beware, those quick patches run on my XP machine, but have not been thoroughly tested. Your mileage may vary.

No comments:

Post a Comment