В этом примере показано, как создать новую серию 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.330053006212065372123761543973312552760'
Установите значение поля SeriesInstanceUID в метаданных, сопоставленных с исходным файлом DICOM к сгенерированному значению.
info.SeriesInstanceUID = uid;
Запишите модифицированное изображение в новый файл DICOM, задав модифицированную структуру метаданных, информацию, в качестве аргумента. Поскольку вы устанавливаете значение SeriesInstanceUID, записанное изображение является частью нового ряда.
dicomwrite(Imodified,'ankle_newseries.dcm',info);
Чтобы проверить эту операцию, просмотрите изображение и поле метаданных SeriesInstanceUID в новом файле.
dicomanon
| dicominfo
| dicomread
| dicomuid
| dicomwrite