vtk开源3D视觉医学影像

VTK简介

VTK,全称是Visualization Toolkit,即可视化工具包。是一个开源、跨平台、可自由获取、支持并行处理的图形应用函数库。

VTK 独立于系统的图形界面接口(GUI),可方便的嵌入到其他的相关软件中。同时开发人员可以基于 VTK 独立的基础类库开发自己的库函数,拓展 VTK 的应用范围。

VTK 采用面向对象思想,基于 OpenGL 开发出目标函数库。它将将一些常用的算法封装为类的形式,用户在开发过程中可以直接调用其函数库进行开发,而不必纠结函数内部具体的实现过程。

其优点主要有:

拓展 OpenGL:VTK 不仅封装了 OpenGL 复杂的底层环境代码,而且提供了常用功能和算法处理,如常见的图形建模算法和图像处理算法。继承OpenGL 状态机的优势,保留了其可视化工具的特色,使得开发人员秩序关注高级功能的实现,而不必纠结其细枝末节。
管线设计思想:VTK 相对于其他的可视化工具包,如 Direct3D、OpenGL 等的主要区别就在于采用管线(Pipeline)设计来实现可视化流程,这种设计可以节省设计与开发时间,加快测量系统的研发速度。
开发方便:VTK 采用面向对象的设计思想来实现其管线流程的,在其可视化的流程中,各阶段的数据在管线中都是以类和对象的形式进行调用,增强程序可读性,便于开发与拓展。

vtk的特点

1: 具有强大的三维图形功能。Visualization Toolkit 既支持基于体素Voxel-basedrendering 的体绘制Volume Rendering又保留了传统的面绘制,从而在极大的改善可视化效果的同时又可以充分利用现有的图形库和图形硬件。

2: Visualization Toolkit 的体系结构使其具有非常好的流streaming和高速缓存caching 的能力,在处理大量的数据时不必考虑内存资源的限制。

3: Visualization Toolkit 能够更好的支持基于网络的工具比如Java 和VRML 。随着Web 和Internet 技术的发展VisualizationToolkit 有着很好的发展前景

4: 能够支持多种着色如OpenGL 等。

5: Visualization Toolkit 具有设备无关性,其代码具有良好的可移植性。同时,官方也给出了各个编译器的技术文档与案例、教程。

6: VTK应用程序使用Filter(过滤器)操作数据,每个过滤器检查其接受的数据并产生输出数据。多个Filter与数据源组成一个数据流网络。可配置的网络将原始数据转换为更易理解的模式。

6: Visualization Toolkit 中定义了许多宏,这些宏极大的简化了编程工作并且加强了一致的对象行为

7: Visualization Toolkit 具有更丰富的数据类型,支持对多种数据类型进行处理。其核心数据模型能够表示几乎所有与物理科学相关的现实世界问题,适合涉及有限差分和有限元解决方案的医学成像和工程工作。

8: 既可以工作于Windows 操作系统又可以工作于Unix 操作系统极大的方便了用户。

Python VTK 三维CT重建

在医学领域,CT扫描是一种非常常见的影像学检查方法,通过CT图像可以获取人体内部的三维结构信息。而VTK(Visualization Toolkit)是一种开源的可视化工具包,可以用于处理和呈现三维数据。本文将介绍如何使用Python和VTK对三维CT数据进行重建和可视化。

1. 安装VTK
首先需要安装VTK库,可以通过pip来安装:

pip install vtk

安装完成后,就可以开始使用VTK库来处理三维CT数据了。

2. 加载CT数据
在处理三维CT数据之前,我们首先需要加载CT数据。通常CT数据以DICOM格式保存,可以使用Pydicom库来读取DICOM文件。以下是一个示例代码:

import vtk
import pydicom

# 读取DICOM文件
ds = pydicom.dcmread('ct_data.dcm')

# 获取CT数据
image_data = vtk.vtkImageData()
image_data.SetDimensions(ds.Rows, ds.Columns, 1)
image_data.AllocateScalars(vtk.VTK_UNSIGNED_CHAR, 1)

for i in range(ds.Rows):
    for j in range(ds.Columns):
        pixel = ds.pixel_array[i][j]
        image_data.SetScalarComponentFromFloat(i, j, 0, 0, pixel)

3. 三维重建

# 创建等距体绘图器
volume_mapper = vtk.vtkFixedPointVolumeRayCastMapper()
volume_mapper.SetInputData(image_data)

# 创建颜色传递函数
color_func = vtk.vtkColorTransferFunction()
color_func.AddRGBPoint(0, 0.0, 0.0, 0.0)
color_func.AddRGBPoint(255, 1.0, 1.0, 1.0)

