如何使用 SimpleITK 的 ExpandImageFilter?

How do I use SimpleITK's ExpandImageFilter?

我有 2 张 SimpleITK 图像,我想使用他们的包的 ExpandImageFilter 对我的一张图像进行上采样以匹配另一张图像。

有人知道如何使用它吗?

我看了他们的文档 (https://simpleitk.org/doxygen/latest/html/classitk_1_1simple_1_1ExpandImageFilter.html),但我不是很明白...我也找不到任何例子。

ExpandImageFilter 将以整数倍的方式扩展图像的大小。例如,您可以将 100x100 的图像扩展到 200x200。新尺寸必须是原始尺寸的整数倍。如果您的两张图片不是这种情况,则展开对您不起作用。

如果尺寸发生非整数变化,您需要使用 ResampleImageFilter。您可以在以下笔记本中阅读有关重采样的信息:

http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/Python_html/21_Transforms_and_Resampling.html

更新:听起来您已经明白了,但为了完整起见,这里有一个如何使用 ExpandImageFilter 的示例

import SimpleITK as sitk

img = sitk.Image(100,100,sitk.sitkUInt8)
expand = sitk.ExpandImageFilter()
expand.SetExpandFactors([2,2])
big_img = expand.Execute(img)

还有程序版,我比较喜欢:

another_big_img = sitk.Expand(img, [2,2])

原来我看错了——ExpandImageFilter 实际上是一个class,而execute 函数实际上是在执行操作。除了使用 ExpandImageFilter class,您还可以直接访问 image.Expand() 函数并输入一个向量,该向量表示您希望将维度扩展的整数因子(即所有方向的因子 2 是 [ 2,2,2].

感谢@Dave Chen 的帮助!