[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