# 创建不透明度传递函数
opacity_func = vtk.vtkPiecewiseFunction()
opacity_func.AddPoint(0, 0.0)
opacity_func.AddPoint(255, 1.0)

# 创建体属性
volume_property = vtk.vtkVolumeProperty()
volume_property.SetColor(color_func)
volume_property.SetScalarOpacity(opacity_func)

# 创建体绘图
volume = vtk.vtkVolume()
volume.SetMapper(volume_mapper)
volume.SetProperty(volume_property)

# 创建渲染器
renderer = vtk.vtkRenderer()
renderer.AddVolume(volume)

# 创建渲染窗口
render_window = vtk.vtkRenderWindow()
render_window.AddRenderer(renderer)

# 创建交互器
interactor = vtk.vtkRenderWindowInteractor()
interactor.SetRenderWindow(render_window)

# 开始渲染
render_window.Render()
interactor.Start()

下载

官网地址:https://vtk.org/
GitHub地址:https://github.com/Kitware/VTK

编译和安装:

下载 VTK 源代码后,您需要按照 VTK 提供的文档和指南进行编译和安装。通常情况下,您需要使用 CMake 来配置和生成构建文件,然后使用您的编译工具(如 Visual Studio、Make、Xcode 等)来编译源代码并安装生成的库和可执行文件。
请注意,编译 VTK 可能需要一定的时间和系统配置,具体的步骤和要求可以在 VTK 的官方文档中找到。

DICOM医学影像Tag分类和说明

1. 前言:

基于DICOM3.0标准的医学图像中,每一张图像中都携带着许多的信息,这些信息主要可以分为Patient, Study, Series和Image四类。每一个DICOM Tag都是由两个十六进制数的组合来确定的,分别为Group和Element。如(0010,0010)这个Tag表示的是Patient’s Name,它存储着这张DICOM图像的患者姓名。

在研发关于医学影像软件时,必然需要对导入的DICOM图像进行文件解析,很重要的一部分工作就是需要从图像中获取它所储存的信息,然后在开发的软件中根据需要显示出来。一般医学影像软件在显示某一张影像时会有四角信息,或者当医生在调整窗宽窗位值时,需要软件实时显示此时的值。

基于C++的DCMTK和基于Java的dcm4che,都是非常优秀的解释DICOM标准的第三方库,通过在工程中引入它们可以避免软件开发人员去进行底层的解析工作,可为项目开发提高效率。

以下是归纳的常见的DICOM Tag标签,和它们的描述和值表现(VR)。

VR 含义 允许

字符

数据长度
CS – Code String

 

 

 

代码字符串

 

 

 

开头结尾可以有没有意义的空格的字符串,比如“CD123_4”

 

 

 

大写字母,0-9,空格以及下划线字符

 

 

 

最多 16 个字符

 

 

 

SH – Short String

 

 

 

短字符串

 

 

 

短字符串,比如:电话号码,ID等

 

 

 

 

 

 

 

最多 16 个字符

 

 

 

LO – Long String

 

 

 

长字符串

 

 

 

一个字符串,可能在开头、结尾填有空 格。比如“Introduction to DICOM”

 

 

 

 

 

 

 

最多 64 个字符

 

 

 

ST  – Short Text

 

 

 

短文本

 

 

 

可能包含一个或多个段落的字符串

 

 

 

 

 

 

 

最多 1024 个字符

 

 

 

LT  – Long Text

 

 

 

短文本

 

 

 

可能包含一个或多个锻炼的字符串,与LO相同,但可以更长

 

 

 

 

 

 

 

最多 10240 个字符

 

 

 

UT – Unlimited Text

 

 

 

无限制文本

 

 

 

包含一个或多个段落的字符串,与 LT类似

 

 

 

 

 

 

 

最多(2的32次方–2)个字符

 

 

 

AE – Application Entity

 

 

 

应用实体

 

 

 

标识一个设备的名称的字符串,开头和 结尾可以有无意义的字符。比如“MyPC01”

 

 

 

 

 

 

 

最多 16 个字符

 

 

 

PN – Person Name

 

 

 

病人姓名

 

 

 

有插入符号(^)作为姓名分隔符的病人姓名。比如“SMITH^JOHN” “Morrison- Jones^Susan^^^Ph.D, Chief Executive Officer”

 

 

 

 

 

 

 

最多 64 个字符

 

 

 

UI – Unique Identifier (UID)

 

 

 

唯一标识符

 

 

 

一个用作唯一标识各类项目的包含UID 的字符串。比如“1.2.840.10008.1.1”

 

 

 

