exponenta event banner

Создание новой серии DICOM

В этом примере показано, как создать новую серию DICOM для измененного изображения DICOM.

В стандарте DICOM изображения могут быть организованы в серии. По умолчанию при записи изображения с метаданными в файл DICOM dicomwrite помещает изображение в одну серию. Как правило, новая серия DICOM запускается только при некотором изменении изображения. Чтобы сделать измененное изображение началом новой серии, назначьте новый уникальный идентификатор DICOM полю метаданных SerureInstureUID.

Считывание изображения из файла DICOM в рабочую область.

I = dicomread('CT-MONO2-16-ankle.dcm');

Отображение изображения. Поскольку данные изображения DICOM подписаны 16-битными данными, автоматически масштабировать диапазон отображения так, чтобы минимальное значение пикселя было черным, а максимальное значение пикселя - белым.

imshow(I,'DisplayRange',[])

Figure contains an axes. The axes contains an object of type image.

Считывание метаданных из файла DICOM.

info = dicominfo('CT-MONO2-16-ankle.dcm');

Чтобы определить серию, к которой принадлежит изображение, просмотрите значение свойства SerureInstureUID.

info.SeriesInstanceUID
ans = 
'1.2.840.113619.2.1.2411.1031152382.365.736169244'

В этом примере изображение изменяется путем удаления всего текста из изображения. Текст на изображении выглядит белым. Найдите максимальное значение всех пикселов изображения, соответствующее белому тексту.

textValue = max(I(:));

Фон изображения выглядит чёрным. Найдите минимальное значение всех пикселов изображения, соответствующее фону.

backgroundValue = min(I(:));

Чтобы удалить текст, установите минимальное значение для всех пикселов с максимальным значением.

Imodified = I;
Imodified(Imodified == textValue) = backgroundValue;

Просмотр обработанного изображения.

imshow(Imodified,'DisplayRange',[])

Figure contains an axes. The axes contains an object of type image.

Для записи измененного изображения в виде новой серии необходим новый уникальный идентификатор DICOM (UID). Создание нового UID с помощью dicomuid функция. dicomuid гарантированно создает уникальный UID.

uid = dicomuid
uid = 
'1.3.6.1.4.1.9590.100.1.2.330053006212065372123761543973312552760'

Установите значение поля SerureInstityUID в метаданных, связанных с исходным файлом DICOM, равным сгенерированному значению.

info.SeriesInstanceUID = uid;

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

dicomwrite(Imodified,'ankle_newseries.dcm',info);

Чтобы проверить эту операцию, просмотрите в новом файле изображение и поле метаданных SerureInstureUID.

См. также

Приложения

Функции

Связанные темы