在CT中,(0020,0037) Image Orientation (Patient)
标准中的解释:

The direction cosines of the first row and the first column with respect​ to the patient.
直译:图像行方向、列方向相对于病人的方向余弦。包含6个浮点数值

提到这个标签,就必须带上另一个标签 (0020,0032) Image Position (Patient)
标准中的解释:

The x, y, and z coordinates of the upper left hand corner (center of the​ first voxel transmitted) of the image, in mm.
直译:图像左上角(被传输的第一个体素的中心)的坐标(x,y,z)。包含3个浮点数值

当然,上面的“图像”指的是切片图像

其实上述两个标签共同描述了从切片图像坐标系到病人坐标系的变换矩阵,对照关系如下:

将切片图像的像素点坐标表示为齐次形式(x,y,0,1),变换为病人坐标后是(x’,y’,z’,0),则
[x′y′z′1]=[Xx⋅ΔxYx⋅Δy0SxXy⋅ΔxYy⋅Δy0SyXz⋅ΔxYz⋅Δy0Sz0001][xy01]\left[ \begin{array}{cccc} x^{\prime} \\ y^{\prime} \\ z^{\prime} \\ 1 \end{array} \right] = \left[ \begin{array}{cccc} X_{x}\cdot \Delta_{x} & Y_{x} \cdot \Delta_{y} & 0 & S_{x} \\ X_{y}\cdot \Delta_{x} & Y_{y} \cdot \Delta_{y} & 0 & S_{y} \\ X_{z}\cdot \Delta_{x} & Y_{z} \cdot \Delta_{y} & 0 & S_{z} \\ 0 & 0 & 0 & 1 \end{array} \right] \left[ \begin{array}{cccc} x \\ y \\ 0 \\ 1 \end{array} \right] ⎣⎢⎢⎡​x′y′z′1​⎦⎥⎥⎤​=⎣⎢⎢⎡​Xx​⋅Δx​Xy​⋅Δx​Xz​⋅Δx​0​Yx​⋅Δy​Yy​⋅Δy​Yz​⋅Δy​0​0000​Sx​Sy​Sz​1​⎦⎥⎥⎤​⎣⎢⎢⎡​xy01​⎦⎥⎥⎤​

(0020,0037) Image Orientation 依次对应公式中的 Xx、Xy、Xz、Yx、Yy、Yz,表示的就是切片x、y方向与病人坐标x、y、z方向的夹角关系,因为描述的是方向都是基于单位向量,所以(Xx,Xy,Xz)就是切片x方向在病人坐标系三个方向上的夹角余弦值(投影值),(Yx,Yy,Yz)同理。
如果切片是垂直于病人坐标系的Z轴的,那么切片在z方向上的投影为0,此时Xz和Yz就是0;如果连切片的x、y方向跟病人坐标系都是一致,那么(0020,0037) Image Orientation就是 (1,0,0,0,1,0)了。

(0020,0032) Image Position (Patient)依次对应公式中的Sx、Sy、Sz,单位毫米,表示的是切片图像左上角像素在病人坐标系中的坐标,切片坐标(x,y)经过(Xx,Xy,Xz)、(Yx,Yy,Yz)投影至病人坐标系的三个方向以后,只是相对于切片左上角(0,0)的距离,还要加上Sx、Sy、Sz才能得到最终的病人坐标值。
这里要注意了,切片坐标(x,y)是图像像素坐标,所以变换矩阵中的余弦值还需要乘上像素间隔(0028,0030),即公式中的 delta x 和 delta y。

这又牵扯到另一个标签了:(0028,0030)Pixel Spacing
标准中的解释:

Physical distance in the patient between the center of each pixel,​ specified by a numeric pair - adjacent row spacing (delimiter) adjacent​ column spacing in mm

(0028,0030)一般是通过体模校正获得的

