}
}
image_view=DestroyCacheView(image_view);
- forward_info=AcquireVirtualMemory((size_t) fourier_info->height,
- fourier_info->center*sizeof(*forward_pixels));
+ forward_info=AcquireVirtualMemory((size_t) fourier_info->width,
+ 2*(fourier_info->height/2+1)*sizeof(*forward_pixels));
if (forward_info == (MemoryInfo *) NULL)
{
(void) ThrowMagickException(exception,GetMagickModule(),
#endif
fftw_r2c_plan=fftw_plan_dft_r2c_2d(fourier_info->width,fourier_info->height,
source_pixels,forward_pixels,FFTW_ESTIMATE);
- fftw_execute(fftw_r2c_plan);
+ fftw_execute_dft_r2c(fftw_r2c_plan,source_pixels,forward_pixels);
fftw_destroy_plan(fftw_r2c_plan);
source_info=(MemoryInfo *) RelinquishVirtualMemory(source_info);
value=GetImageArtifact(image,"fourier:normalize");
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp critical (MagickCore_InverseFourierTransform)
#endif
- {
- fftw_c2r_plan=fftw_plan_dft_c2r_2d(fourier_info->width,fourier_info->height,
- fourier_pixels,source_pixels,FFTW_ESTIMATE);
- fftw_execute(fftw_c2r_plan);
- fftw_destroy_plan(fftw_c2r_plan);
- }
+ fftw_c2r_plan=fftw_plan_dft_c2r_2d(fourier_info->width,fourier_info->height,
+ fourier_pixels,source_pixels,FFTW_ESTIMATE);
+ fftw_execute_dft_c2r(fftw_c2r_plan,fourier_pixels,source_pixels);
+ fftw_destroy_plan(fftw_c2r_plan);
i=0L;
image_view=AcquireAuthenticCacheView(image,exception);
for (y=0L; y < (ssize_t) fourier_info->height; y++)