0-9 和半角句号(.)

 

 

 

最多64 个字符

 

 

 

DA – Date

 

 

 

日期

 

 

 

格式为 YYYYMMDD 的字符串;YYYY代表年;MM 代表月;DD 代表日。比 如“20050822”表示 2005 年 8月 22 日

 

 

 

0-9

 

 

 

8个字符

 

 

 

TM – Time

 

 

 

时间

 

 

 

格式为 HHMMSS 的字符串。FRAC; HH 表示小时(范围“00”-“23”); MM 表示分钟(范围“00”-“59”); 而 FRAC 包含秒的小数部分,即百万分 之一秒。比如“183200.00” 表示下午 6:32

 

 

 

0-9 和半角句号(.)

 

 

 

最多 16 个字符

 

 

 

DT – Date Time

 

 

 

日期时间

 

 

 

格式为 YYYYMMDDHHMMSS. FFFFFF,串联的日期时间字符串。字符串的各部分从左至右是:年 YYYY;月 MM;日 DD;小时 HH;分钟MM;秒 SS;秒的小数 FFFFFF。比如 20050812183000.00”表示2005 年 8 月 12 日下午 18 点 30分 00 秒

 

 

 

0-9,加号,减号和半角句号

 

 

 

最多 26 个字符

 

 

 

AS – Age String

 

 

 

年龄字符串

 

 

 

符合以下格式的字符串:nnnD,nnnW, nnnM, nnnY;其中 nnn对于 D 来说表示天数,对于W来说表示周数,对于M 来说表示月数,对于Y 来说表示岁数。 比如“018M”表示他的年龄是 18 个月

 

 

 

0–9, D,W,M, Y

 

 

 

4 个字符

 

 

 

IS – Integer String

 

 

 

整型字符串

 

 

 

表示一个整型数字的字符串。比如“-1234567”

 

 

 

0-9,加号(+),减号(-)

 

 

 

最多 12 个字符

 

 

 

DS – Decimal String 小数字符串

 

 

 

表示定点小数和浮点小数。 比如“12345.67”,“-5.0e3”

 

 

 

0-9,加号(+),减号(-), 最多16 个字符E,e 和半角句号(.)

 

 

 

最多 16 个字符

 

 

 

SS – Signed Short

 

 

 

有符号短型

 

 

 

符号型二进制整数,长度 16 比特

 

 

 

 

 

 

 

2 个字符

 

 

 

US – Unsigned Short 无符号短型

 

 

 

无符号二进制整数,长度 16 比特

 

 

 

 

 

 

 

2 个字符

 

 

 

SL – Signed Long

 

 

 

有符号长型

 

 

 

有符号二进制整数

 

 

 

 

 

 

 

4 个字符

 

 

 

UL – Unsigned Long 无符号长型

 

 

 

无符号二进制整数,长度 32 比特

 

 

 

 

 

 

 

4 个字符

 

 

 

AT – Attribute Tag

 

 

 

属性标签

 

 

 

16 比特无符号整数的有序对,数据元素的标签

 

 

 

 

 

 

 

4 个字符

 

 

 

FL – Floating Single 单精度浮点

 

 

 

单精度二进制浮点数字

 

 

 

 

 

 

 

4 个字符

 

 

 

FD – Floating Point Double

 

 

 

双精度二进制浮点数字

 

 

 

双精度二进制浮点数字

 

 

 

 

 

 

 

8 个字符

 

 

 

OB – Other Byte String

 

 

 

其他字节字符串

 

 

 

字节的字符串(“其他”表示没有在VR中定义的内容)

 

 

 

 

 

 

 

 

 

 

 

OW – Other Word String

 

 

 

其他单词字符串

 

 

 

16 比特(2 字节)单词字符串

 

 

 

 

 

 

 

 

 

 

 

OF – Other Float String

 

 

 

其他浮点字符串

 

 

 

32 比特(4 个字节)浮点单词字符串

 

 

 

 

 

 

 

 

 

 

 

SQ – Sequence Items

 

 

 

条目序列

 

 

 

条目的序列

 

 

 

 

 

 

 

 

 

 

 

UN – Unknown

 

 

 

未知

 

 

 

字节的字符串,其中内容的编码方式是未知的

 

 

 

 

 

 

 

 

 

 

 

3. DICOM TAG分类和说明

Patient Tag

 

Group Element Tag Description 中文解释

 

 

 

VR
0010

 

 

 

0010

 

 

 

Patient’s Name 患者姓名

 

 

 

PN
0010

 

 

 

0020

 

 

 

Patient ID 患者ID

 

 

 

