重采样与插值

Python 中的生物医学图像分析

Stephen Bailey

Instructor

重采样会改变数组形状

不同采样

Python 中的生物医学图像分析

降采样

vol = imageio.volread('OAS1_0255', format='DICOM')
vol.shape
(256, 256, 256)

原始大脑

vol_dn = ndi.zoom(vol, zoom=0.5)
vol_dn.shape
(128, 128, 128)

降采样后大脑

Python 中的生物医学图像分析

升采样

  • 重采样到更大的网格

  • 不等同于获取更高分辨率的数据

  • 用于统一不等的采样率

vol_up = ndi.zoom(vol, zoom=2)
vol_up.shape
(512, 512, 512)

原始大脑

Python 中的生物医学图像分析

插值

  • 将网格点"缝合"起来,建模点与点之间的空间。

$$ Interpolation\ in\ 1\ D $$

一维插值

Python 中的生物医学图像分析

插值

  • 将网格点"缝合"起来,建模点与点之间的空间。

  • 最近邻:使用最近的测量值。

$$ Interpolation\ in\ 1\ D $$

一维最近邻插值

Python 中的生物医学图像分析

插值

  • 将网格点"缝合"起来,建模点与点之间的空间。

  • 最近邻:使用最近的测量值。

    • order = 0
  • B 样条插值:用指定阶数的样条函数建模点间空间。

    • order 介于 15

$$ Interpolation\ in\ 1\ D $$

B 样条插值

Python 中的生物医学图像分析

二维插值

im=np.arange(100).reshape([10,10])

颜色递增示例图像

zm1=ndi.zoom(im, zoom=10, order=0)
zm2=ndi.zoom(im, zoom=10, order=2)
zm3=ndi.zoom(im, zoom=10, order=4)

不同阶数的颜色递增图像

Python 中的生物医学图像分析

Passons à la pratique !

Python 中的生物医学图像分析

Preparing Video For Download...