当前位置: 首页 > news >正文

Python CT图像预处理——基于ITK-SNAP

Python CT图像预处理——nii格式读取、重采样、窗宽窗位设置_python读取nii-CSDN博客

基于原文指出以下几个问题:文件路径设置模糊;nilabel里面使用的get_data() 方法已经过时;需要导入scikit-image,还要导入一个matplotlib。

一、文件路径设置

二、导入

 参考:Python安装skimage的方法 pip install scikit-image_skimage安装-CSDN博客

导入方法(Mac):

conda env list

source activate python39

pip install +需要安装的库

miniforge的安装和连接:MAC M3安装miniforge并连接Pycharm(保姆教程)_pycharm miniforge-CSDN博客

三、更新后代码:

import skimage
import nibabel as  nbimg = nb.load('/Users/wangrenxiang/PycharmProjects/PythonProject/.venv/data/A_006_401 iDose.nii.gz') #读取nii格式文件
img_affine = img.affine
data = img.get_fdata()nb.Nifti1Image(data,img_affine).to_filename('A_006_401 iDose.nii.gz')from nibabel.viewers import OrthoSlicer3D
OrthoSlicer3D(data.transpose(1,2,0)).show()header = img.header
print(header)width, height, channel = img.dataobj.shape
print(width, height, channel)### Get original space
width, height, channel = img.dataobj.shape
ori_space = [width,height,channel]def resample(data,ori_space, header, spacing):### Calculate new spacenew_width = round(ori_space[0] * header['pixdim'][1] / spacing[0])new_height = round(ori_space[1] * header['pixdim'][2] / spacing[1])new_channel = round(ori_space[2] * header['pixdim'][3] / spacing[2])new_space = [new_width, new_height, new_channel]data_resampled = skimage.transform.resize(data,new_space,order=1, mode='reflect', cval=0, clip=True, preserve_range=False, anti_aliasing=True, anti_aliasing_sigma=None)return data_resampled# Resample to have 1.0 spacing in all axes
spacing = [1.0, 1.0, 1.0]
data_resampled = resample(data,ori_space, header, spacing)
OrthoSlicer3D(data_resampled).show()

相关文章:

  • 【DRAM存储器五十一】LPDDR5介绍--DFE与Pre-Emphasis
  • ⭐Unity_Demolition Media Hap (播放Hap格式视频 超16K大分辨率视频 流畅播放以及帧同步解决方案)
  • Spring-Cache替换Keys为Scan—负优化?
  • HTMLCSS模板实现水滴动画效果
  • 再谈String
  • Python的库
  • 【25软考网工】第三章(4)生成树协议、广播风暴和MAC地址表震荡
  • MySQL表达式之公用表表达式(CTE)的使用示例
  • Windows与CasaOS跨平台文件同步:SyncThing本地部署与同步配置流程
  • springboot2.x升级到3.x 惨痛经验总结
  • 告别 “幻觉” 回答:RAG 中知识库与生成模型的 7 种对齐策略
  • 力扣-hot100(找到字符串中的所有字母异位词)
  • Chromium 134 编译指南 Ubuntu篇:依赖同步与Hooks配置(六)
  • python打印颜色(python颜色、python print颜色、python打印彩色文字、python print彩色、python彩色文字)
  • vue项目前后端分离设计
  • MyBatisPlus文档
  • 大模型时代的深度学习框架
  • uni-app 小程序中的定位问题 以及 页面安全距离
  • 基于DrissionPage的表情包爬虫实现与解析(含源码)
  • 解释一下计算机中的内存对齐
  • 单位被裁定补缴12年社保,滞纳金该谁出?
  • 网贷放款后自动扣除高额会员费,多家网贷平台被指变相收取“砍头息”
  • 俄方证实俄总统普京正在会见美特使威特科夫
  • 商务部:汽车流通消费改革试点正在加快推进
  • 美总统批准海底采矿,外交部:擅自授权开发损害国际社会共同利益
  • 秦洪看盘|避险情绪升温,短线或延续相对钝化状态