gpt4 book ai didi

c++ - itk 注册两个不同大小的 3D 图像太慢

转载 作者:行者123 更新时间:2023-11-28 06:34:34 25 4
gpt4 key购买 nike

我正在注册两个 3D itk 图像。固定的是240*240*285,移动的是80*80*17。我曾尝试使用 affineTransform 来注册它们,但发现图像大小的差异太大并且无法注册。因此,我对移动图像重新采样并使用线性插值器将其大小设置为固定图像。

但是问题来了。现在注册速度很慢,完成一组数据注册需要一个多小时。但是我有40套!

谁能推广更快的注册方式,或者我在注册方面做错了什么?

重采样代码如下:

ResampleFilterType::Pointer movingResampler = ResampleFilterType::New();
InterpolatorType::Pointer movingInterpolator = InterpolatorType::New();
movingResampler->SetInput(movingImg);
movingResampler->SetInterpolator(movingInterpolator);
//set the parameters from the fixed image
movingResampler->SetSize(fixedImg->GetLargestPossibleRegion().GetSize());
movingResampler->Update();

这是优化器的代码:

optimizer->SetMaximumStepLength(0.01);
optimizer->SetMinimumStepLength(0.0001);
optimizer->SetNumberOfIterations(300);

optimizer->MinimizeOn();

非常感谢,阿文

最佳答案

如果您使用合适的插值器,则不需要对图像重新采样(线性插值器可能已经运行良好)。

您可能想要检查的是图像最初是否在世界坐标系中重叠。否则,您需要执行初始化以使它们彼此靠近。您还需要为旋转点的中心提供一个合适的值。

如果您的目标只是注册图像,您可能需要考虑使用 elastix ( http://elastix.isi.uu.nl/ ),这是一个命令行,根据我的经验,它能够在不到一分钟的时间内注册这些类型的图像。 elastix 中的仿射变换也有自动初始化选项,只需查看 elastix 手册即可开始。

如果使用 ITK,您可以考虑使用 itk::CenteredTransformInitializer 来初始化转换。

关于c++ - itk 注册两个不同大小的 3D 图像太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26955480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com