LO
0010

 

 

 

0030

 

 

 

Patient’s Birth Date 患者出生日期

 

 

 

DA
0010

 

 

 

0032

 

 

 

Patient’s Birth Time 患者出生时间

 

 

 

TM
0010

 

 

 

0040

 

 

 

Patient’s Sex 患者性别

 

 

 

CS
0010

 

 

 

1030

 

 

 

Patient’s Weight 患者体重

 

 

 

DS
0010

 

 

 

21C0

 

 

 

Pregnancy Status 怀孕状态

 

 

 

US

 

 

Study Tag

 

 

Group Element Tag Description 中文解释 VR
0008

 

 

 

0050

 

 

 

Accession Number:

A RIS generated number that identifies the order for the Study.

检查号:

 

 

 

RIS的生成序号,用以标识做检查的次序.

 

 

 

SH
0020

 

 

 

0010

 

 

 

Study ID

 

 

 

检查ID.

 

 

 

SH

 

 

 

0020

 

 

 

000D

 

 

 

Study Instance UID:

 

 

 

Unique identifier for the Study.

 

 

 

检查实例号:

 

 

 

唯一标记不同检查的号码.

 

 

 

UI

 

 

 

0008

 

 

 

0020

 

 

 

Study Date:

Date the Study started.

检查日期:

 

 

 

检查开始的日期.

 

 

 

DA
0008

 

 

 

0030

 

 

 

Study Time:

Time the Study started.

检查时间:

 

 

 

检查开始的时间.

 

 

 

TM
0008

 

 

 

0061

 

 

 

Modalities in Study 一个检查中含有的不同检查类型.

 

 

 

CS
0008

 

 

 

0015

 

 

 

Body Part Examined 检查的部位.

 

 

 

CS
0008

 

 

 

1030

 

 

 

Study Description 检查的描述.

 

 

 

LO
0010

 

 

 

1010

 

 

 

Patient’s Age 做检查时刻的患者年龄,而不是此刻患者的真实年龄.

 

 

 

AS

 

Series Tag

Group Element Tag Description 中文解释 VR
0020 0011 Series Number:

A number that identifies this Series.

序列号:

识别不同检查的号码.

IS
0020 000E Series Instance UID:

Unique identifier for the Series.

序列实例号:

唯一标记不同序列的号码.

UI
0008 0060 Modality 检查模态(MRI/CT/CR/DR) CS
0008 103E Series Description 检查描述和说明 LO
0008 0021 Series Date 检查日期 DA
0008 0031 Series Time 检查时间 TM
0020 0032 Image Position (Patient):

The x, y and z coordinates of the upper left hand corner of the image, in mm.

图像位置:

图像的左上角在空间坐标系中的x,y,z坐标,单位是毫米. 如果在检查中,则指该序列中第一张影像左上角的坐标.

DS
0020 0037 Image Orientation (Patient):

The direction cosines of the first row and the first column with respect to the patient.

图像方位: DS
0018 0050 Slice Thickness:

Nominal slice thickness, in mm.

层厚. DS
0018 0088 Spacing Between Slices 层与层之间的间距,单位为mm DS
0020 1041 Slice Location:

Relative position of exposure expressed in mm.

实际的相对位置,单位为mm. DS
0018 0023 MR Acquisition CS
0018 0015 Body Part Examined 身体部位. CS

 

 

Image Tag

 

Group Element Tag Description 中文解释

 

 

 

VR
0008

 

 

 

0008

 

 

 

Image Type:

Image identification characteristics.

 

 

 

 

CS
0008

 

 

 

0018

 

 

 

SOP Instance UID SOP实例UID.

 

 

 

 

 

 

 

0008

 

 

 

0023

 

 

 

Content Date:

The date the image pixel data creation started.

影像拍摄的日期.

 

 

 

DA
0008

 

 

 

0033

 

 

 

Content Time 影像拍摄的时间.

 

 

 

TM
0020

 

 

 

0013

 

 

 

Image/Instance Number:

A number that identifies this image.

图像码:

 

 

 

辨识图像的号码.

 

 

 

IS
0028

 

 

 

0002

 

 

 

Samples Per Pixel:

Number of samples (planes) in this image.

图像上的采样率.

 

 

 

US
0028

 

 

 

0004

 

 

 

Photometric Interpretation:

Specifies the intended interpretation of the pixel data.

光度计的解释,对于CT图像,用两个枚举值

 

 

 

MONOCHROME1,MONOCHROME2.

 

 

 

用来判断图像是否是彩色的,

 

 

 

MONOCHROME1/2是灰度图,

 

 

 

