论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
通过vtkDistanceRepresentation2D获得刻度尺两个端点在世界坐标系内的坐标,使用距离计算函数: sqrt(Distance2BetweenPoints())得到被测物体的长度值dist,最后通过vtkDistanceRepresentation2D的SetTi
瞭le()函数将计算结果显示在屏幕上。如图3所示,使用传统的光线投射算法对头骨进行三维重建[5-6],测量的眼眶宽度为74.4 mm。
4 角度测量
4.1 二维切片的角度测量
通过多平面显示工具可以从三维CT图像数据场中获取二维的组织切片,使用vtkAngleWidget对二维切片中的组织进行角度测量。
vtkAngleWidget用来测量共端点的两条射线间的夹角,两条射线是由三个点(一个中心点,两个端点)确定的,三个点的位置可以独立的设置,当其被释放时,有一个专门的PlacePointEvent被激活以便有专门的操作来重置点的位置,要使用这个类需要确定一个vtkAngleWidget实例和一个Representation(vtk
睞ngleRepresentation的一个子类)。
交互代码:
vtkAngleRepresentation2D *Rep;
double point1[3], center[3],point2[3];
Rep->GetPoint1WorldPosition(point1);
Rep->GetCenterWorldPosition(center);
Rep->GetPoint2WorldPosition(point2);
通过vtkAngleRepresentation2D获得三个特征点在世界坐标系内的坐标并自动计算出两条射线的夹角。如图4所示,测量的椎骨切片的角度为88.3°。图4 椎骨角度测量结果
Fig 4 Measurement result of vertebrae’s angle
4.2 三维器官的角度测量
在制作三维模型时,经常需要测量某个部位的角度,使用vtkAngleWidget可以对立体模型的角度进行测量。
三维角度测量与二维角度测量的工作机制相同,唯一的不同在于:三维角度测量使用vtkAngleRe
瞤resentation3D作为vtkAngleWidget的Representation。通过vtkAngleRepresentation3D获得三个特征点在世界坐标系内的坐标并计算出两条射线的夹角。如图5所示,测量牙齿模型中牙根的角度为42.2°。
图5 牙根角度测量结果
Fig 5 Measurement result of fang’s angle
5 面积测量
肿瘤体积的测量是临床诊断和放射治疗的重要指标,为了更加准确地评估治疗效果,对包含肿瘤的切片进行处理,计算从断层切片中分割出的肿瘤区域的面积,用此面积乘以扫描的层距以代表每一层的体积,通过累加得到肿瘤的体积[7],所以,切片的面积测量对于体积的测量是有重要意义的。VTK并未提供专门测量面积的工具,我们可以用vtkContour
瞁idget分割出肿瘤区域,采用多边形近似法计算肿瘤切片的面积。
本研究以气管的轴位切片为例计算面积,即切片位于XOY平面上,见图6,求n边形面积,把n边形的每条边的两个端点分别与坐标原点O连接,构成n个以O为顶点的三角形[8]。设三维空间内一个三角形三个顶点的坐标分别为:A0(x0,y0,z0),Ai(xi,yi,z0),Ai+1(xi+1,yi+1,z0),z0表示三角形位于z=z0平面上,利用三角形面积公式求每个三角形的面积。三角形面积公式: