在做医学图像配准时,需要将数据集的三维医学图像进行重采样。

在对“EMPIRE10”数据集进行预处理时,将每幅图像都重采样为192*160*192。

“EMPIRE10”数据集用于做肺部图像配准的挑战数据集

import SimpleITK as sitk
import os
"""
resample
"""def resampleVolume(outspacing, vol):"""将体数据重采样的指定的spacing大小\nparas:outpacing:指定的spacing,例如[1,1,1]vol:sitk读取的image信息,这里是体数据\nreturn:重采样后的数据"""outsize = [0, 0, 0]inputspacing = 0inputsize = 0inputorigin = [0, 0, 0]inputdir = [0, 0, 0]outspacing = [1, 1, 1]# 读取文件的size和spacing信息inputsize = vol.GetSize()inputspacing = vol.GetSpacing()print(inputsize)print(inputspacing)transform = sitk.Transform()transform.SetIdentity()# 需要重采样后的尺寸大小outsize[0] = 192outsize[1] = 160outsize[2] = 192# 计算得到改变size后的spacingoutspacing[0] = float(inputsize[0] / 192)outspacing[1] = float(inputsize[1] / 160)outspacing[2] = float(inputsize[2] / 192)# 设定重采样的一些参数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 newvoldef main():# 读文件file = './EMPIRE10/empire_export_data'  # 你的nii或者nii.gz文件路径savepath = './EMPIRE10/after'for filename in os.listdir(os.path.join(file)):niipath = os.path.join(os.path.join(file), filename)vol = sitk.Image(sitk.ReadImage(niipath))print(filename)print(niipath)print(vol)# 重采样newvol = resampleVolume([1, 1, 1], vol)# 写文件wriiter = sitk.ImageFileWriter()wriiter.SetFileName( os.path.join(savepath, '{}''{}'.format("output-",filename)))wriiter.Execute(newvol)
if __name__ == '__main__':main()

对nii医学图像进行重采样相关推荐

  1. 医学图像预处理----重采样(Resample)

    前言: 在医学图像中,重采样是指将医疗图像中大小不同的体素归一化到相同的大小.体素是体积元素(Volume Pixel)的简称,一张3D医学图像可以看成是由若干个体素构成的,体素是一张3D医疗图像在空 ...

  2. 关于.nii文件的一些处理函数

    图像处理tool 寒假的时候主要用到的工具是SimpleITK这个python库,可以直接在pytorch中找到下载 nii文件 相信大家已经了解了nii文件,我个人的理解,nii文件就是dicom文 ...

  3. 【医学图像分割】CT医学图像的预处理(重采样)

    CT图像中存在两个基本概念,窗口(window width)和窗位(window center),用于选取感兴趣的CT值范围,因为人体各组织结构不同,对X线吸收程度各异,形成不同的CT值,因此可以利用 ...

  4. 医学图像预处理(二)——重采样(resampling)

    之所以需要重采样是由于不同的病人体型不同,但最后数字成像的分辨率是一样的,这就导致了一定程度的失真变形. 但医学图像例如dcm或nii格式,都会带有SliceThickness,PixelSpacin ...

  5. Dicom 医学图像与 nii 标签数据处理

    Dicom 医学图像与 nii 标签数据处理 Ⅰ. Dicom医学图像处理 Ⅱ. nii标记数据处理 Ⅲ. 综合数据处理 1. code1 2. 需要说明 3. code2 Ⅰ. Dicom医学图像处 ...

  6. 医学图像Dicom(.dcm)转换为NIFTI(.nii)格式

    文章目录 前言 医学图像格式 DICOM NIFTI python代码 前言 NIfTI 中的图像原始数据一般被存储成了三维图像,而dicom存储为二维图层,所以相对于DICOM文件,NIFTI文件更 ...

  7. 医学图像 .nii文件格式详解

    目录 nii基础 坐标 体素 转换矩阵 nii格式 NIFTI 格式基本知识 Nifti 格式最初是为神经影像学发明的.神经影像信息学技术计划(NIFTI)将 NIfTI 格式预设为 ANALYZE7 ...

  8. 医学图像重采样spacing和direction

    一 最近在进行nii图像分割的时候发现不同的图像z轴spacing之间差距很大,而且有的direction不是标准的有倾斜,于是查找了一下代码进行调整 当只改变z轴的sapcing时只需要设置setS ...

  9. 医学图像将dcm格式转化的nii格式如何处理

    1.数据格式 在MRI数据不同序列下存放着dcm格式的数据,以及单个nii格式的mask文件,所以需要将data和label分离. 2.数据处理 使用 os库进行文件处理,用shutil库进行文件迁移 ...

最新文章

  1. Python 数据结构视频教程五
  2. capdriverconnect 黑色_【中信期货黑色(动力煤)】港口库存低位,结构性矛盾突出——周报20201101...
  3. Hadoop的改进实验(中文分词词频统计及英文词频统计)(1/4)
  4. python list操作复杂度
  5. [java]键盘录入数值到数组-根据数值获取角标-找出数据中最大数值-反转数组
  6. oracle归档日志保留时间,Oracle 11g Data Guard 备库归档日志清理脚本(保留一周归档)...
  7. Promise 源码:静态方法
  8. mysql 生产实践_京东容器化MySQL生产实践
  9. 6复数与复变函数(六)
  10. Ubuntu部署KVM服务器
  11. 芯片厂商的电机控制方案
  12. 一步一步教你安装并登陆My SQL(最详细教程,没有之一)
  13. WhatsApp对话生成器使用教程
  14. python编程一球从100米_Python一个球100米高空落下,每次落下后反弹高度是原高度的一半,再落下...
  15. 数据库中的操作(语法)
  16. C网跟G网是什么意思?
  17. 一个普通前端的2022年终总结:多病的一年
  18. ktv服务器几套系统,KTV场所需要哪些设备
  19. lisp画弯箭头_在CAD中直接用命令画箭头
  20. redis安装(主从)

热门文章

  1. 知乎万赞:计算机应届生月薪大多是多少?
  2. freemind问题合集
  3. 02 原生平台反射机制的消息处理
  4. 请写出sfr和sbit的语句格式_单片机关键字sfr和sbit区别
  5. vue引入原生高德地图
  6. 纯前端实行—简单的用户信息记录界面
  7. 取得WINDOWS的管理员权限
  8. zabbix随堂笔记
  9. 【Opencv】2D射影儿何和变换——柱面投影,图像拼接柱面投影
  10. 第876期机器学习日报(2017-02-10)