首页 > 其他 > 详细

医学图像预处理

时间:2021-03-14 00:20:00      阅读:85      评论:0      收藏:0      [点我收藏+]

医学图像预处理

1. 图像数据重采样到真实世界的数据

由于ct所采集到的图像数据是要和真实世界所对应起来的,比如一个像素所代表的真实世界是多少mm,还有一个切片的厚度是多少mm,这些数据可以通过.GetSpacing()得到

def resampleVolume(vol, outspacing=[1,1,1]):
    """
    将体数据重采样的指定的spacing大小\n
    paras:
    outpacing:指定的spacing,例如[1,1,1]
    vol:sitk读取的image信息,这里是体数据\n
    return:重采样后的数据
    """
    outsize = [0,0,0]

    #读取文件的size和spacing信息

    inputsize = vol.GetSize()
    inputspacing = vol.GetSpacing()

    transform = sitk.Transform()
    transform.SetIdentity()
    #计算改变spacing后的size,用物理尺寸/体素的大小
    outsize[0] = int(inputsize[0]*inputspacing[0]/outspacing[0])
    outsize[1] = int(inputsize[1]*inputspacing[1]/outspacing[1])
    outsize[2] = int(inputsize[2]*inputspacing[2]/outspacing[2])

    #设定重采样的一些参数
    resampler = sitk.ResampleImageFilter()
    resampler.SetTransform(transform)
    resampler.SetInterpolator(sitk.sitkLinear)
    resampler.SetOutputOrigin(vol.GetOrigin())
    resampler.SetOutputSpacing(outspacing)
    resampler.SetOutputDirection(vol.GetDirection())
    resampler.SetSize(outsize)
    newvol = resampler.Execute(vol)
    return newvol

医学图像预处理

原文:https://www.cnblogs.com/newchan/p/14529566.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!