一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
posts - 3121,comments - 209,views - 578万

SimpleITK

ITK是一个开源、跨平台的框架,提供给开发者增强功能的图像分析和处理套件(推荐使用)。

Note:注意SimpleITK不支持中文,即路径中不能有中文

X射线图像对应的读取

复制代码
 1 # @file   : itk_p1.py
 2 # @Time   : 2021/8/28 16:27
 3 # @Author : wmz
 4 import SimpleITK as sitk
 5 filename = '1.dcm'
 6 itk_img = sitk.ReadImage(filename)
 7 img_array = sitk.GetArrayFromImage(itk_img)
 8 print(img_array.shape)
 9 
10 # 输出:(对应信息:frame_num, width, height)注意:img_array对应的是图像的矩阵信息
11 
12 # (1, 512, 512)
复制代码

推荐用法:

复制代码
 1 # -*- coding : UTF-8 -*-
 2 # @file   : itk_p2.py
 3 # @Time   : 2021/8/28 19:43
 4 # @Author : wmz
 5 
 6 import SimpleITK as sitk
 7 # 推荐用法
 8 filename = '1.dcm'
 9 itk_img = sitk.ReadImage(filename)
10 img_array = sitk.GetArrayFromImage(itk_img)[0]
11 print(img_array.shape)
复制代码

 CT图像的读取

复制代码
1 import SimpleITK as sitk
2 filename = '*.mhd'
3 itk_img = sitk.ReadImage(filename)
4 img_array = sitk.GetArrayFromImage(itk_img)
5 print(img_array.shape)
6 输出:(对应信息:frame_num, width, height)帧参数:frame_num,代表CT扫描层数注意:img_array对应的是图像的矩阵信息
7 
8 (133, 512, 512)
复制代码

将CT影像拆分成多个单幅图像

方法一:

复制代码
 1 import SimpleITK as sitk
 2 import cv2
 3 filename = '*.mhd'
 4 itk_img = sitk.ReadImage(filename)
 5 img_array = sitk.GetArrayFromImage(itk_img)
 6 frame_num, width, height = img_array.shape
 7 outpath = 'F:/data/LUNA16'#存放拆分得到的图像路径
 8 index = -1
 9 for img_item in img_array:
10     index = index + 1
11     cv2.imwrite("%s/%d.png" % (outpath, index), img_item)
12 print("done!")
复制代码

方法二:

复制代码
1 import SimpleITK as sitk
2 import os
3 import cv2
4 filename = '*.mhd'
5 path = 'F:/data/LUNA16'   #存放拆分得到图像的路径
6 itk_img = sitk.ReadImage(filename)
7 img_array = sitk.GetArrayFromImage(itk_img)
8 for i, im in enumerate(img_array):
9   cv2.imwrite(os.path.join(path, '{}.png'.format(i)), im)
复制代码

如下图所示是CT影像拆分出来的部分图像。拆分得到的图像大小均为512*512,总数是:frame_num张。

posted on   一杯清酒邀明月  阅读(206)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2022-07-13 Qt 路径中常用字符“./”、“../”、“/”、“*”的含义
2022-07-13 MATLAB 函数汉化方法
2022-07-13 Git 入门指南
2022-07-13 ARM、STM32之间的关系以及STM单片机介绍
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示