RGB则是真彩色图,还有其他.

 

 

 

CS
0028

 

 

 

0010

 

 

 

Rows: Number of rows in the image. 图像的总行数,行分辨率.

 

 

 

US
0028

 

 

 

0011

 

 

 

Columns: Number of columns in the image. 图像的总列数,列分辨率.

 

 

 

US
0028

 

 

 

0030

 

 

 

Pixel Spacing:

Physical distance in the patient between the center of each pixel.

像素间距.

 

 

 

像素中心之间的物理间距.

 

 

 

DS
0028

 

 

 

0100

 

 

 

Bits Allocated:

Number of bits allocated for each pixel sample. Each sample shall have the same number of bits allocated.

分配的位数:

 

 

 

存储每一个像素值时分配的位数,每一个样本应该拥有相同的这个值.

 

 

 

US
0028

 

 

 

0101

 

 

 

Bits Stored:

Number of bits stored for each pixel sample. Each sample shall have the same number of bits stored.

存储的位数:有12到16列举值.

 

 

 

存储每一个像素用的位数.每一个样本应该有相同值.

 

 

 

US
0028

 

 

 

0102

 

 

 

High Bit:

Most significant bit for pixel sample data. Each sample shall have the same high bit.

高位.

 

 

 

 

 

 

 

US
0028

 

 

 

0103

 

 

 

Pixel Representation:

Data representation of the pixel samples. Each sample shall have the same pixel representation.

Enum: 0000H=unsigned integer,

0001H=2’s complement.

像素数据的表现类型:

 

 

 

这是一个枚举值,分别为十六进制数0000和0001.

 

 

 

0000H = 无符号整数,

 

 

 

0001H = 2的补码.

 

 

 

US
0028

 

 

 

1050

 

 

 

Window Center 窗位.

 

 

 

DS
0028

 

 

 

1051

 

 

 

Window Width 窗宽.

 

 

 

DS
0028

 

 

 

1052

 

 

 

Rescale Intercept:

The value b in relationship between stored values (SV) and the output units.

Output units = m*SV + b.

Required if Modality LUT Sequence (0028, 0030) is not present.

截距:

 

 

 

如果表明不同模态的LUT颜色对应表不存在时,则使用方程

 

 

 

Units = m*SV + b,计算真实的像素值到呈现像素值。

 

 

 

其中这个值为表达式中的b。

 

 

 

DS
0028

 

 

 

1053

 

 

 

Rescale Slope:

m in the equation specified by Rescale Intercept (0028,1052).

Required if Rescale Intercept is present.

斜率.

 

 

 

这个值为表达式中的m。

 

 

 

DS
0028

 

 

 

1054

 

 

 

Rescale Type:

Specifies the output units of Rescale Slope (0028,1053) and Rescale Intercept (0028,1052).

Enum: US=Unspecified Requried if Photometric Interpretation is MONOCHROME2, and Bits Stored is greater than 1.

This specifies an identity Modality LUT transformation.

输出值的单位.

 

 

 

这是一个枚举值,

 

 

 

 

 

 

 

LO

1. 前言:

 

基于DICOM3.0标准的医学图像中,每一张图像中都携带着许多的信息,这些信息主要可以分为Patient, Study, Series和Image四类。每一个DICOM Tag都是由两个十六进制数的组合来确定的,分别为Group和Element。如(0010,0010)这个Tag表示的是Patient’s Name,它存储着这张DICOM图像的患者姓名。

在研发关于医学影像软件时,必然需要对导入的DICOM图像进行文件解析,很重要的一部分工作就是需要从图像中获取它所储存的信息,然后在开发的软件中根据需要显示出来。一般医学影像软件在显示某一张影像时会有四角信息,或者当医生在调整窗宽窗位值时,需要软件实时显示此时的值。

基于C++的DCMTK和基于Java的dcm4che,都是非常优秀的解释DICOM标准的第三方库,通过在工程中引入它们可以避免软件开发人员去进行底层的解析工作,可为项目开发提高效率。

以下是归纳的常见的DICOM Tag标签,和它们的描述和值表现(VR)。

2. VR

 

VR是DICOM标准中用来描述数据类型的,总共有27个值。简单分类如下:

 

VR 含义 允许

字符

数据长度
CS – Code String

 

 

 

代码字符串

 

 

 

开头结尾可以有没有意义的空格的字符串,比如“CD123_4”

 

 

 

大写字母,0-9,空格以及下划线字符

 

 

 

最多 16 个字符

 

 

 

SH – Short String

 

 

 

短字符串

 

 

 

短字符串,比如:电话号码,ID等

 

 

 

 

 

 

 

