DICOM世界观·第一章 坐标系统

    xiaoxiao2021-03-25  100

    前言:

    DICOM世界观·开篇中顺便提到了DICOM标准中提及的各类坐标系统。鉴于篇幅问题(博客的确不太适合写长学术类博文),对于坐标系统的偏理论部分放到本篇进行介绍。正如“DICOM世界观·开篇”中提到的,希望按照“科学”本身的方式——大量观察经验+理论推理——来介绍相关知识点。 本篇博文内容大致如下:

    1.3. 坐标系变换 1.3.1 方向余弦 1.3.2 欧拉角 1.3.3 四元数 1.3.4 DICOM中的方向余弦示例

    第一章 坐标系统 Coordinate System

    开篇中提到了“笛卡尔坐标系”的伟大贡献,使得数学与几何两者有机的结合了起来,快速推进了人类文明的进步,至少古希腊文明取得了空前的进步。还记得高中时莫名的很讨厌解析几何(Coordinate geometry,可以简单地理解为将空间的几何问题当做数学方程式来解),因为它巧妙的利用解析式的数字方法掩盖了空间的复杂,让我引以为傲的超强空间想象力变得苍白无力。只怪当时井底之蛙未能完全体会它的美。 目前我们已经确定了DICOM世界观的一种度量方式——笛卡尔右手坐标系——但笛卡尔坐标系仅仅是诸多链接数学与几何映射方式的一种而已,另外还有极坐标(Polar Coordinate System)、圆柱坐标(Cylindrical Coordinate System)、球坐标(Spherical Coordinate System)、齐次坐标(Homogeneous Coordinate System,后续章节会重点提到)等等。接下来让我们看看在该度量体系下如何来描述DICOM中的相关实体。

    1.3 坐标系变换 Coordinate Transformations

    坐标系变换,Coordinate Transformations,在这里可能表述不够准确。更精确的描述应该指的是不同坐标系,例如极坐标系、圆柱坐标系、球坐标系、齐次坐标等,彼此之间的转换。这里我想表达的意思是利用坐标转换的表达方式(例如下文的余弦向量、欧拉角、四元数)来描述DICOM世界中出现的相关变换,例如平移、旋转、缩放等,他们大多都是发生在笛卡尔坐标系统之下,作为生活在三维世界的生物,我们更习惯于笛卡尔理论体系的描述——亦或因为习惯了笛卡尔体系使得我们认为我们是三维的生物。

    1.3.1 方向余弦 Direction Cosine

    方向余弦,是解析几何中的一个概念。Wiki描述如下:

    In analytic geometry, the direction cosines (or directional cosines) of a vector are the cosines of the angles between the vector and the three coordinate axes. Equivalently, they are the contributions of each component of the basis to a unit vector in that direction.

    方向余弦本身是一个向量,vector。用来描述任一空间向量V与坐标系坐标轴间夹角的余弦,可以唯一的确定向量在坐标系下的方向,在现实应用中,方向余弦多半用于描述空间任一两个向量间的夹角。既然是解析几何的概念,我之前也提到过,可以完全用于数学解析的方式来描述:如下所示:

    vv=vxex+vyey+vzez 其中 vx,vy,vz 分别表示向量 v 在坐标系x,y,z三轴中的坐标,那么该向量与三个坐标轴之间的夹角的方向余弦是: α=cosa=vxv2x v2y v2zxβ=cosb=vyv2x v2y v2zyγ=cosc=vzv2x v2y v2zz 如下图所示:

    图片摘自:方向余弦维基百科 大家可以打开自己的笔记本,使得屏幕与键盘面垂直放置,取键盘面短的一边为x轴,与屏幕相交的为y轴,屏幕短的一边为z轴,然后取一支笔放在键盘面与屏幕相交的左侧交点(作为坐标原点)处,随意移动铅笔的尾端感觉一下方向余弦的三个分量是如何来确定笔所指的方向。 感受完了我们来介绍一下方向余弦的特性, 所谓的特性往往是特定理论体系其内在所表达的一些规律,但这并不代表背后一定对应着真实的物理客观事实。例如: - 特性一: cos2α+cos2β+cos2γ=1 - 特性二: 0aπ0bπ0cπ

    特性一我们比较常见,在解析几何、矩阵运算等场合遇到的归一化、单元向量等问题,目的是为了运算方便且在乘法运算过程中确保不改变原始物体的大小。特性二是为了应对三角函数的周期特性而提出的,因为三角函数重复周期为2π,不加限制的话上述特性一解空间有无数个。

    1.3.2 欧拉角 Euler Angles

    欧拉角是另一种描述坐标系中物体(Wiki中描述为刚性体,Rigid Body,即物体本身不会发生形变)方向的方式,与上述夹角描述法不同的是:欧拉角体系中通过描述三个坐标轴的旋转来确定物体的方位,可以简单的理解为通过旋转坐标系的三个坐标轴(即绕着某个坐标轴旋转)来获得目标方位。 欧拉角的几何描述也可以用类似于方向余弦的三个角度来表示,用xyz表示旋转之前的坐标系,XYZ表示旋转后的坐标系,这里忽略两者的平移,使得两坐标系原点重合。并且去x-y平面与X-Y平面的交线记为N,如下图所示:用 αβγ 三个角度可以描述xyz与XYZ之间的关系,其中: - αxN - βzZ - γXN

    图片摘自:Euler Angles维基百科

    同样可以用笔记本来感受一下,这次我们放置的不是铅笔,而是我们的手机。坐标轴方位依然采用之前的方式描述,将手机推到笔记本键盘面与屏幕交线的最左端,使得手机短边与笔记本的短边对齐,长边与交线对齐。接下来我们通过三次旋转来将手机旋转到空间任一角度。 - 第一步:绕着z轴逆时针旋转手机 α , - 第二步:绕着手机短边逆时针旋转β, - 第三步:绕着与手机面垂直的轴逆时针旋转 γ

    通过调整三次旋转的角度值,可使得手机旋转到空间任一角度。

    下面我们来描述一下欧拉角分类与特性,所谓的分类或特性往往是特定理论体系其内在所表达的一些相似和规律,但这并不代表背后一定对应着真实的物理客观事实。 - 根据三个旋转中心轴的选择不同将欧拉角分为内旋(intrinsic,绕旋转后的坐标系XYZ的坐标轴旋转)和外旋(extrinsic,绕原始坐标系xyz坐标轴旋转)两类。——上面演示的手机旋转是一种内旋的方式。 - 根据三个轴旋转的先后顺序将欧拉角分为经典欧拉角(Proper or Classical Euler angles,三轴旋转次序为:zxz,xyx,yzy,zyz,xzx,yxy,总数为6中,可以用排列组合方式来确定 C13C12=32=6 )和Tait-Bryan欧拉角(Tait-Bryan angles,三轴旋转次序为: xyz,yzx,zxy,xzy,zyx,yxz ,共6中,也可以用排列组合来计算 A33=321=6 )。

    1.3.2.1 经典欧拉角 Proper Euler Angle

    经典欧拉角根据旋转中心轴的选择不同分为“内旋”和“外旋”。 - 内旋:通俗的来讲,就是每次旋转轴的选取都是从被旋转空间来看,上面我们用手机模拟的示例就是内旋,可以看到每次我的描述都是手机的长边和手机的短边,以及与手机面垂直的轴。这三个的描述都是相对于被旋转的手机来确定的。

    - 外旋:外旋要求每次旋转轴都是从初始坐标轴的x-y-z三轴中选取,而不以被旋转物所在空间来作为选择对象。

    1.3.2.2 Tait-Bryan欧拉角 Tait-Bryan Angle

    Tai-Bryan是应用在航空领域的一种欧拉角表达。通过前文的分类我们可以知道Tait-Bryan角与欧拉角唯一的不同就是旋转轴会围绕三个不同的分别旋转( xyz,yzx,zxy,xzy,zyx,yxz ),而欧拉角第一次和第三次旋转轴是相同的( zxz,xyx,yzy,zyz,xzx,yxy ),除此以外Tait-Bryan角也会根据旋转轴是否以被旋转物体为准分为外旋和内旋。

    1.3.3 四元数

    在介绍坐标系变换中提及一种复数,或许让人有些费解。不必深究四元数的本质,之所以四元数能够用于表示三维空间的旋转,理论来自于欧拉旋转定理:

    在运动学里,欧拉旋转定理(Euler’s rotation theorem)表明,在三维空间里,假设一个刚体在做一个位移的时候,刚体内部至少有一点固定不动,则此位移等价于一个绕着包含那固定点的固定轴的旋转。这定理是以瑞士数学家莱昂哈德·欧拉命名。于1775年,欧拉使用简单的几何论述证明了这定理。摘自《欧拉旋转定理 维基百科》 【备注】:科学是新时代的一种普适世界观,其信念体系内部的各种定理,都是由归纳演绎而来,被要求至少能够符合现在我们观察到的经验事实,并且能够预测未来和反推过去。这也正是科学理论不同于传统“迷信”的地方,然而每一个正确的理论(至少现阶段是正确的)都经历了很长时间的观察确认,然后再辅以简洁的理论抽象来表达。对于每一个定理的学习和掌握需要自己去亲自体会和尝试,对于理论的证明最好也阅读体会一下当时作者巧妙的构思,但不必深究其为何会有如此“巧妙”——那多半是来自于1%的灵感。

    结合“欧拉旋转定理”和我们之前介绍的余弦向量、欧拉角,已经体会到通过三个旋转( αβγ )可获得三维空间任一方向,前提是原始坐标系xyz与目标坐标系XYZ的原点重合。那么在此基础上我们再加上原点的位移,即可实现空间的任何变换。——这四个值就可以组成一个四元数。 至于为什么四元数会在大多数3D程序中普及流行,是因为与传统的旋转矩阵表达方式相比,四元数占用空间更小,更利于插值,另外可有效避免万向锁问题。【备注】:前文介绍的余弦向量和欧拉角都可以用矩阵的方式来表达。

    下面我们简单看一下四元数理论体系的特性,体会一下他如何能够表示三维空间旋转。四元数一般可以表示为:

    a+bi+cj+dka,b,c,di,j,ki2=j2=k2=ijk=1 四元数的乘法可以用下表表示:

    这里要注意的是四元数的乘法不符合交换律,上表中 ij=k ji=k 。之所以四元数理论体系不满足乘法交换律是因为四元数的目的( 四元数wiki)是为了定义空间旋转,在欧式空间中从 i 轴方向旋转到j轴方向与从 j 轴方向旋转至i轴所表示的过程是不同的,大家可以用右手坐标系的方式来模拟一下。

    1.3.4 DICOM世界的方向余弦实例

    上文介绍了诸多描述坐标系变换的方法,接下来我们看一下DICOM标准中的关于方向余弦的真实案例。在DICOM标准中通过Image Position(Patient)-(0020,0032)和Image Orientation(Patient)-(0020,0037)两个字段来确定患者Patient的空间定位(详情可阅读上一篇博文DICOM世界观●开篇),在标准PS3.17中通过示意图的方式给出了形象的解释。为了博文排版方便,这里我组合了相关示意图。

    图中给出了从整体、手部、足部等角度来看的方向定位,每一组定位中都如是来定义患者坐标系: XrightleftYanteriorposteriorZfoothead 接下来我们看一下具体如何来确定图像的方位。默认情况下图像采集(这里以单层一幅512*512的图像为例)的位置关系如下: 彩色坐标轴代表患者在空间的定位,按照上面Patient坐标系的方向定位来看,假设你正在用放在水平桌面上的一台笔记本阅读本博文,且笔记本的屏幕垂直于水平桌面的话,可以想象出此刻患者是平躺在该桌面,头在电脑屏幕里面,脚底就在你的屏幕上。灰色部分代表大小为512*512(这个数字比较常见,在医学数字采集图像中图像范围通常是这个大小)采集像素区域。为了方便描述图像的每个像素,我们会给图像也绑定一个坐标系:平行于患者X轴从左到右是图像的X轴,即图像的行的方向;平行于患者Y轴从上到下是图像的Y轴,即图像的列的方向。所以通常我们在DICOM浏览器中都会看到图像上标记R/L/A/P等字样,其目的就是要告知你上图中的坐标定位,如下图是某个患者的三视图的定位描述, 从图中下方的Image Orientation余弦向量的数值来看,三个视图都是标准的切片,即都平行于患者三维空间的某一个平面。例如上图: - 左子图图像四周标记为(R->L,A->P)余弦向量为(1,0,0)和(0,1,0)说明图像的X轴平行于患者X轴,图像的Y轴平行于患者的Y轴,说明该图像是平行于患者的X-Y平面来采集获得的;——这就是我们常听到的横截面或横截位 - 中间子图图像四周标记为(A->P,H->F)余弦向量为(0,1,0)和(0,0,-1)说明图像的X轴平行于患者Y轴,图像的Y轴平行于患者的Z轴但方向相反(从头指向脚),说明该图像是平行于患者的Y-Z平面采集获得的;——这就是我们常听到的矢状面或矢状位 - 右子图图像四周标记为(R->L,H->F)余弦向量为(1,0,0)和(0,0,-1)说明图像的X轴平行于患者X轴,图像的Y轴平行于患者的Z轴但方向相反(从头指向脚),说明该图像是平行于患者的X-Z平面采集获得的;——这就是我们常听到的冠状面或冠状位

    下面我们看一个稍微复杂一些的示例,左图就是上一幅图中的右子图,是一个平行于患者X-Z平面的冠状面采集图像;右图与左图很像,也肯定是冠状面(一种旋转过的冠状面)采集图像;但是其余弦向量略有不同,分别为(1,0,0)和(0,0.132256,-0.991215),如下所示:

    这里我们详细分析一下右子图的余弦向量(1,0,0)和(0,0.132256,-0.991215),令 α=(1,0,0) β=(0,0.132256,0.991215) , - 由 αβ=(1,0,0)(0,0.132256,0.991215)=0 说明右子图的行方向与列方向垂直,也就说明像素采集的区域是一个矩形区域而不是一个平行四边形。 - 由 α=(1,0,0) 可知,像素采集区域的行方向平行于患者的X轴; - 由 β=(0,0.132256,0.991215) 可知,像素采集区域的列方向与患者的Y轴夹角为 arccos(0.132256)82.5° ,余患者Z轴的夹角为 arccos(0.991215)172.5° 即 所以DICOM浏览器四周标注的符号为R->L,AH->PF。正常的话应该是R->L,H->F,此时AH与PF表示当前采集平面与X-Z标准平面有一定的夹角,相当于患者此刻平躺将上半身整体前倾做仰卧起坐的姿态。

    总结:

    至此DICOM世界观 第一章 坐标系统已经介绍完了,由于篇幅原因没有对每一个坐标系变换理论进行详细的展开,有兴趣的话大家可以点击文中的参考链接进行详细学习。通过该章节的介绍我们已经构建了DICOM世界中的测量基准尺度和换算理论体系,后续所有的博文都会以此为基础进行展开,敬请期待。

    更正1:2017.12.02,更正矢状面与冠状面的英文单词,矢状面-Sagittal,冠状面-Coronal 作者:zssure@163.com 时间:2017-03-12

    zssure 认证博客专家 视觉/OpenCV Python PyTorch 从不抽烟,应酬时喝酒,早睡早起。一个喜欢折腾自己的人,一个连续创业的劳动者,做过很多事,想过很多事,看破不说破是自省,看破也说破是成长。
    转载请注明原文地址: https://ju.6miu.com/read-36559.html

    最新回复(0)