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 分割 三维重建

相关推荐
知忆_IS17 小时前
【问题解决】Label Studio上传文件数量超限解决方案
python·目标检测·label studio
武子康17 小时前
Java-169 Neo4j CQL 实战速查:字符串/聚合/关系与多跳查询
java·开发语言·数据库·python·sql·nosql·neo4j
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ17 小时前
MyBatis Plus中执行原生SQL语句方法
python·sql·mybatis
Q_Q51100828517 小时前
python+django/flask+vue的书城图书阅读器系统,亮点含目录章节pycharm
spring boot·python·django·flask·node.js·php
njsgcs17 小时前
excel提取长宽,进行排版导出ezdxf 装箱算法 贪婪 总利用率91%
开发语言·python·excel
♛小小小让让18 小时前
python logging模块:专业日志记录
笔记·python
追风少年ii18 小时前
脚本复习--高精度空转(Xenium、CosMx)的细胞邻域分析(R版本)
python·数据分析·空间·单细胞
AI科技星18 小时前
宇宙膨胀速度的光速极限:基于张祥前统一场论的第一性原理推导与观测验证
数据结构·人工智能·经验分享·python·算法·计算机视觉
秋刀奈18 小时前
基于 LangGraph 构建极简对话式 AI 智能体
python·langchain·agent
重启编程之路19 小时前
python基础之进程学习
python