Dicom标签之(0020,0037) Image Orientation (Patient)相关推荐

  1. ITK:读取并打印DICOM标签

    ITK:读取并打印DICOM标签 内容提要 输出结果 C++实现代码 内容提要 读取,搜索和打印DICOM图像元数据标签的示例 输出结果 0008|0000 = 406 0008|0005 = ISO ...

  2. DCMTK:生成一个C ++标头,为DICOM标签定义符号名

    DCMTK:生成一个C ++标头,为DICOM标签定义符号名 生成一个C ++标头,为DICOM标签定义符号名 生成一个C ++标头,为DICOM标签定义符号名 #include "dcmt ...

  3. DCMTK:dicom标签的基础类

    DCMTK:dicom标签的基础类 dicom标签的基础类 dicom标签的基础类 #include "dcmtk/config/osconfig.h" #include &quo ...

  4. Quick Dicom batch editor(DICOM标签浏览编辑器)

    简介: Quick Dicom batch editor是一个简单易用的DICOM标签浏览编辑器,基于Qt 5.15.2(MSVC2019 64bit)和DCMTK 3.6.5,支持用户查看和修改单个 ...

  5. DICOM笔记-DICOM常用Tag标签汇总

    文件引言MetaInfo Group Element Tag Description 中文解释 VR 0002 0000 File Meta Information Group Length Meta ...

  6. DICOM的常用Tag分类和说明

    本文转自:http://blog.csdn.net/inter_peng/article/details/46513847 1.        前言: 基于DICOM3.0标准的医学图像中,每一张图像 ...

  7. 【转】DICOM简述!!!!

    转自:DICOM简述 - 简书 视频教程:https://www.bilibili.com/video/av66144772 DICOM(Digital Imaging and Communicati ...

  8. 【转】DICOM的常用Tag分类和说明!!!!

     转自:https://www.cnblogs.com/stephen2014/p/4579443.html 有删改 1.        前言: 基于DICOM3.0标准的医学图像中,每一张图像中都携 ...

  9. 【转】DICOM的常用Tag分类和说明

    转自:https://blog.csdn.net/inter_peng/article/details/46513847 1.        前言: 基于DICOM3.0标准的医学图像中,每一张图像中 ...

  10. 医学图像DICOM文件解析——DICOM内部信息详解篇

    文章目录 一.医学影像学介绍 二.DICOM文件简介 三.DICOM内部信息详解(DICOM Tag与VR) 1.常见的TAG (1) Patient Tag (2) Study Tag (3) Se ...

最新文章

  1. MapReduce编程系列 — 2:计算平均分
  2. eclipse MAT分析heap dump
  3. DB2数据导入导出的小结
  4. flask数据库迁移理解及命令
  5. Rotation Matching CodeForces - 1365C(贪心)
  6. 前端学习(2934):上午回顾
  7. dw上的php代码如何预览在浏览器_13个面向开发人员的JavaScript代码编辑器和IDE
  8. 【Java程序设计】JDBC与数据库访问
  9. 英语学习详细笔记(十)形容词
  10. 拼接大屏数据展示_大屏拼接可视化
  11. [leetcode每日一题2021/5/8]1723. 完成所有工作的最短时间
  12. 台式关掉计算机不断网,笔记本电脑在关掉屏幕后不断网设置方法
  13. GBase 8s 数据库空间(dbspace)
  14. 弱校胡策 大逃亡(BFS灌水+二分答案)
  15. ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs
  16. python帕多瓦数列前n项和的_几种求数列前n项和的方法
  17. Appium v1.17.1-1报错:pkg: /data/local/tmp/appium_cache/8d4156e508daae39c3f4815552e22e311432ff1f.apk
  18. Jackson膜封闭:选择合适的封闭试剂孵化时间和洗涤
  19. React Native Could not expand ZIP错误信息
  20. 大三考研期间能不能参加蓝桥杯?

热门文章

  1. java 成员变量什么时候初始化_Java中成员变量的初始化过程
  2. Unity利用Input类实现摄像机镜头拉近与拉远
  3. 硬件工程师的真实前途我说出来可能你们不信
  4. Android O (8.0) 新特性介绍
  5. 猜价格游戏java_猜商品价格游戏程序.java
  6. linux中的last命令,linux系统中last命令的用法
  7. win7远程桌面连接设置
  8. 北航超算运行matlab,计算性能超50万亿次破纪录,北航荣获ASC19世界大学生超算竞赛最高计算性能奖...
  9. 阿里巴巴国际站全屏分类产品切换效果怎么做?代码生成器产品分类效果切换轮播全屏代码
  10. 使用 Fabric CA 生成 MSP