SimpleITK读取医学影像文件
原文:https://blog.csdn.net/songchunxiao1991/article/details/79074604
SimpleITK
ITK是一个开源、跨平台的框架,提供给开发者增强功能的图像分析和处理套件(推荐使用)。
Note:注意SimpleITK不支持中文,即路径中不能有中文
X射线图像对应的读取
import SimpleITK as sitk
filename = '*.dcm'
itk_img = sitk.ReadImage(filename)
img_array = sitk.GetArrayFromImage(itk_img)
print(img_array.shape)输出:(对应信息:frame_num, width, height)注意:img_array对应的是图像的矩阵信息(1, 3328, 2560)
推荐用法:
import SimpleITK as sitk
filename = '*.dcm'
itk_img = sitk.ReadImage(filename)
img_array = sitk.GetArrayFromImage(itk_img)[0]
print(img_array.shape)
输出:(3328, 2560)
CT图像的读取
import SimpleITK as sitk
filename = '*.mhd'
itk_img = sitk.ReadImage(filename)
img_array = sitk.GetArrayFromImage(itk_img)
print(img_array.shape)
输出:(对应信息:frame_num, width, height)帧参数:frame_num,代表CT扫描层数注意:img_array对应的是图像的矩阵信息(133, 512, 512)
将CT影像拆分成多个单幅图像
方法一:
import SimpleITK as sitk
import cv2
filename = '*.mhd'
itk_img = sitk.ReadImage(filename)
img_array = sitk.GetArrayFromImage(itk_img)
frame_num, width, height = img_array.shape
outpath = 'F:/data/LUNA16'#存放拆分得到的图像路径
index = -1
for img_item in img_array:index = index + 1cv2.imwrite("%s/%d.png" % (outpath, index), img_item)
print("done!")
方法二:
import SimpleITK as sitk
import os
import cv2
filename = '*.mhd'
path = 'F:/data/LUNA16' #存放拆分得到图像的路径
itk_img = sitk.ReadImage(filename)
img_array = sitk.GetArrayFromImage(itk_img)
for i, im in enumerate(img_array):cv2.imwrite(os.path.join(path, '{}.png'.format(i)), im)
如下图所示是CT影像拆分出来的部分图像。拆分得到的图像大小均为512*512,总数是:frame_num张。
SimpleITK读取医学影像文件相关推荐
- 影像组学视频学习笔记(33)-使用SimpleITK实现医学影像差值、Li‘s have a solution and plan.
作者:北欧森林 链接:https://www.jianshu.com/p/afcd06221ea4 来源:简书,已获转载授权 RadiomicsWorld.com "影像组学世界" ...
- 将一个dcm格式的医学影像文件处理为一个png格式的图像和一个xml格式的文件
将dcm格式的医学影像文件处理为png格式的图像和xml格式的文件可以使用转换工具来实现.可以使用如下方式: 使用 Python 库 pydicom 和 pillow 库读取 dcm 文件并转换成 p ...
- java读取dcm影像文件_DCM医学影像文件的格式与读取方法分享
医学影像DCM是个类似PNG的分块格式,内涵丰富医疗信息,由于应用领域较窄,OpenCV没有提供对其加载支持,一般采用dcmtk库进行加载. 博主本着研究探索的精神写了这段代码,并分享出来,提供了解析 ...
- DCM医学影像文件的格式与读取方法分享
医学影像DCM是个类似PNG的分块格式,内涵丰富医疗信息,由于应用领域较窄,OpenCV没有提供对其加载支持,一般采用dcmtk库进行加载. 博主本着研究探索的精神写了这段代码,并分享出来,提供了解析 ...
- DICOM医学影像文件解析
DICOM医学影像文件格式解析 目录 DICOM医学影像文件格式解析 1.DICOM 2.DICOM存储格式 2.1 DataElement的三种结构 2.2 DataElement的Tag 2.2. ...
- nodeJs对DICOM医学影像文件解析并保存为图片
最近入职一家医疗硬件和软件开发的公司,负责一套医疗软件中DICOM部分的功能开发,因为对这个行业完全陌生,对DICOM也一无所知,所以很头疼,查了很多国内外的资料,才有了一定了解. 软件需求是模仿国外 ...
- 【Python】【SimpleITK】医学影像重采样至指定的Spacing
import os import SimpleITK as sitkdef resampleVolume(outspacing, vol):"""将体数据重采样的指定的s ...
- java读取dcm影像文件_使用dcmtk库读取.dcm文件并获取信息+使用OpenCV显示图像
借助VS2013和OpenCV的绘图功能,在工程DICOMReader.sln中实现了对单张.dcm图像的读取与显示,以下是详细步骤. 前期准备工作 编译器:VS2013 库:dcmtk-3.6.0( ...
- JAVA解析dcm医学影像文件,并提取文件信息
一.安装 首先去Github下载源码,然后执行mvn install进行本地安装,Maven中央仓库,竟然没有该jar..安装成功之后如下: 然后在POM.XML文件中引入该jar包: <dep ...
最新文章
- 和老同事的谈话:关于职业生涯以及MDA
- R语言绘制箱图(Base R and ggplot2)
- 【python数据挖掘课程】十一.Pandas、Matplotlib结合SQL语句可视化分析
- MyCat介绍与配置(精)
- Git安装Windows / Redhat / Ubuntu
- cc1101初始化c语言程序,cc1101无线模块的程序及使用介绍
- 在shell中获取当前机器的ip地址
- arcgis runtime for android 100.13.0 入门系列,一、初步引入与运行
- 如何在宝贝描述里加旺旺图标和免费电话
- NTC热敏电阻(温度传感器)
- ArcGIS API For Javascript之地图基本加载与显示,地图切换、缩放、定位、比例尺、鹰眼图、坐标显示、查询搜索功能实现
- 轻松插入Word页眉页脚
- 分享一些网站有免费的pdf书籍
- 使用docker运行mysql:5.7
- JEngine的使用-6-ClassBind之JUI
- 自由谈:为什么使用 Linux
- 考研结束,一起聊聊考研中的故事
- B站后台源代码泄露,官方回应声明黑话指南
- 自动化立体仓库都有哪些优点?
- 关于Redis数据的有效期