三、MPR(三平面重建)和三视图

MPR(三维重建中的 Multi-Planar Reconstruction,多平面重建)里的"三视图",是医学影像软件(CT、MRI、PET-CT 等)中的核心。

一、核心三视图解析

1、横断面(Axial)

相当于把人体水平切开。观察方向:从下往上看。常用于脑 CT、胸部 CT、腹部 CT.

2、冠状面(Coronal)

相当于把人体从正面切开。观察方向:面对病人。常用于鼻窦、脊柱、肺部上下关系.

3、矢状面(Sagittal)

相当于把人体左右切开。观察方向:从身体侧面看。常用于脊柱、膝关节、大脑中线结构.

4、示例图

5、三视图核心思想

在三个正交切面(轴状、冠状、矢状)之间共享同一个空间坐标点(x,y,z),用户在任意一个视图里的操作,会同步影响另外两个视图。所以三个视图其实只是同一体数据的不同切片投影。

二、为什么需要三视图

因为单个方向无法完整描述空间关系。例如某个肿瘤,在横断面里能看到左右位置,但不知道上下深度。加入冠状面、矢状面后才能真正定位。

三、三视图的核心价值

  • 医生能快速知道病灶在人体哪个空间位置。

  • 观察器官关系。例如:肿瘤是否侵犯血管、骨折是否穿透关节、病灶与神经距离。

  • 提高手术规划能力。例如:穿刺路径、切除范围、导航定位。

四、什么是MPR(Multi-Planar Reconstruction)

Multi-Planar Reconstruction翻译过来就是多平面重建。因为原始 CT 实际只直接采集了某个方向的数据。比如CT 常以 axial 为主采集,coronal/sagittal 是后处理重新生成,因此叫多平面重建。

五、MPR本质和三视图

CT/MRI 原始数据本质上是一个三维标量场,每个 voxel(体素)都有灰度值,可以理解成 3D 数组。

例如:512 × 512 × 400;表示512×512 的单层图像,共 400 层。

MPR 本质从三维体数据中重新取样(resampling)得到任意平面切片。三视图其实就是三个互相垂直的二维采样面。可以理解为三维数组在三个维度上的"切片操作"。

六、VTK中的MPR三视图

在 VTK 中实现 MPR 的核心通常是:

  • vtkImageData:读取 DICOM/CT 数据。

  • vtkImageReslice:做任意切面重建(核心)。

  • vtkResliceCursorWidget:三视图联动十字线。

  • vtkImageViewer2:显示二维切片。

  • 多个 vtkRenderer:同时显示三个方向。

1、经典MPR架构

DICOM 数据

Volume Builder

(体数据构建)

3D Volume Cache

(体缓存)

┌─────────┼─────────┐

▼ ▼ ▼

Axial Coronal Sagittal

Renderer Renderer Renderer

│ │ │

└─────────┼─────────┘

MPR Controller

(同步控制)

UI显示

2、简单实现流程

cpp 复制代码
//读取 DICOM
vtkNew<vtkDICOMImageReader> reader;
reader->SetDirectoryName("dicom/");
reader->Update();
//得到vtkImageData*
//创建三个 Viewer
vtkNew<vtkImageViewer2> axialViewer;
vtkNew<vtkImageViewer2> coronalViewer;
vtkNew<vtkImageViewer2> sagittalViewer;

/*设置方向*/
//1.Axial
viewer->SetSliceOrientationToXY();
//2.Coronal
viewer->SetSliceOrientationToXZ();
//3.Sagittal
viewer->SetSliceOrientationToYZ();

3、医院系统中的完整功能

真正临床 MPR 通常包括:

功能 VTK组件
三视图 vtkResliceCursorWidget
十字线 ResliceCursorActor
斜切 vtkImageReslice
厚层MPR SlabMode
VR三维 vtkGPUVolumeRayCastMapper
窗宽窗位 vtkImageMapToWindowLevelColors
测量 vtkDistanceWidget
ROI vtkContourWidget
相关推荐
用户805533698033 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xcyxiner3 天前
DicomViewer (vcpkg Windows和ubuntu编译)7
qt
Quz8 天前
QML Hello World 入门示例
qt
xcyxiner11 天前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner12 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner12 天前
DicomViewer (添加模型类)3
qt
xcyxiner13 天前
DicomViewer (目录调整) 2
qt
xcyxiner13 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
桥田智能15 天前
桥田智能 QT-650S:面向白车身焊装的 800kg 重载快换解决方案
开发语言·qt·系统架构
森G15 天前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt