转自:https://www.cnblogs.com/h2zZhou/p/9072967.html

在DICOM标准里,有三个TAG与成像的方向相关。

参考来源:Kitware关于DICOM方向的说明

http://public.kitware.com/IGSTKWIKI/index.php/DICOM_data_orientation

包括

1、Image Position (0020,0032): specifies the x, y, and z coordinates of the upper left hand corner of the image. In other words, this tag specifies the coordinates of the the first voxel transmitted.

图像位置:指示了图像左上角的第一个像素的空间坐标(x,y,z)。 也就是DICOM文件传输的第一个像素的坐标

2、Image Orientation (0020,0037): specifies the direction cosines of the first row and the first column with respect to the patient. The direction of the axes are defined by the patients orientation to ensure LPS system ( x-axis increasing to the left hand side of the patient, y-axis increasing to the posterior side of the patient and z-axis increasing toward the head of the patient )

图像方向:指示了图像第一行和第一列相对于病人的方向cosine。 坐标轴的方向是根据病人的方向来确定的(X轴指向病人的左手边,y轴指向病人的后面,Z轴指向病人的头部。

3、Patient position( 0018,5100) : Patient position descriptor relative to the equipment. Required for CT and MR images. Possible values: HFP= head first-prone, HFS=head first-supine, HFDR= head first-decibitus right, HFDL = head first-decubiturs left, FFP = feet first-prone, FFS, FFDR, FFDL.

病人的位置:  是描述病人相对于CT或者MR等成像设备的位置。 HFP:头部在前,俯卧; HFS:头在前,仰卧

一个例子:

某个切片 m

0020,0032  Image Position (Patient): -99.8046875/-282.8046875/94.25

0020,0037  Image Orientation (Patient): 1/0/0/0/1/0

0018,5100  Patient Position: HFS

另外一个切片n

0020,0032  Image Position (Patient): -99.8046875/-282.8046875/157.5

0020,0037  Image Orientation (Patient): 1/0/0/0/1/0

0018,5100  Patient Position: HFS

我们发现

图像的位置坐标中,只有Z轴坐标有变化,而且从Z坐标的大小可以看出,m切片是在n切片的下方

知道了图像的方向,就很容易进行后面的图像分析了

1.      Image Orientation:

如之前在博文《DICOM中几个判断图像方向的tag》中提到的ImageOrientation(0020,0037)表示的是图像第一行和第一列相对于病人的方向。而在DICOM坐标系是根据病人的方向来确定的,其中X轴正向指向病人的左侧,Y轴正向指向病人的背部,Z轴正向指向病人的头部。

在医学影像处理软件中,最常见的是将导入系统的MRI/CT序列以三视图的形式进行呈现,分别为轴状位(Transverse/Axisplane)、冠状位(Coronal/Frontal plane)和矢状位(Sagittal plane)。以下图显示的是这三个方位对应的切面方位,以及在成像过程中对应的坐标系。

图1 成像坐标系

图2 三视图

2.     Software and Coding

 

图3 医学软件中标准三视图与MPR变换后的图像方位

如图3所示为某一款医疗影像软件在载入一个患者头部MRI序列后,三个不同视图中所标注的图像方位图。可以判断出这三个视图依次为轴状位(AP-LR)、矢状位(HF-AP)、冠状位(HF-LR)。

在网上找到的计算视图中方位的程序如下:

char *ImageOrientationLayer::ComputeOrientation(Vector3D vector)
{
        char *orientation=new char[4];
        char *optr = orientation;
        *optr='\0';
 
        char orientationX = vector.getX() < 0 ? 'R' : 'L';
        char orientationY = vector.getY() < 0 ? 'A' : 'P';
        char orientationZ = vector.getZ() < 0 ? 'F' : 'H';
 
        double absX = fabs(vector.getX());
        double absY = fabs(vector.getY());
        double absZ = fabs(vector.getZ());
 
        int i;
        for (i=0; i<3; ++i) {
                if (absX>.0001 && absX>absY && absX>absZ) {
                        *optr++=orientationX;
                        absX=0;
                }
 
                else if (absY>.0001 && absY>absX && absY>absZ) {
                        *optr++=orientationY;
                        absY=0;
                }
 
                else if (absZ>.0001 && absZ>absX && absZ>absY) {
                        *optr++=orientationZ;
                        absZ=0;
                }
 
                else break;
 
                *optr='\0';
        }
 
        return orientation;
}

结合到软件开发中,则首先需要在窗口的top,bottom,left,right中间找到四个单位向量,(0,1,0),(0,-1,0),(-1,0,0),(1,0,0),将其对应的窗口坐标点转化为世界坐标系的点,求出与(0,0,0)所对应的世界坐标原点的四个向量并且归一化,作为上述ComputeOrientaton函数的参数传进去,即可得到当前图像在世界坐标系下的方位。

【转】DICOM中几个判断图像方向的tag相关推荐

  1. input内容右对齐_向右打方向倒库过程中,如何判断后车距离?光线较暗车库倒库技巧...

    现在进入泉城广场的地下停车场,根据上方导向箭头提示,车位和出口都在右转方向. 现在大家从画面中可能觉得光线还可以,其实这个停车场光线比较差,从后视镜中可以看到相对真实的光线状态. 很多朋友曾经问过我, ...

  2. html5触摸事件判断滑动方向,H5触摸事件中如何判断用户滑动方向

    这次给大家带来H5触摸事件中如何判断用户滑动方向,H5触摸事件中判断用户滑动方向的注意事项有哪些,下面就是实战案例,一起来看一下. 接口 TouchEvent TouchEvent 是一类描述手指在触 ...

  3. 巧用左手判断CSS中transform:rotate旋转方向

    在制作网页的过程中,我们会经常让元素进行旋转,来形成一定的立体感,或是配合关键帧(@keyframe)做成动画特效,使得页面更加美观. 在css3中我们可以借助transform:rotate();来 ...

  4. 【转】Dicom中的Image Orientation/Position的理解

    转自:Dicom中的Image Orientation/Position的理解 - 知乎 在DICOM中,是通过Image Position和Image Orientation来描述当前的图像和人体坐 ...

  5. 从企业实操的角度谈深度学习(图像方向)的底层逻辑之概念普及

    假作真时真亦假,无为有处有还无. 生意路,人生路 科技的本质本应该是这五个字:求实和求是 我时常在想,做人工智能的科技公司门槛到底有多低.理论界不能实操,实操界没有理论.茫茫多的论文,茫茫多的概念被各 ...

  6. Dicom中的Image Orientation/Position的理解和应用

    在DICOM中,是通过Image Position和Image Orientation来描述当前的图像和人体坐标系的相对位置的. 打开DCM文件时,会发现下边的两个tag (0020,0032) DS ...

  7. 从单一图像中提取文档图像:ICCV2019论文解读

    从单一图像中提取文档图像:ICCV2019论文解读 DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regressi ...

  8. ITK:读取DICOM系列并写入3D图像

    ITK:读取DICOM系列并写入3D图像 内容提要 C++实现代码 内容提要 本示例读取给定文件夹argv [1]中的所有DICOM系列,并将它们写入具有以下文件模式的同一文件夹中:seriesIde ...

  9. 【智能车Code review】——小S与中S道路判断

    2022.3.10新增订阅通知 近期把此专栏设置为了付费模式,可以直接花9.9买这个专栏,买了就可以直接这个专栏的所有文章了.后续也会更新一些经验贴.也可以进交流群咨询群中大佬问题,查看相关代码以及资 ...

最新文章

  1. 点击TableView任一行跳转详情页面会跳转两次的解决办法
  2. web前端技术分享之页面元素水平居中
  3. IDEA中Maven项目使用Junit4单元测试的写法
  4. iOS万能跳转界面的方法
  5. ArcGIS实验教程——实验三:矢量数据采集与编辑(矢量化)
  6. zemax设置 像方远心_ZEMAX相机标定非常不完全指南
  7. 计算机网络引言,[计算机网络]Ch.1引言
  8. poj 3310(并查集判环,图的连通性,树上最长直径路径标记)
  9. 在HTML中使用JavaScript
  10. 编译 mobileTerminal
  11. 最值得收藏的 数值分析 全部知识点思维导图整理(东北大学慕课课程)(持续更新中)
  12. 【笔记】软件质量保证(Software Quality Assurance)复习笔记
  13. Adobe国际认证中文官网
  14. 判断图片路径是否404
  15. 浅谈const和constant(常量)
  16. 显著性假设(基础篇)
  17. spring cloud config 统一配置管理
  18. 软件测试之α测试和Beta测试
  19. 坑点 -- IDEA的tab键的注意点
  20. 彻底解决Chrome浏览器劫持后显示“由贵单位管理(Managed by your organization)” 的解决办法

热门文章

  1. 服务器此时无法接受控制信息,您无法修改域或信任信息,因为无法联系一个主域控制器(PDC)仿真器,请确认当前域的PDC仿真器和网络都联机并正常运行。...
  2. 蓝桥杯java提交格式_2019第十届蓝桥杯JAVA省赛B组
  3. 【Git、GitHub、GitLab】九 工作中非常重要的一些git用法
  4. 用小程序·云开发打造运动圈小程序丨实战
  5. 【原】docker部署单节点consul
  6. sql server 备份计划
  7. PHP函数之HTMLSPECIALCHARS_DECODE
  8. 5233杨光--Linux第一次实验
  9. POJ 2429 GCD LCM Inverse ★(pollard-ρ DFS枚举)
  10. 深度学习03-CNN 应用