dcm4che - 标签是" 8字节整数"?

时间:2015-01-22 12:06:58

标签: java int dcm4che

我是dcm4che新手,我指的是the javadoc of dcm4che2 api

如果我的问题非常基本,请原谅 我试图创建一个DICOM对象" org.dcm4che2.data.DicomObject"来自文件。

使用DICOM标记的DicomObject的大多数成员函数都希望将标记值指定为" ggggeeee" ,其中gggg是四位数组ID,eeee是四位数元素id。

dcm4j文档将标记值称为"标记 - (组,元素)为8字节整数:ggggeeee。" - 期望的数据类型是int

我认为这只是一个用词不当(遗憾的是,它始终遵循api文档中的所有内容)

java" int"数据类型只能容纳四个字节吗? 所以我们宁愿提供一个8位数字,而不是8字节。

例如,如果我指定DICOM标记传输语法UID - 这是第2组标记10那么我应该很好地传递一个值,如下所示不是吗?

 int  dicomTagXferSyntaxUid=0x00020010;

虽然它是如此明显,我想知道为什么dcm4che文档一直将其称为" 8字节整数" ......我错过了什么?

欢迎评论

Yogesh

2 个答案:

答案 0 :(得分:3)

它必须是拼写错误,因为“8字节整数”用于描述int类型的方法参数,它只有4个字节。

正如你所说的那样,有意义的是“8位整数”。

答案 1 :(得分:0)

DCM4CHE文档中的声明是正确的。快速浏览一下Tag类的Javadoc就可以看出这一点:

org.dcm4che2.data 班级标签

java.lang.Object中   由org.dcm4che2.data.Tag

扩展
public class Tag
extends java.lang.Object

提供标记常量。

字段摘要

static int  _3DRenderingType 
      (0072,0520) VR=CS, VM=1-n 3D Rendering Type
static int  AbsoluteChannelDisplayScale 
      (003A,0248) VR=FL, VM=1 Absolute Channel Display Scale
.
.
.

值显然是int类型,在Java中是32位或4字节,完全符合DCM4CHE文档。我认为你的误解是你假设标签表示(gggg,eeee)中的每个g和e都是一个字节。它不是;相反,它是一个十六进制数字,因此每对ee代表一个字节。