医疗影像容积重建-物体坐标系和渲染图像坐标系

1 物体坐标系(mm为单位,并三方向都是各向同性的情况)

将所有数据的正中间(这里所有的数据,是指各体素按照实际位置在空间排列),作为物体坐标系的原点,以图像的image orientation X方向,作为物体坐标系x轴,image orientation Y方向作为物体坐标系的y轴。

同时,通过image orientaton的定义,规定物体的坐标的x轴正方向是人体从右指向左的,y方向是人体从面部指向背部方向,z方向是从脚指向头的方向,是符合右手螺旋法则的坐标系。

被重建的区域(此区域包含物体),可定位为一个正方体,正方体边长是物体的最大边长,此重建正方体的中点和物体坐标系的原点重合。

2 观察坐标系

此坐标是用来观察物体坐标系内的体素数据的坐标。因为,在计算过程中,左右坐标系都是右手螺旋法则的坐标系。在通过鼠标对VR图像进行旋转和移动的时候,实际上,是旋转和移动的观察坐标系Or,通过改变观察坐标的视角,来实现对物体的观测。Or初始位置和物体坐标系O是重合的。我们知道,坐标系的旋转矩阵为

医疗影像容积重建-物体坐标系和渲染图像坐标系_第1张图片

3 在观察坐标系内,进行渲染

最后的渲染图像,如下图,头向上,图像的左边是身体的右,面部朝向观察者。

医疗影像容积重建-物体坐标系和渲染图像坐标系_第2张图片

但是,实际的物体方位如下

医疗影像容积重建-物体坐标系和渲染图像坐标系_第3张图片

所以,在重建计算的过程中,如果要生成长宽512个像素的图片,那么,重建过程就要从x的正方向(从右向左),z的反方向(从头到脚),并且每个像素都要沿着y的正方向(从面到背)进行渲染。

3.1 渲染图上,用鼠标沿x轴移动

当鼠标,沿渲染图像,x轴正方向滑动,此时,观察者预期看到的是右侧背部。所以,在观察坐标系中,应当是绕当前的观察坐标系Zr轴旋转-sita角,得到新的观察坐标系。如下为示意图,Or是绕Zr的负方向旋转。

医疗影像容积重建-物体坐标系和渲染图像坐标系_第4张图片

旋转后,得到的渲染图为

医疗影像容积重建-物体坐标系和渲染图像坐标系_第5张图片

3.2 渲染图上,用鼠标沿y轴移动

沿渲染图像的y方向,正方向移动,也就是从上向下滑动鼠标,此时,我们预期看到的是头部,如下图所示,

医疗影像容积重建-物体坐标系和渲染图像坐标系_第6张图片

,要得到此效果,观察坐标系应当绕当前观察坐标系的Xr轴,旋转负角,得到新的观察坐标系。示意图如下。

医疗影像容积重建-物体坐标系和渲染图像坐标系_第7张图片

4 计算场景

4.1 渲染过程

大概的过程是,计算在渲染坐标系中的某个一个点,映射到物体坐标系中的体素点的坐标,T表示从物体坐标系到渲染坐标系的转换矩阵,此矩阵是通过一系列的旋转和移动的转换矩阵右乘所得。右乘,表示坐标系的变换,机器人运动学中的DH建标方法,就是一种移动坐标系的方法。

医疗影像容积重建-物体坐标系和渲染图像坐标系_第8张图片

4.2 计算物体坐标系中的点,映射到渲染图像

已知物体坐标系内坐标位置点,求在渲染坐标上的坐标点,最后xr和zr就是实际渲染图像上的坐标点

医疗影像容积重建-物体坐标系和渲染图像坐标系_第9张图片

你可能感兴趣的:(医疗设备业务随笔,C++,opencv,健康医疗,vr)