对nii医学图像进行重采样
在做医学图像配准时,需要将数据集的三维医学图像进行重采样。
在对“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医学图像进行重采样相关推荐
- 医学图像预处理----重采样(Resample)
前言: 在医学图像中,重采样是指将医疗图像中大小不同的体素归一化到相同的大小.体素是体积元素(Volume Pixel)的简称,一张3D医学图像可以看成是由若干个体素构成的,体素是一张3D医疗图像在空 ...
- 关于.nii文件的一些处理函数
图像处理tool 寒假的时候主要用到的工具是SimpleITK这个python库,可以直接在pytorch中找到下载 nii文件 相信大家已经了解了nii文件,我个人的理解,nii文件就是dicom文 ...
- 【医学图像分割】CT医学图像的预处理(重采样)
CT图像中存在两个基本概念,窗口(window width)和窗位(window center),用于选取感兴趣的CT值范围,因为人体各组织结构不同,对X线吸收程度各异,形成不同的CT值,因此可以利用 ...
- 医学图像预处理(二)——重采样(resampling)
之所以需要重采样是由于不同的病人体型不同,但最后数字成像的分辨率是一样的,这就导致了一定程度的失真变形. 但医学图像例如dcm或nii格式,都会带有SliceThickness,PixelSpacin ...
- Dicom 医学图像与 nii 标签数据处理
Dicom 医学图像与 nii 标签数据处理 Ⅰ. Dicom医学图像处理 Ⅱ. nii标记数据处理 Ⅲ. 综合数据处理 1. code1 2. 需要说明 3. code2 Ⅰ. Dicom医学图像处 ...
- 医学图像Dicom(.dcm)转换为NIFTI(.nii)格式
文章目录 前言 医学图像格式 DICOM NIFTI python代码 前言 NIfTI 中的图像原始数据一般被存储成了三维图像,而dicom存储为二维图层,所以相对于DICOM文件,NIFTI文件更 ...
- 医学图像 .nii文件格式详解
目录 nii基础 坐标 体素 转换矩阵 nii格式 NIFTI 格式基本知识 Nifti 格式最初是为神经影像学发明的.神经影像信息学技术计划(NIFTI)将 NIfTI 格式预设为 ANALYZE7 ...
- 医学图像重采样spacing和direction
一 最近在进行nii图像分割的时候发现不同的图像z轴spacing之间差距很大,而且有的direction不是标准的有倾斜,于是查找了一下代码进行调整 当只改变z轴的sapcing时只需要设置setS ...
- 医学图像将dcm格式转化的nii格式如何处理
1.数据格式 在MRI数据不同序列下存放着dcm格式的数据,以及单个nii格式的mask文件,所以需要将data和label分离. 2.数据处理 使用 os库进行文件处理,用shutil库进行文件迁移 ...
最新文章
- Python 数据结构视频教程五
- capdriverconnect 黑色_【中信期货黑色(动力煤)】港口库存低位,结构性矛盾突出——周报20201101...
- Hadoop的改进实验(中文分词词频统计及英文词频统计)(1/4)
- python list操作复杂度
- [java]键盘录入数值到数组-根据数值获取角标-找出数据中最大数值-反转数组
- oracle归档日志保留时间,Oracle 11g Data Guard 备库归档日志清理脚本(保留一周归档)...
- Promise 源码:静态方法
- mysql 生产实践_京东容器化MySQL生产实践
- 6复数与复变函数(六)
- Ubuntu部署KVM服务器
- 芯片厂商的电机控制方案
- 一步一步教你安装并登陆My SQL(最详细教程,没有之一)
- WhatsApp对话生成器使用教程
- python编程一球从100米_Python一个球100米高空落下,每次落下后反弹高度是原高度的一半,再落下...
- 数据库中的操作(语法)
- C网跟G网是什么意思?
- 一个普通前端的2022年终总结:多病的一年
- ktv服务器几套系统,KTV场所需要哪些设备
- lisp画弯箭头_在CAD中直接用命令画箭头
- redis安装(主从)