zoukankan      html  css  js  c++  java
  • 医学影像重采样

    1. 重采样

    在医学图像预处理的过程中,常常需要对数据进行重采样,采样到我们需要的尺度。因为医学图像是和真实空间的物理尺寸相对应的。例如一个体素的大小是0.97mm 0.97mm 2.5mm,我们想将体素块的大小采样到1mm 1mm 1mm,这样可以帮助我们进行下一步处理。利用 sitk 可以完成这一项工作。

    2. 代码

    import SimpleITK as sitk
    """
    resample
    """
    
    def resampleVolume(outspacing,vol):
        """
        将体数据重采样的指定的spacing大小
    
        paras:
        outpacing:指定的spacing,例如[1,1,1]
        vol:sitk读取的image信息,这里是体数据
    
        return:重采样后的数据
        """
        outsize = [0,0,0]
        inputspacing = 0
        inputsize = 0
        inputorigin = [0,0,0]
        inputdir = [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] + 0.5)
        outsize[1] = int(inputsize[1]*inputspacing[1]/outspacing[1] + 0.5)
        outsize[2] = int(inputsize[2]*inputspacing[2]/outspacing[2] + 0.5)
    
        #设定重采样的一些参数
        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
    
        
    
    def main():
        #读文件
        vol = sitk.Image(sitk.ReadImage("input.mha"))
    
        #重采样
        newvol = resampleVolume([1,1,1],vol)
    
        #写文件
        wriiter = sitk.ImageFileWriter()
        wriiter.SetFileName("output.mha")
        wriiter.Execute(newvol)
    
  • 相关阅读:
    在网络中传输数据(I)
    WinForm DataGrid 中在 DataGridBoolColumn 的列标题上加一个 CheckBox 实现全选和全不选
    datagrid 相关
    Agile Framework视频演示发布
    asp.net(含:模拟登陆,照片列表)
    会计电算化常考题目一
    jquery实例教学一
    ASP .net(照片列表详细功能CRUD演示)
    会计电算化常考题目
    ASP.NET(get和post比较)
  • 原文地址:https://www.cnblogs.com/WAoyu/p/12006810.html
Copyright © 2011-2022 走看看