阅读 69

影像组学图像预处理,预处理剂

需要重新采样是因为每个患者的体型都不一样,但最后的数字图像分辨率相同,会导致一定程度的失真变形。

但是,dcm和nii形式等医疗图像带有SliceThickness、PixelSpacing等属性,可以利用这些属性尽可能地还原实物。

例如,(下图中的第二个物体是星星,忘记改过自新) )。

我现在希望spacing变成(1,1 )。 也就是说,我们希望数字图像的图像尺寸表示原始物体的尺寸。

spacing=(2,2 )表示原始物体的尺寸是数字图像尺寸的2倍

因此,

# ct_array是z,y,x # refactor _ size=CT.get spacing ([-1 ]/new _ spacing _ z, ct_array=ndimage .天真CT.getspacing ) [2]/new_spacing_x )、order=3)但是,更精细的话会发现spacing,但是数字图像的分辨率没有浮点数。 在这种情况下,需要round处理,最终需要计算refacor_size并提供给插值函数。 但是,计算refactor_size的过程有点绕过。

defresample(image,scan,new _ spacing=[ 1,1, 1] ) : image=imgs _ to _ process scan=patient # determinecurrer (scan[0].slice thickness (list ) scan [0] . pixelspacing ) ) ) spacing=NP.array (list ) spacing ) ) resize _ fing new _ spacing new _ real _ shape=image ) real _ shape image.shape new _ spacing=spacing/real _ resize _ factor image=scipy.nd image.interpolation .天真的期望(imgs _ to _ process.shape (shapebeforeresampling ) ) 129、512、512、512 spacing=resample (imgs _ to _ process,papad ) 因为插补后图像间的大小会不同,无法输入网络。 我看到的处理之一如下。

只对轴方向(z )进行差分,y、x缩放为一定的大小,

这样,只是每个数据的切片数不同。

输入网络时,每个数据随机采样n个相同数量的三维图像输入网络即可。

请参阅--------2019---- 10---- 7更新------------2019

上述resampling都是在图像坐标系中定义的,但numpy数组完全不识别physical world的存在,scipy.ndimage和scikit-image也不保存图像的世界坐标的几何信息,因此http://www.sci kit-image itk和nibabel每个图像都有physical space信息,一些基本操作也在physical space下进行。


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