最多 16 个字符

 

 

 

LO – Long String

 

 

 

长字符串

 

 

 

一个字符串,可能在开头、结尾填有空 格。比如“Introduction to DICOM”

 

 

 

 

 

 

 

最多 64 个字符

 

 

 

ST  – Short Text

 

 

 

短文本

 

 

 

可能包含一个或多个段落的字符串

 

 

 

 

 

 

 

最多 1024 个字符

 

 

 

LT  – Long Text

 

 

 

短文本

 

 

 

可能包含一个或多个锻炼的字符串,与LO相同,但可以更长

 

 

 

 

 

 

 

最多 10240 个字符

 

 

 

UT – Unlimited Text

 

 

 

无限制文本

 

 

 

包含一个或多个段落的字符串,与 LT类似

 

 

 

 

 

 

 

最多(2的32次方–2)个字符

 

 

 

AE – Application Entity

 

 

 

应用实体

 

 

 

标识一个设备的名称的字符串,开头和 结尾可以有无意义的字符。比如“MyPC01”

 

 

 

 

 

 

 

最多 16 个字符

 

 

 

PN – Person Name

 

 

 

病人姓名

 

 

 

有插入符号(^)作为姓名分隔符的病人姓名。比如“SMITH^JOHN” “Morrison- Jones^Susan^^^Ph.D, Chief Executive Officer”

 

 

 

 

 

 

 

最多 64 个字符

 

 

 

UI – Unique Identifier (UID)

 

 

 

唯一标识符

 

 

 

一个用作唯一标识各类项目的包含UID 的字符串。比如“1.2.840.10008.1.1”

 

 

 

0-9 和半角句号(.)

 

 

 

最多64 个字符

 

 

 

DA – Date

 

 

 

日期

 

 

 

格式为 YYYYMMDD 的字符串;YYYY代表年;MM 代表月;DD 代表日。比 如“20050822”表示 2005 年 8月 22 日

 

 

 

0-9

 

 

 

8个字符

 

 

 

TM – Time

 

 

 

时间

 

 

 

格式为 HHMMSS 的字符串。FRAC; HH 表示小时(范围“00”-“23”); MM 表示分钟(范围“00”-“59”); 而 FRAC 包含秒的小数部分,即百万分 之一秒。比如“183200.00” 表示下午 6:32

 

 

 

0-9 和半角句号(.)

 

 

 

最多 16 个字符

 

 

 

DT – Date Time

 

 

 

日期时间

 

 

 

格式为 YYYYMMDDHHMMSS. FFFFFF,串联的日期时间字符串。字符串的各部分从左至右是:年 YYYY;月 MM;日 DD;小时 HH;分钟MM;秒 SS;秒的小数 FFFFFF。比如 20050812183000.00”表示2005 年 8 月 12 日下午 18 点 30分 00 秒

 

 

 

0-9,加号,减号和半角句号

 

 

 

最多 26 个字符

 

 

 

AS – Age String

 

 

 

年龄字符串

 

 

 

符合以下格式的字符串:nnnD,nnnW, nnnM, nnnY;其中 nnn对于 D 来说表示天数,对于W来说表示周数,对于M 来说表示月数,对于Y 来说表示岁数。 比如“018M”表示他的年龄是 18 个月

 

 

 

0–9, D,W,M, Y

 

 

 

4 个字符

 

 

 

IS – Integer String

 

 

 

整型字符串

 

 

 

表示一个整型数字的字符串。比如“-1234567”

 

 

 

0-9,加号(+),减号(-)

 

 

 

最多 12 个字符

 

 

 

DS – Decimal String 小数字符串

 

 

 

表示定点小数和浮点小数。 比如“12345.67”,“-5.0e3”

 

 

 

0-9,加号(+),减号(-), 最多16 个字符E,e 和半角句号(.)

 

 

 

最多 16 个字符

 

 

 

SS – Signed Short

 

 

 

有符号短型

 

 

 

符号型二进制整数,长度 16 比特

 

 

 

 

 

 

 

2 个字符

 

 

 

US – Unsigned Short 无符号短型

 

 

 

无符号二进制整数,长度 16 比特

 

 

 

 

 

 

 

2 个字符

 

 

 

SL – Signed Long

 

 

 

有符号长型

 

 

 

有符号二进制整数

 

 

 

 

 

 

 

4 个字符

 

 

 

UL – Unsigned Long 无符号长型

 

 

 

无符号二进制整数,长度 32 比特

 

 

 

 

 

 

 

4 个字符

 

 

 

AT – Attribute Tag

 

 

 

属性标签

 

 

 

