斐济:imglib2 FFT算法解释

时间:2014-07-24 08:58:59

标签: java image-processing fft imagej prime-factoring

我已经使用过FourierTransform和FFTConvolution类,我也研究了他们的代码以使它们适应我的程序,无论如何我仍然对这些类有一些疑问,我希望你能帮助我!

首先,FourConTransform产生的输出尺寸和FFTConvolution类中fftKernel的尺寸与输入图像的尺寸不同,为什么?例如,为什么如果我转换256x256图像,我会得到一个281x560的光谱?

其次,试图找出我对第一个疑问的答案,我发现光谱尺寸是通过使用包edu.mines.jtk.dsp计算的,特别是FftReal / FftComplex类,都是基于Pfacc课程。对Pfacc类的评论说这个类实现了FFT计算的PFA算法,所以我的第二个疑问是:FourierTransform和FFTConvolution类是否实现了PFA算法?

1 个答案:

答案 0 :(得分:0)

对于卷积,输出点的数量等于:

N_out = N_in + K + 1

其中:

N_out = no of output points
N_in = no of input points
K = kernel size

因此,看起来您正在使用304x25内核对256x256图像进行卷积。

对于PFA算法,这只是一个实现细节--FFT维度被分解为小素数的幂。最终结果与DFT相同。