原文: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读取医学影像文件相关推荐

  1. 影像组学视频学习笔记(33)-使用SimpleITK实现医学影像差值、Li‘s have a solution and plan.

    作者:北欧森林 链接:https://www.jianshu.com/p/afcd06221ea4 来源:简书,已获转载授权 RadiomicsWorld.com "影像组学世界" ...

  2. 将一个dcm格式的医学影像文件处理为一个png格式的图像和一个xml格式的文件

    将dcm格式的医学影像文件处理为png格式的图像和xml格式的文件可以使用转换工具来实现.可以使用如下方式: 使用 Python 库 pydicom 和 pillow 库读取 dcm 文件并转换成 p ...

  3. java读取dcm影像文件_DCM医学影像文件的格式与读取方法分享

    医学影像DCM是个类似PNG的分块格式,内涵丰富医疗信息,由于应用领域较窄,OpenCV没有提供对其加载支持,一般采用dcmtk库进行加载. 博主本着研究探索的精神写了这段代码,并分享出来,提供了解析 ...

  4. DCM医学影像文件的格式与读取方法分享

    医学影像DCM是个类似PNG的分块格式,内涵丰富医疗信息,由于应用领域较窄,OpenCV没有提供对其加载支持,一般采用dcmtk库进行加载. 博主本着研究探索的精神写了这段代码,并分享出来,提供了解析 ...

  5. DICOM医学影像文件解析

    DICOM医学影像文件格式解析 目录 DICOM医学影像文件格式解析 1.DICOM 2.DICOM存储格式 2.1 DataElement的三种结构 2.2 DataElement的Tag 2.2. ...

  6. nodeJs对DICOM医学影像文件解析并保存为图片

    最近入职一家医疗硬件和软件开发的公司,负责一套医疗软件中DICOM部分的功能开发,因为对这个行业完全陌生,对DICOM也一无所知,所以很头疼,查了很多国内外的资料,才有了一定了解. 软件需求是模仿国外 ...

  7. 【Python】【SimpleITK】医学影像重采样至指定的Spacing

    import os import SimpleITK as sitkdef resampleVolume(outspacing, vol):"""将体数据重采样的指定的s ...

  8. java读取dcm影像文件_使用dcmtk库读取.dcm文件并获取信息+使用OpenCV显示图像

    借助VS2013和OpenCV的绘图功能,在工程DICOMReader.sln中实现了对单张.dcm图像的读取与显示,以下是详细步骤. 前期准备工作 编译器:VS2013 库:dcmtk-3.6.0( ...

  9. JAVA解析dcm医学影像文件,并提取文件信息

    一.安装 首先去Github下载源码,然后执行mvn install进行本地安装,Maven中央仓库,竟然没有该jar..安装成功之后如下: 然后在POM.XML文件中引入该jar包: <dep ...

最新文章

  1. 和老同事的谈话:关于职业生涯以及MDA
  2. R语言绘制箱图(Base R and ggplot2)
  3. 【python数据挖掘课程】十一.Pandas、Matplotlib结合SQL语句可视化分析
  4. MyCat介绍与配置(精)
  5. Git安装Windows / Redhat / Ubuntu
  6. cc1101初始化c语言程序,cc1101无线模块的程序及使用介绍
  7. 在shell中获取当前机器的ip地址
  8. arcgis runtime for android 100.13.0 入门系列,一、初步引入与运行
  9. 如何在宝贝描述里加旺旺图标和免费电话
  10. NTC热敏电阻(温度传感器)
  11. ArcGIS API For Javascript之地图基本加载与显示,地图切换、缩放、定位、比例尺、鹰眼图、坐标显示、查询搜索功能实现
  12. 轻松插入Word页眉页脚
  13. 分享一些网站有免费的pdf书籍
  14. 使用docker运行mysql:5.7
  15. JEngine的使用-6-ClassBind之JUI
  16. 自由谈:为什么使用 Linux
  17. 考研结束,一起聊聊考研中的故事
  18. B站后台源代码泄露,官方回应声明黑话指南
  19. 自动化立体仓库都有哪些优点?
  20. 关于Redis数据的有效期

热门文章

  1. 平行世界产品分析|冷暖自知的世界
  2. 【进程】进程间通信----消息队列
  3. MongoDb之TTL索引
  4. Elasticsearch: Query string与Simple query string
  5. 使用 OpenCV 和 Python 从视频中快速提取帧
  6. Linux获取最后一个参数(参数统计)
  7. 【GDKOI2014】JZOJ2020年8月13日提高组T3 壕壕的寒假作业
  8. DYA9面向对象中--super关键字
  9. GCP/临床试验基础知识集锦
  10. 临床研究统计分析的要求和报告规范