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

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

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

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

    Чтобы просмотреть изображение, используйте или функций отображения тулбокса imshow или imtool. Поскольку данные изображения DICOM подписываются 16-битные данные, необходимо использовать автомасштабирующийся синтаксис.

    imtool(I,'DisplayRange',[])

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

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

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

    info.SeriesInstanceUID
    ans =
    
    1.2.840.113619.2.1.2411.1031152382.365.736169244
  3. Вы обычно только запускаете новую серию DICOM, когда вы изменяете изображение в некотором роде. Этот пример удаляет весь текст из изображения.

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

    max(I(:))
    ans =
    
        4080
    min(I(:))
    ans =
    
        32

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

    Imodified = I;
    Imodified(Imodified == 4080) = 32;

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

    imshow(Imodified,[])

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

    uid = dicomuid
    uid =
    
    1.3.6.1.4.1.9590.100.1.1.56461980611264497732341403390561061497

    dicomuid, как гарантируют, сгенерирует уникальный UID.

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

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

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

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

Для получения информации об изменениях синтаксиса, которые задают пространственные координаты не по умолчанию, смотрите страницу с описанием для imshow.