文章目录

  • 背景需求
  • 代码实现

背景需求

需要对MRI图像进行裁剪、放缩,但是要求放缩之后的影像空间必须与原图片的影像空间一致。
例:对(32, 32, 32)的图片放缩到(256, 256, 256),原始图片空间为(1.0, 1.0, 1.0)。对图片进行空间设置:放缩后图片空间(1.0, 1.0, 1.0);不对空间进行设置:放缩后的图片空间(0.125, 0.125, 0.125)。

代码实现

import numpy as np
import SimpleITK as sitk# 读入图片
img_path = './mri.nii.gz'
img = sitk.ReadImage(img_path)# re_img为放缩之后的图片大小,(256, 256, 256)为目标大小,sitkNeartestNeighbor是放缩用到的算法,默认为线性放缩,这里选择了最近邻
re_img = resize_image_itk(img, (256, 256, 256), resamplemethod=sitk.sitkNearestNeighbor)# 对放缩后的图片进行一些操作
# 1.原图,2.空间,3.方向
re_img.SetOrigin(img.GetOrigin())
re_img.SetSpacing(img.GetSpacing())
re_img.SetDirection(img.GetDirection())# 保存图片
sitk.WriteImage(re_img, './re_img.nii.gz')

其中resize_image_itk函数为:

def resize_image_itk(itkimage, newSize, resamplemethod=sitk.sitkNearestNeighbor):resampler = sitk.ResampleImageFilter()originSize = itkimage.GetSize()  # 获取原图sizeoriginSpacing = itkimage.GetSpacing()  # 获取原图spacingnewSize = np.array(newSize, dtype='uint32')factor = originSize / newSizenewSpacing = originSpacing * factorresampler.SetReferenceImage(itkimage)   # 指定需要重新采样的目标图像resampler.SetSize(newSize.tolist())resampler.SetOutputSpacing(newSpacing.tolist())resampler.SetTransform(sitk.Transform(3, sitk.sitkIdentity))resampler.SetInterpolator(resamplemethod)itkimgResampled = resampler.Execute(itkimage)  # 得到重新采样后的图像return itkimgResampled

至此,图片已经完成了放缩,并且放缩后图片的空间与原图片空间大小是同一的。

使用SimpleITK工具进行脑部MRI图像放缩相关推荐

  1. 脑部MRI图像灰白质分割以及体积测量方法

    一, 研究背景 脑组织形态学研究是临床判断脑组织的正常老化与病理过程的重要方法,近20年来,随着医学影像学的高速发展,临床医师对人体病变部位的观察更直接.更便捷.更清晰,疾病的确诊率也更高,使得脑组织 ...

  2. 脑部MRI图像灰白质分割以及体积测量方法研究综述

    脑部各区域体积测量方法研究 一, 研究背景 脑组织形态学研究是临床判断脑组织的正常老化与病理过程的重要方法,近20年来,随着医学影像学的高速发展,临床医师对人体病变部位的观察更直接.更便捷.更清晰,疾 ...

  3. 【4】 脑部MRI图像肿瘤分类级别

    1. 级别分类 高级别(间变性星形细胞瘤和多形性胶质母细胞瘤)胶质瘤 (HGG) 和 低级别胶质瘤 (LGG) MRI(组织学诊断:星形细胞瘤或少突星形细胞瘤)组成. 肿瘤组别 肿瘤类型 Ⅰ级 Ⅱ级 ...

  4. 卷积神经网络用于MRI图像中的脑部病变分割

    在这项工作中,构建并比较了用于图像分割的四个流行的深度卷积神经网络(U-NET.DeepLab.FCN和SegNet).这种比较揭示了实现有效分割和分割精度之间的权衡.使用深度学习,特别是卷积神经网络 ...

  5. 【深度学习】实验4布置:脑部 MRI 图像分割

    DL_class 学堂在线<深度学习>实验课代码+报告(其中实验1和实验6有配套PPT),授课老师为胡晓林老师.课程链接:https://www.xuetangx.com/training ...

  6. 在Matlab中可视化3D体积图像数据,例如MRI图像

    转载自Binlin Wu (2020). Visualize 3D volumetric image data such as MRI images in Matlab (https://www.ma ...

  7. 窗宽窗位改变图像_CT、MRI图像的影像诊断4大原则、5个步骤、3大阅片方法

    来源:互联网 第一节 影像诊断原则与步骤 医学影像诊断包括X线.CT.MRI.超声等,是重要的临床诊断方法之一.为了达到正确诊断,必须遵循一定的诊断原则和步骤,才能全面.客观地作出结论. 一.影像诊断 ...

  8. MRI图像右心室分割

    人的心脏是一个惊人的机器,能不间断地运作长达一个世纪.测量心脏功能的重要方法之一是计算其射血分数:心脏在舒张期充满血液后,在收缩期射出血液的百分比.获得这一指标的第一步,便依赖于心脏图像的心室分割(描 ...

  9. java 视频转码工具类_JavaCV入门指南:FrameConverter转换工具类及CanvasFrame图像预览工具类(javaCV教程完结篇)...

    JavaCV入门指南:FrameConverter转换工具类及CanvasFrame图像预览工具类(javaCV教程完结篇) 前言 再此章之前,我们已经详细介绍和剖析了javacv的结构和ffmpeg ...

最新文章

  1. 刚毕业就20w年薪,这个项目太牛逼了!
  2. 〖Android〗代理与正常网络分开同步CyangenMod源码
  3. 采购定价过程字段解析
  4. clientHeight,offsetHeight,scrollHeight迷一样的三个值
  5. 求字符串的最长回文字串 O(n)
  6. php冒泡程序讲解,PHP冒泡排序程序代码与源代码
  7. YbtOJ-大收藏家【分层图,最大流】
  8. [js] for in 和 for of 的区别?
  9. 《Ext JS高级程序设计》节选:在CRUD操作中restful的设置以及使用Ext.Direct的问题...
  10. 洛谷 数论入门相关题目--2022.01.22
  11. graphic方法重写 unity_Unity面试题精选(2)
  12. PHP极其强大的图片处理库Grafika详细教程(4):图形绘制
  13. mysqlbinlog unknown variable:default-character-set=gbk
  14. 例2.12 今年暑假不AC - 九度教程第22题(贪心算法)
  15. 联想System x服务器主要硬件Windows Server驱动下载
  16. java实现令牌桶算法
  17. java 创建mdi窗体_.Net创建MDI窗体 | 学步园
  18. Typora如何自动生成标题序号
  19. 2750 心系南方灾区
  20. JAVA就业培训班一周有感杂记

热门文章

  1. LightOJ 1319 - Monkey Tradition (中国剩余定理)
  2. element 实现自定义 宫格 布局
  3. 信用卡新手使用指南,安全用卡开心消费
  4. Unity MlAgent 使用介绍
  5. IOS常用的系统文件目录介绍
  6. python表白教程_python七夕浪漫表白源码
  7. 37岁公司做到40亿美金,卖给马云!创业造车3年,公司上市,市值160亿美元!...
  8. 分享了iOS获取通讯录的4种方式
  9. 13、云函数模板消息推送
  10. Python量化交易实战-10实时获取股票的数据函数封装