• 医学图像数据增强-重采样itk


     resample_augmentations.py

    1. def resample_image_itk(
    2. ori_img,
    3. new_spacing=[1.0,1.0,1.0],
    4. new_size=[0,0,0],
    5. resamplemethod=sitk.sitkNearestNeighbor):
    6. """
    7. @Args:
    8. :param ori_img: 原始需要对齐的itk图像
    9. :param new_spacing: 111
    10. :param new_size: 默认000, 注意非零则自动裁剪
    11. :param resamplemethod:
    12. sitk.sitkLinear-线性 - image
    13. sitk.sitkNearestNeighbor-最近邻 -mask
    14. @Return:
    15. 重采样好的itk图像
    16. """
    17. ori_size = ori_img.GetSize() # 原始图像大小 [x,y,z]
    18. ori_spacing = ori_img.GetSpacing() # 原始的体素块尺寸 [x,y,z]
    19. ori_origin = ori_img.GetOrigin() # 原始的起点 [x,y,z]
    20. ori_direction = ori_img.GetDirection() # 原始的方向 [冠,矢,横]=[z,y,x]
    21. # 计算改变spacing后的size,用物理尺寸/体素的大小
    22. if new_size==[0,0,0]:
    23. new_size[0] = int(ori_size[0]*ori_spacing[0]/new_spacing[0] + 0.5)
    24. new_size[1] = int(ori_size[1]*ori_spacing[1]/new_spacing[1] + 0.5)
    25. new_size[2] = int(ori_size[2]*ori_spacing[2]/new_spacing[2] + 0.5)
    26. # itk的方法进行resample
    27. resampler = sitk.ResampleImageFilter()
    28. resampler.SetReferenceImage(ori_img) # 需要重新采样的目标图像
    29. # 设置目标图像的信息
    30. resampler.SetSize(new_size) # 目标图像大小
    31. resampler.SetOutputOrigin(ori_origin)
    32. resampler.SetOutputDirection(ori_direction)
    33. resampler.SetOutputSpacing(new_spacing)
    34. # 根据需要重采样图像的情况设置不同的dype
    35. if resamplemethod == sitk.sitkNearestNeighbor:
    36. resampler.SetOutputPixelType(sitk.sitkUInt16) # 近邻插值用于mask的,保存uint16
    37. else:
    38. resampler.SetOutputPixelType(sitk.sitkFloat32) # 线性插值用于PET/CT/MRI之类的,保存float32
    39. resampler.SetTransform(sitk.Transform(3, sitk.sitkIdentity))
    40. resampler.SetInterpolator(resamplemethod)
    41. return resampler.Execute(ori_img) # 得到重新采样后的图像

  • 相关阅读:
    咸达医药数据库--介绍
    Unity技术手册-UGUI零基础详细教程-Canvas详解三种渲染方式
    smdms超市订单管理系统之登录功能
    并发性,时间和相对性(2)
    ChatGLM2-6B 部署
    机器学习笔记之高斯过程(一)——基本介绍
    ARP安全综合功能示例
    A O P
    伪分布Hadoop的安装与部署
    C语言 ini 文件读写【Iniparser库】
  • 原文地址:https://blog.csdn.net/weixin_41275726/article/details/126214695