我是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
答案 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代表一个字节。