16 比特无符号整数的有序对,数据元素的标签

 

 

 

 

 

 

 

4 个字符

 

 

 

FL – Floating Single 单精度浮点

 

 

 

单精度二进制浮点数字

 

 

 

 

 

 

 

4 个字符

 

 

 

FD – Floating Point Double

 

 

 

双精度二进制浮点数字

 

 

 

双精度二进制浮点数字

 

 

 

 

 

 

 

8 个字符

 

 

 

OB – Other Byte String

 

 

 

其他字节字符串

 

 

 

字节的字符串(“其他”表示没有在VR中定义的内容)

 

 

 

 

 

 

 

 

 

 

 

OW – Other Word String

 

 

 

其他单词字符串

 

 

 

16 比特(2 字节)单词字符串

 

 

 

 

 

 

 

 

 

 

 

OF – Other Float String

 

 

 

其他浮点字符串

 

 

 

32 比特(4 个字节)浮点单词字符串

 

 

 

 

 

 

 

 

 

 

 

SQ – Sequence Items

 

 

 

条目序列

 

 

 

条目的序列

 

 

 

 

 

 

 

 

 

 

 

UN – Unknown

 

 

 

未知

 

 

 

字节的字符串,其中内容的编码方式是未知的

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. DICOM TAG分类和说明

Patient Tag

 

Group Element Tag Description 中文解释

 

 

 

VR
0010

 

 

 

0010

 

 

 

Patient’s Name 患者姓名

 

 

 

PN
0010

 

 

 

0020

 

 

 

Patient ID 患者ID

 

 

 

LO
0010

 

 

 

0030

 

 

 

Patient’s Birth Date 患者出生日期

 

 

 

DA
0010

 

 

 

0032

 

 

 

Patient’s Birth Time 患者出生时间

 

 

 

TM
0010

 

 

 

0040

 

 

 

Patient’s Sex 患者性别

 

 

 

CS
0010

 

 

 

1030

 

 

 

Patient’s Weight 患者体重

 

 

 

DS
0010

 

 

 

21C0

 

 

 

Pregnancy Status 怀孕状态

 

 

 

US

 

Study Tag

 

 

Group Element Tag Description 中文解释 VR
0008

 

 

 

0050

 

 

 

Accession Number:

A RIS generated number that identifies the order for the Study.

检查号:

 

 

 

RIS的生成序号,用以标识做检查的次序.

 

 

 

SH
0020

 

 

 

0010

 

 

 

Study ID

 

 

 

检查ID.

 

 

 

SH

 

 

 

0020

 

 

 

000D

 

 

 

Study Instance UID:

 

 

 

Unique identifier for the Study.

 

 

 

检查实例号:

 

 

 

唯一标记不同检查的号码.

 

 

 

UI

 

 

 

0008

 

 

 

0020

 

 

 

Study Date:

Date the Study started.

检查日期:

 

 

 

检查开始的日期.

 

 

 

DA
0008

 

 

 

0030

 

 

 

Study Time:

Time the Study started.

检查时间:

 

 

 

检查开始的时间.

 

 

 

TM
0008

 

 

 

0061

 

 

 

Modalities in Study 一个检查中含有的不同检查类型.

 

 

 

CS
0008

 

 

 

0015

 

 

 

Body Part Examined 检查的部位.

 

 

 

CS
0008

 

 

 

1030

 

 

 

Study Description 检查的描述.

 

 

 

LO
0010

 

 

 

1010

 

 

 

Patient’s Age 做检查时刻的患者年龄,而不是此刻患者的真实年龄.

 

 

 

AS

 

 

 

 

 

Series Tag

Group Element Tag Description 中文解释 VR
0020 0011 Series Number:

A number that identifies this Series.

序列号:

识别不同检查的号码.

IS
0020 000E Series Instance UID:

Unique identifier for the Series.

序列实例号:

唯一标记不同序列的号码.

UI
0008 0060 Modality 检查模态(MRI/CT/CR/DR) CS
0008 103E Series Description 检查描述和说明 LO
0008 0021 Series Date 检查日期 DA
0008 0031 Series Time 检查时间 TM
0020 0032 Image Position (Patient):

The x, y and z coordinates of the upper left hand corner of the image, in mm.

图像位置:

图像的左上角在空间坐标系中的x,y,z坐标,单位是毫米. 如果在检查中,则指该序列中第一张影像左上角的坐标.

DS
0020 0037 Image Orientation (Patient):

The direction cosines of the first row and the first column with respect to the patient.

图像方位: DS
0018 0050 Slice Thickness:

Nominal slice thickness, in mm.

