2015-01-22 3 views
1

Я dcm4che новичок Я имею в виду the javadoc of dcm4che2 apidcm4che - тег является "8 байтовым целым числом"?

помилования, если мой вопрос очень простой Я пытаюсь создать объект DICOM «org.dcm4che2.data.DicomObject» из файла.

Большинство функций-членов DicomObject, которые работают с тегом DICOM, ожидают, что значение тега будет указано как «ggggeeee», где gggg представляет собой четырехзначный идентификатор группы, а eeee - это четырехзначный идентификатор элемента.

Документация dcm4j относится к значению тега как «тег - (группа, элемент) как 8-байтовое целое: ggggeeee». - и тип данных ожидается в ИНТ

Я предполагаю, что это просто неправильно (к сожалению, хотя она последовательно придерживалась в апи документации все через)

ява «ИНТ» тип данных может содержать только четыре байта не так ? Таким образом, нам нужно предоставить 8-значное число, а не 8 байтов.

например, если я указываю синтаксис передачи тегов DICOM, который является идентификатором группы 2, то я должен быть хорошим передачей значения следующим образом, не так ли?

int dicomTagXferSyntaxUid=0x00020010; 

Хотя это настолько очевидно, интересно, почему dcm4che документация относится к нему последовательно, как «8 байт целое» ... что мне не хватает?

Комментарии приветствовать

Йогеш

ответ

3

Это должно быть опечатка, так что «8 байт целое число» используется для описания параметров метода int типа, который находится всего 4 байта.

Имеет смысл, что то, что было предназначено, как вы говорите, было «8-значное целое число».

+0

Эран, спасибо за быстрый ответ. Вы когда-нибудь сталкивались с любыми рабочими образцами dcm4che? Это будет gr8, если вы можете указать мне на те –

+0

@YogeshDevi Нет, я просто посмотрел на Джавадока. Вы не можете передать 8-байтовое целое (нет такой вещи, но вы не можете передать длинный либо) методу, чья подпись имеет аргумент int. – Eran

+0

Стандарт DICOM говорит, что тег «упорядоченная пара 16-разрядных целых чисел без знака, представляющих номер группы, а затем номер элемента». Итак, просто подтверждаем, что документация, вероятно, означает 8 цифр. – cneller

0

Заявление в документации DCM4CHE является правильным. Быстрый взгляд на Javadoc для класса Tag показывает это:

org.dcm4che2.data Класс Tag

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. Я думаю, что ваше недоразумение состоит в том, что вы предположили, что каждый из g и e в представлении Tag (gggg, eeee) является байтом. Это не; скорее, это шестнадцатеричная цифра, так что каждая пара ee представляет собой байт.

Смежные вопросы