DICOMDIR文件结构

格式

DICOMDIR文件遵照DICOM文件存储格式,需要有128个无意义字节的前言(假如没有特殊要求,这些字节都为00H),紧接着DICOM前缀(长度为4字节的“DICOM”字符串,判断是否为DICOM文件的唯一标准),再接着是group标签为:0x0002elemnt,强制要求的有[0002,0000] [0002,0001] [0002,0002] [0002,0003] [0002,0010] [0002,0012]

之后是目录信息(group0x0004的元素),其中有第一个组件的入口和最后一个组件的入口以及图像集相对路径(DICOMDIR文件名必须为“DICOMDIR”,并且必须与图像集文件夹在同一目录内) PS10,P.20

物理结构:

1.jpg



逻辑结构:


2.jpg


DICOMDIR展开依次有4层的树状结构:

1.
Patient

2.
Study

3.
Series

4.
Image

设计数据结构的时候,可以用树的节点来表示每一层的每一个实体。如下:


class Patient

{

public:


Info Name;


Info Id;


int sonnum;


Patient(void);


~Patient(void);

};


class Study

{

public:


Info Date;


Info Time;


Info Description;


Info Instance;


Info ID;


Info AccNum;


int sonnum;


Study(void);


~Study(void);

};

class Series

{

public:


Info Modality;


Info Instance;


Info Number;


int sonnum;


Series(void);


~Series(void);

};

class Image

{

public:


Info Instance;


Image(void);


~Image(void);

};

class Root

{

public :


int sonnum;


char *Version;


char *Path;

};

每一层由个实体组成,每个实体包含2个内容:目录信息和实体信息。

目录信息必须具备以下元素:下一个实体入口地址(0x0004,0x1400)、下一层(第一个)实体入口地址(0x0004,0x1420)、目录使用标记组成(0x0004,0x1410)和实体类型(0x0004,0x1430),另外Image实体还需要包含对应影像文件的相对路径。

不同层的实体要求包含不同的元素,详见PS3.3 P.1217

DICOMDIR或者DICOM的实体,从逻辑上的上至下遍历可以直接通过入口地址进行索引,也可以通过一种比较方便的结构来进行组织和索引,就是通过嵌套的形式(Sequence)。在DICOM标准中,一共有3种嵌套格式,如下:


3.jpg





4.jpg


(ps5.7 p.44)

嵌套结构(也即串)格式如下:

一个VRSQ的元素起头,接下去的ITEM(也即元素)以(FFFE,E000TAG的元素起头)。SQ元素记录整个(不包括SQ元素)数据集(dataset)的大小。FFFE,E000元素记录其下内容的大小。

Dataset则是由1个或多个ITEM组成。

元素(ITEM)格式:

显式时:

5.jpg




隐式时:

6.jpg



TAG2字节16进制的group tag  element tag 组成。

VR有显式和隐式2种方式,当显式传输时,VR有值,当隐式传输时,VR无值;另外,组号是0002的元素都是显式的。

VR值是OB,OW,OF,SQ,UT或者UN的时候,VR的长度为4字节,由2字节的字符串和2字节的00H组成。当VR值是其他值的时候,VR的长度为2字节,即2字节的字符串。

ValueLength的长度是根据VR可变的,共有2种长度,当VROB,OW,OF,SQ,UT或者UN的时候长度为4字节。当VR为其他值时,长度为2字节。ValueLength表示的是Value的长度,另外,当DataLength的长度不为偶数时,则根据需要添加前缀或者后缀补齐。

Value区则是具体的值,长度根据ValueLength

Item的数据格式可以定义如下:

Class Item

{


short Group;


short Element;


char VR[4];


int ValLen;


char *Value;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值