Объединение файлов DICOM в одну многослойную серию - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь объединить различные файлы DICOM в одну многослойную серию, чтобы визуализировать их в ITK-Snap. Тем не менее, я не могу получить работающую серию DICOM.

Я отсортировал все файлы в зависимости от расположения срезов, и у меня есть несколько упорядоченных отдельных файлов .dcm с их исходной информацией. Я заменил все их исходные UID экземпляров серии одним идентификатором, а их номер серии - одним пользовательским номером серии, который я установил на «999» (чтобы они принадлежали одной серии). Ориентация изображения установлена ​​на [1;0;0;0;1;0] для всех файлов и толщина среза 8 мм для всех файлов. Затем я создал массив информационных структур с исходным фрагментом positionings [info(num)].

Я пробовал что-то вроде:

for i=1:num %where num is the number of dicom files
k = num2str(i);
dicomwrite(imm,k,info(i),'CreateMode','Copy'); %where imm is the matrix I obtained with dicomread
end

Я получил новый набор файлов dicom, названных числами от 1 до num, однако, когда я пытаюсь открыть серию на ITK-snap, возникает исключение, указывающее, что вектор слишком длинный. Я могу открыть отдельные файлы dicom на ITK-snap, однако, когда в серию входит более одного изображения, а серия визуализируется как 256x212xnum, где num - количество файлов, я сталкиваюсь с исключением.

Что я делаю не так?

1 Ответ

0 голосов
/ 05 апреля 2019

То, что вы пытаетесь сделать, называется Мультикадр в стандарте DICOM .Короче говоря, необходимо убедиться, что все метаданные вашего изображения все еще верны, указать Number of Frames (0028,0008) и Frame Increment Pointer (0028,0009).К сожалению, формулировка о том, как именно работает тег Frame Increment Pointer, немного расплывчата:

Кадры в многокадровом изображении должны передаваться в виде логической последовательности.Информация, которая определяет последовательный порядок кадров, должна быть идентифицирована тегом элемента данных или тегами, передаваемыми указателем приращения кадра (0028 0009).Каждый конкретный IOD изображения, который поддерживает многокадровый модуль, специализирует указатель приращения кадра (0028,0009) для идентификации атрибутов, которые могут использоваться в качестве последовательностей.

Даже если присутствует только один кадр, указатель приращения кадра(0028,0009) по-прежнему должен присутствовать и иметь как минимум одно значение, каждое из которых должно указывать на Атрибут, который также присутствует в наборе данных и имеет значение. 1

Надеюсь, это поможет.

...