Создайте новый ряд DICOM

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

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

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

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

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

imshow(I,'DisplayRange',[])

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

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

Чтобы идентифицировать ряд, изображение принадлежит, просмотрите значение свойства SeriesInstanceUID.

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',[])

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

uid = dicomuid
uid = 
'1.3.6.1.4.1.9590.100.1.2.258055797612625483529423073711482518068'

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

info.SeriesInstanceUID = uid;

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

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

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

Смотрите также

Приложения

Функции

Похожие темы