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

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

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

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

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

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

imshow(I,'DisplayRange',[])

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

Считайте метаданные из файла 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',[])

Figure contains an axes object. The axes object 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.329368197333128995126276368263749156748'

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

info.SeriesInstanceUID = uid;

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

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

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

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

Приложения

Функции

Похожие темы