1. 最近邻插值
在最近邻插值中,新体素的值将替换为原始图像中最近体素的值。这种形式的interpolation很少使用,因为它存在许多问题。当对同一图像执行多次内插时,这一点尤其明显,如图2.9所示。其次,在使用最近邻内插时,变换参数的连续变化可能会导致成本函数值的不连续变化,这使得它不适合用于优化方法(通常假设成本函数是连续的)。
优化最近邻内插的一种情况是变换其中体素值表示标签而不是物理强度的图像。例如,某些软件包中包含的解剖图集被存储为具有特定但任意值的图像,这些值对应于图集中的每个结构(例如,海马体素的值为12,而杏仁核中的体素的值为20 )。使用在给定无意义结果的这些数字之间取平均值的插值方法,将使用邻域插值来确保变换图像中的标签值保持与原始图像中的值相同的精确值。
2. 线性插值
这种方法在应用于三维时通常被称为三线性插值,它涉及对原始图像中每个最近点处的值进行加权平均。图2.10显示了线性内插的一个例子。与高阶插值方法相比,该方法具有相对较快的优点,因为它只考虑紧邻新位置的那些点。但是,与诸如Sinc插值之类的高阶插值方法相比,它倾向于使图像更加模糊。
3. 高阶插值
与最近邻居(仅使用单个最近体素)和线性内插(在三维中集成八个最近体素)相比,已经开发了许多内插方法来集成跨越更广泛的体素集合的信息。最常见的高阶插值方法是sinc插值,它使用sinc函数[sinc(x)=sin(x)/x],如图2.11所示。原则上,这种形式的插值应该使用来自图像中每个体素的信息,因为sinc函数扩展到无穷大。这在计算上会非常昂贵。通过使用加窗SINC函数使SINC插值更可行,其中该函数仅从被插值点延伸有限距离,而不是覆盖整个图像。有许多不同形式的窗口可以应用;常见选项包括汉宁窗和矩形窗。汉宁窗口似乎导致相对于矩形窗口的内插误差减小(Ostuni等人,1997年),因此如果可用,应该使用半径(或半长)至少为四个体素的窗口来选择。
另一种形式的高阶插值使用基函数,用于空间转换模型。基函数,提供了一种更一般的插值方法,它可以包括最近邻插值、线性插值以及高阶非线性插值。
以上内容来自《Handbook of functional MRI Data Analysis》。
可以这样写:clear
fs=10000
t0=0.1
t=0:0.0001:t0
m=sinc(200*t)
mk=fft(m,50000) %通过fft计算频谱
mw=2*pi/1000*abs(fftshift(mk))%频谱搬移
fw=[-25000:24999]/50000*fs
plot(fw,mw)grid
xlim([-500,500])
其中,fft的抽样点数等参数是可以调的。
希望帮到你,欢迎追问~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)