效果:
重建流程:
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 分割 三维重建