Запись данных в файлы DICOM

Чтобы записать данные или метаданные в файл в формате DICOM, используйте dicomwrite функция. Этот пример запишет изображение I в файл DICOM ankle.dcm.

dicomwrite(I,'ankle.dcm')

Включите метаданные с данными изображений

При записи данных в файл DICOM, dicomwrite автоматически включает минимальный набор полей метаданных, требуемых типом создаваемого информационного объекта DICOM (IOD). dicomwrite поддерживает следующие IOD DICOM с полной валидацией.

  • Вторичный захват (по умолчанию)

  • Магнитный резонанс

  • Компьютерная томография

dicomwrite может записать много других типов данных DICOM (таких как рентген, лучевая терапия или ядерная медицина) в файл. Однако, dicomwrite не выполняет валидации этих данных.

Можно также задать метаданные, которые вы хотите записать в файл, передав в dicomwrite существующая структура метаданных DICOM, которую вы получили с помощью dicominfo. В следующем примере, dicomwrite функция записывает соответствующую информацию в структуру метаданных info в новый файл DICOM.

info = dicominfo('CT-MONO2-16-ankle.dcm');
I = dicomread(info);
dicomwrite(I,'ankle.dcm',info)

Обратите внимание, что метаданные, записанные в файл, не идентичны метаданным в info структура. При записи метаданных в файл существуют определенные поля dicomwrite необходимо обновить. Для иллюстрации проверьте идентификатор образца в исходных метаданных и сравните его с идентификатором в новом файле.

info.SOPInstanceUID
ans =

1.2.840.113619.2.1.2411.1031152382.365.1.736169244

Теперь прочтите метаданные из только что созданного файла DICOM, используя dicominfo, и проверьте SOPInstanceUID поле.

info2 = dicominfo('ankle.dcm');

info2.SOPInstanceUID
ans =

1.2.841.113411.2.1.2411.10311244477.365.1.63874544

Обратите внимание, что идентификатор образца во вновь созданном файле отличается от идентификатора в исходном файле.

Задайте представление значения

Каждое поле метаданных DICOM (известное как атрибут или элемент данных) включает тег, который идентифицирует атрибут, информацию о длине атрибута и данные атрибута. Атрибут необязательно включает представление двухбуквенного значения (VR), которое идентифицирует формат данных атрибута. Для примера формат может быть двоичным числом с плавающей точки с одной точностью, вектором символов, который представляет десятичному числу целое число или вектором символов в формате datetime.

Включение VR в атрибут при использовании dicomwrite, задайте 'VR' аргумент пары "имя-значение" как 'explicit'. Если вы не задаете VR, то dicomwrite выводит представление значения из словаря данных.

Рисунок показывает атрибут с VR и без.

См. также

Приложения

Функции

Похожие темы