В этом примере показано, как создать новую серию 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