PyQt Python 使用 VTK ITK 进行分割 三维重建 医学图像可视化系统 流程

效果:

重建流程:

1. 输入 可以读取DICOM ,nii nrrd 等数据

设置读取器以加载 DICOM 图像系列。

使用 itk::GDCMImageIO 作为 DICOM 图像的输入输出接口。

使用 itk::GDCMSeriesFileNames 获取指定路径下的所有 DICOM 文件名。

使用 itk::ImageSeriesReader 读取 DICOM 图像序列,并将其作为3D图像存储。

2. 分割

创建 itk::ThresholdImageFilter 进行图像阈值分割。也可以使用 等高线分割,区域增加分割,AI 分割

3. 连通性分析

创建 itk::ConnectedComponentImageFilter 对分割后的图像进行连通性分析。

对每个连通区域分配唯一的标签。

获取标记(labeled)图像。

获得连通性分析后的图像像素,后面就可以对像素做处理

4. 选定区域处理

遍历用户选定的点。

对每个点,将屏幕坐标转换为图像坐标。

从标记图像中提取每个点的标签值。

将提取的标签值存储在列表中。

5. 转换为 VTK 图像

将 ITK 图像转换为 VTK 的 vtkImageData。

并部分不能颜色显示;
6. 创建并配置 VTK 体渲染器

创建 vtkPolyDataMapper vtkActor 并设置输入数据。

定义颜色 ,以及体属性。

7. 可视化

创建 VTK 渲染器和渲染窗口。

添加体对象到渲染器。

设置背景色并重置摄像机。

启动渲染窗口交互器以开始交互式查看。

8.输出 保存

三维模型,可以进行单独保存,或全部保存

这个过程涵盖了从读取 医学图像、图像处理(阈值分割和连通性分析)、用户交互(选定区域处理)到最终的3D可视化。

视频:

PyQt Python VTK ITK 分割 三维重建

相关推荐
nightunderblackcat21 分钟前
进阶向:人物关系三元组,解锁人物关系网络的钥匙
开发语言·python·开源·php
站大爷IP38 分钟前
Pandas与NumPy:Python数据处理的双剑合璧
python
站大爷IP1 小时前
Python枚举进化论:IntEnum与StrEnum的实战指南
python
甄超锋1 小时前
python sqlite3模块
jvm·数据库·python·测试工具·django·sqlite·flask
R-G-B2 小时前
OpenCV Python——Numpy基本操作(Numpy 矩阵操作、Numpy 矩阵的检索与赋值、Numpy 操作ROI)
python·opencv·numpy·numpy基本操作·numpy 矩阵操作·numpy 矩阵的检索与赋值·numpy 操作roi
细节处有神明2 小时前
Jupyter 中实现交互式图表:ipywidgets 从入门到部署
ide·python·jupyter
小小码农一只2 小时前
Python 爬虫实战:玩转 Playwright 跨浏览器自动化(Chromium/Firefox/WebKit 全支持)
爬虫·python·自动化
深盾安全4 小时前
Python脚本安全防护策略全解析(上)
python
杜子不疼.4 小时前
《Python学习之使用标准库:从入门到实战》
开发语言·python·学习
胡耀超4 小时前
从哲学(业务)视角看待数据挖掘:从认知到实践的螺旋上升
人工智能·python·数据挖掘·大模型·特征工程·crisp-dm螺旋认知·批判性思维