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

相关推荐
小陈工1 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
A__tao5 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢5 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
迷藏4946 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
明日清晨6 小时前
python扫码登录dy
开发语言·python
bazhange6 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
人工干智能7 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`
服务器·python
unicrom_深圳市由你创科技7 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?
c++·python·c#
小敬爱吃饭7 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘
宸津-代码粉碎机7 小时前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势
java·人工智能·spring boot·后端·python