医学开源配准软件Elastix手册(中文翻译)——第五章 指南(掩膜和常见问题)

来源:互联网 发布:java中的变量有哪些 编辑:程序博客网 时间:2024/05/16 06:18

5.4  掩膜

有时候你感兴趣的只有图像的一部分,有可能你会关注裁剪的这部分。然而,通过裁剪可以把感兴趣的区域(ROI)限制为2D的平面或者3D的立体。如果你的ROI是不规则的,你可以使用mask。一幅mask是一个二进制文件,只有0和1.如果你使用mask,你只能配准图像中mask的一部分,该部分全部为1.

当你的图像有一个假边界,而那是没有实际意义的,配准可能会配准这些假边缘而忽略了实际边缘。锥形束边缘是超声图像中的一种假边缘。

如果图像的ROI的附近有组织结构的话可能会影响你的ROI区域。这在配准肺部图像的时候会出现这种现象。通常,你感兴趣的是肺部,而不是肋骨的配准情况。然而,在CT在中肋骨结构对于相似性测度的影响很大,尤其是SSD相似性测度。这样,肋骨可能在以牺牲肺部周围的血管组织的情况下配准的很好。这样的话,如果你使用精细肺部分割图像作为掩膜将会得到很好的配准结果。

掩膜均可用于固定图像和浮动图像。因为是从固定图像中采样的,所以固定图像掩膜将会有效的把配准集中在ROI区域内。如你你的浮动图像ROI区域周围没有有效的灰度值,你只需使用浮动图像掩膜。

如果你需要使用掩膜来阻止不好的边缘,你可以作如下设置:(ErodeMask "true")

如果不设置的话,当处理多分辨率时,假边缘的信息将会因为平滑的作用进入你的ROI区域。这样在ROI周围的边界就变得有意义了。在上述肺部例子中,你应该将其设置为false,因为这个边缘将会引导你的配准。

当采样时elastix可能会出现如下的一个常见错误:“Could notfind enough image

sampleswithin reasonable time. Probably the mask is too small.”引起这个问题的可能的原因是你的掩膜图像太小了,具体请参见FAQ.

 

5.5  问题解答

5.5.1 一般性错误

FAQ收集了一些常见疑难问题的资源,可以登录以下网站查阅:http://elastix.isi.uu.nl/FAQ.php

5.5.2  效果差的初始配准

当两幅图之间初始配准很差时,你不能使用非刚性配准。像让其配准正确是很难的事情。什么因素能帮助你做好呢?

一开始使用一种自由度低的配准方法,如:变换,刚性,相似性或者仿射变换。有时候图像确实相差甚远,并且一开始没有任何重叠部分(图像的物理空间的位置由原点和像素间距决定的,见2.2节),一种解决方法是在参数文件中增加如下语句:

(AutomaticTransformInitialization"true")

该参数有助于上述变换的初始配准的自动估计。可用3钟方法:一种方法是将固定图像和浮动图像的中心对齐,另一种是将其重心对齐,还有一种是简单的对齐原点。可以通过在参数文件中添加以下语句:

(AutomaticTransformInitializationMethod"GeometricalCenter")

(AutomaticTransformInitializationMethod"CenterOfGravity")

(AutomaticTransformInitializationMethod"Origins")

注意:原点对齐目前只可用于仿射变换。

你需要一个好的多分辨率方案,即:多个分辨率等级。这样就可以进行平滑处理,消除边界,集中关注图像的主要结构。

增加迭代次数

使用更多的步数。将a值设高,这样在每次迭代时,变换的转化组件将会利用几个体素,最高为10.也许,这会起作用。如果你想要很快速的配准,但是a值设置的很大,将会立即跳出配准。如果这钟情况发生了,你应该将序列ak = a/(A + k)α延迟的快一些。可以通过将a和A设置的小一些,详见5.1节。

如果你想要发现较大的旋转,你也许要使用更多的旋转步骤,而不是变换。这可以通过调整飞、尺度参数,详见5.3.5

(Scales10000.0)

你可以将其设置的第一点来获得较多的旋转步骤。如果你将其设为1.0,你将会使用和变换一样多的旋转步骤(但是旋转是被具体定义的)如果你将其设置的很高(> 106),你更本不能旋转。你一般不需要将其设置到1000.0以下。AutomaticScalesEstimation选项一般可以得到很好的结果。所以指定Scales是不必要的。

 

5.5.3  存储消耗

典型的医学图像的尺寸是以时间为函数增加的。因此,有效存储成为了一个问题。Elastix存储小图像大约消耗100MB左右的内存,对于一幅大图像(2563)及其组件,大约有1-1.5GB

对于超大图像(约4003)存储容量可达2GB(大多数windows系统的极限)那么,怎样处理大图像呢?

买一个大内存的新电脑。64位,否则你不能解决内存问题。或者确保你的电脑支持64位。

Elastix图像一般默认为浮点型的体素。你可以将其调整为short型:

(FixedInternalImagePixelType"short")

(MovingInternalImagePixelType"short")

这样你可以节约一半的内存,用来存储固定图像,浮动图像和多分辨率金字塔。这是以精度损失作为代价的,但是无害的。这个选项对于elastix和transformix都是有用的。

在配准时改变插值。默认使用B-spine插值,它将系数图像存储为double型。你也可以指定float型:(Interpolator"BSplineInterpolatorFloat")

对于short型图像,又可以节省一些空间。这只可用于elastix。使用LinearInterpolator可以节省更多的内存。但是这将会对于结果有所改变,因为它用了不同的方法计算图像的派生。

在重采样时改变插值。(ResampleInterpolator "FinalBSplineInterpolatorFloat")

这对于elastix和transformix都有用。它有可能严重影响配准的精度。配准后,可以使用transformix将变换结果作用于原始整幅浮动图像详见FAQ.

0 0