层厚. DS
0018 0088 Spacing Between Slices 层与层之间的间距,单位为mm DS
0020 1041 Slice Location:

Relative position of exposure expressed in mm.

实际的相对位置,单位为mm. DS
0018 0023 MR Acquisition CS
0018 0015 Body Part Examined 身体部位. CS

 

Image Tag

 

Group Element Tag Description 中文解释

 

 

 

VR
0008

 

 

 

0008

 

 

 

Image Type:

Image identification characteristics.

 

 

 

 

CS
0008

 

 

 

0018

 

 

 

SOP Instance UID SOP实例UID.

 

 

 

 

 

 

 

0008

 

 

 

0023

 

 

 

Content Date:

The date the image pixel data creation started.

影像拍摄的日期.

 

 

 

DA
0008

 

 

 

0033

 

 

 

Content Time 影像拍摄的时间.

 

 

 

TM
0020

 

 

 

0013

 

 

 

Image/Instance Number:

A number that identifies this image.

图像码:

 

 

 

辨识图像的号码.

 

 

 

IS
0028

 

 

 

0002

 

 

 

Samples Per Pixel:

Number of samples (planes) in this image.

图像上的采样率.

 

 

 

US
0028

 

 

 

0004

 

 

 

Photometric Interpretation:

Specifies the intended interpretation of the pixel data.

光度计的解释,对于CT图像,用两个枚举值

 

 

 

MONOCHROME1,MONOCHROME2.

 

 

 

用来判断图像是否是彩色的,

 

 

 

MONOCHROME1/2是灰度图,

 

 

 

RGB则是真彩色图,还有其他.

 

 

 

CS
0028

 

 

 

0010

 

 

 

Rows: Number of rows in the image. 图像的总行数,行分辨率.

 

 

 

US
0028

 

 

 

0011

 

 

 

Columns: Number of columns in the image. 图像的总列数,列分辨率.

 

 

 

US
0028

 

 

 

0030

 

 

 

Pixel Spacing:

Physical distance in the patient between the center of each pixel.

像素间距.

 

 

 

像素中心之间的物理间距.

 

 

 

DS
0028

 

 

 

0100

 

 

 

Bits Allocated:

Number of bits allocated for each pixel sample. Each sample shall have the same number of bits allocated.

分配的位数:

 

 

 

存储每一个像素值时分配的位数,每一个样本应该拥有相同的这个值.

 

 

 

US
0028

 

 

 

0101

 

 

 

Bits Stored:

Number of bits stored for each pixel sample. Each sample shall have the same number of bits stored.

存储的位数:有12到16列举值.

 

 

 

存储每一个像素用的位数.每一个样本应该有相同值.

 

 

 

US
0028

 

 

 

0102

 

 

 

High Bit:

Most significant bit for pixel sample data. Each sample shall have the same high bit.

高位.

 

 

 

 

 

 

 

US
0028

 

 

 

0103

 

 

 

Pixel Representation:

Data representation of the pixel samples. Each sample shall have the same pixel representation.

Enum: 0000H=unsigned integer,

0001H=2’s complement.

像素数据的表现类型:

 

 

 

这是一个枚举值,分别为十六进制数0000和0001.

 

 

 

0000H = 无符号整数,

 

 

 

0001H = 2的补码.

 

 

 

US
0028

 

 

 

1050

 

 

 

Window Center 窗位.

 

 

 

DS
0028

 

 

 

1051

 

 

 

Window Width 窗宽.

 

 

 

DS
0028

 

 

 

1052

 

 

 

Rescale Intercept:

The value b in relationship between stored values (SV) and the output units.

Output units = m*SV + b.

Required if Modality LUT Sequence (0028, 0030) is not present.

截距:

 

 

 

如果表明不同模态的LUT颜色对应表不存在时,则使用方程

 

 

 

Units = m*SV + b,计算真实的像素值到呈现像素值。

 

 

 

其中这个值为表达式中的b。

 

 

 

DS
0028

 

 

 

1053

 

 

 

Rescale Slope:

m in the equation specified by Rescale Intercept (0028,1052).

Required if Rescale Intercept is present.

斜率.

 

 

 

这个值为表达式中的m。

 

 

 

DS
0028

 

 

 

1054

 

 

 

Rescale Type:

Specifies the output units of Rescale Slope (0028,1053) and Rescale Intercept (0028,1052).

Enum: US=Unspecified Requried if Photometric Interpretation is MONOCHROME2, and Bits Stored is greater than 1.

This specifies an identity Modality LUT transformation.

输出值的单位.

 

 

 

这是一个枚举值,

 

 

 

 

 

 

 

LO