Чтобы записать данные или метаданные в файл в формате 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 и без.
dicomanon
| dicominfo
| dicomread
| dicomuid
| dicomwrite