[Insight-developers] FFT implementations handle spacing differently

Bradley Lowekamp blowekamp at mail.nih.gov
Thu Sep 27 08:13:42 EDT 2012


Hello,

I have compiled SimpleITK with FFTW and I am getting the following regression test failue:

81: [ RUN      ] BasicFilters.ForwardFFT_defaults
81: Starting image compare on BasicFilters_ForwardFFT_defaults_
81: Loading baseline /Users/blowekamp/src/SimpleITK/Testing/Data/Baseline/BasicFilters_ForwardFFT_defaults.nrrd
81: /scratch/blowekamp/build/SimpleITK/SimpleITK-build/Testing/Unit/sitkForwardFFTImageFilterTest.cxx:128: Failure
81: Value of: imageCompare.compare( output, "", "" )
81:   Actual: false
81: Expected: true
81: ImageCompare: Failed to subtract image /Users/blowekamp/src/SimpleITK/Testing/Data/Baseline/BasicFilters_ForwardFFT_defaults.nrrd because: /scratch/blowekamp/build/SimpleITK/ITK-prefix/include/ITK-4.2/itkImageToImageFilter.hxx:243:
81: itk::ERROR: SubtractImageFilter(0x7ffe943009e0): Inputs do not occupy the same physical space! 
81: InputImage Origin: [0.0000000e+00, 0.0000000e+00, 0.0000000e+00], InputImageIndexedDataObject1 Origin: [2.8345293e-01, 2.8345293e-01, 2.8345293e-01]
81: 	Tolerance: 1.0000000e-06
81: InputImage Spacing: [1.0000000e+00, 1.0000000e+00, 1.0000000e+00], InputImageIndexedDataObject1 Spacing: [7.5587445e-01, 7.5587445e-01, 7.5587445e-01]
81: 	Tolerance: 1.0000000e-06


This is telling me that the vnl and the FFTW implementation of the ForwardFFT image filter are handling the spacing different. The second input is the baseline originating from the Vnl FFT implementation, while the one from FFTW still has the default origin and spacing. However, I am uncertain that this actually make sense, as the FFTForward filter does converts from the spacial domain to the frequency this physical information may not be very logical.

What should the correct behavior be?

Thanks,
Brad

ps
Please note that this exception is coming from the cumbersome standard check in the ImageToImageFilter during comparison to the baseline. And it's revealing a true bug.


More information about the Insight-developers mailing list