[MINC-development] experiments with EBTKS and N3

Vladimir S. Fonov vladimir.fonov at gmail.com
Sun Aug 19 15:55:41 EDT 2012


Hello,

the error was in the interface between Mat<T> and underlying FFT routine 
in EBTKS. The library now seem to be producing the same result as R - I 
made a small test in 
https://github.com/BIC-MNI/EBTKS/blob/develop/testing/ebtks_test_fft.cc

Before making a new release version, autoconf/automake stuff have to be 
updated. Or we can completely switch to cmake.

On 19/08/2012 6:56 AM, Andrew Janke wrote:
> Hi Vlad,
>
> Thanks for all this work, myself I hadn't seen this (being in general
> a Ubuntu-phile). My preference would be to dump the FFT code in EBTKS
> all together and use fftw! happen to know if this works or are the
> results again different to EBTKS's version of FFT?
>
> There is an example MINC usage of fftw in mincfft (still in
> cvs/minc_dev/mincfft IIRC) if this helps.
>
> In the meantime I see you are using the develop branch, any chance of
> pushing the changes over to the master and tagging a release? From
> there I can put a new .tar.gz up on packages.bic.mni.mcgill.ca/tgz
> this is something that I think definitely warrants a new release.

> On 18 August 2012 04:05, Vladimir S. FONOV <vladimir.fonov at gmail.com> wrote:
>> 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 ).


-- 
Best regards,

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


More information about the MINC-development mailing list