[MINC-development] experiments with EBTKS and N3

Vladimir S. FONOV vladimir.fonov at gmail.com
Fri Aug 17 14:05:46 EDT 2012


Hello Everybody,

I've been trying to fix a bug in N3, causing it to crash on some
files. It turned out that the results of sharpen_hist was not making
sense when compiled on some platforms:  this behaviour would present
itself was compiled on Debian 6, but wouldn't happen when compiled on
Ubuntu 12.04.

It turned out that the problem was caused by differences in
implementation of FFT in EBTKS.  The underlying function Mat<T>._fft
was implemented in Matrix.h for generic case , and then redefined in
MatrixSpec.cc for cases of complex<double> and complex<float> . It
turned out that generic implementation was incorrect, but specific
implementation for complex<float> and complex<double> was correct.
So, when due to some strange reasons linker would find specific
implementation from MatrixSpec.cc ,  sharpen_hist would work as
expected.

Right now, I have made a lot of changes in EBTKS ( develop branch on
https://github.com/BIC-MNI/EBTKS ).

Right now N3 seem to work properly regardless how it is compiled, but
the results on 32bit are not quite the same as on 64bit platform.

-- 
Best regards,

 Vladimir S. Fonov ~ vladimir <dot> fonov <at> gmail <dot> com


More information about the MINC-development mailing list