exponenta event banner

dicomreadVolume

Создание 4-D тома из набора изображений DICOM

Описание

пример

V = dicomreadVolume(source) создает 4-D объем, V, из набора файлов Digital Imaging and Communications in Medicine (DICOM), указанных source. dicomreadVolume определяет правильный порядок изображений и создает 4-D объем.

Примечание

Если вход является объемом DICOM, то функция возвращает данные тома после проверки порядка следования фрагментов изображения во входном томе. Когда фрагменты изображения находятся не в соответствующем порядке, функция корректирует порядок перед возвратом выходных данных.

V = dicomreadVolume(sourcetable) создает 4-D том DICOM из входного файла, указанного в sourcetable. Таблица должна содержать только одну строку, указывающую метаданные для тома DICOM.

пример

V = dicomreadVolume(sourcetable,rowname) создает 4-D том DICOM из входного файла, указанного в rowname многострочной таблицы. Использовать этот синтаксис при sourcetable содержит несколько строк.

пример

V = dicomreadVolume(___,'MakeIsotropic',tf) создает изотропный 4-D объем DICOM из входных данных изображения DICOM с использованием входных аргументов в предыдущих синтаксисах. Этот синтаксис используется для создания изотропного тома DICOM из набора неизотропных данных изображения DICOM.

[V,spatial] = dicomreadVolume(___) также возвращает структуру, spatial, который описывает местоположение, разрешение и ориентацию входных данных DICOM.

пример

[V,spatial,dim] = dicomreadVolume(___) также возвращает измерение, которое имеет наибольшую величину смещения между двумя соседними срезами во входных данных DICOM.

Примеры

свернуть все

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

[V,spatial,dim] = dicomreadVolume(fullfile(matlabroot,'toolbox/images/imdata/dog'));
V = squeeze(V);

Отображение 4-D объема DICOM. Создание карты цветов и карты альфа (прозрачности) для изображений с магнитным резонансом (MR).

intensity = [0 20 40 120 220 1024];
alpha = [0 0 0.15 0.3 0.38 0.5];
color = ([0 0 0; 43 0 0; 103 37 20; 199 155 97; 216 213 201; 255 255 255])/ 255;
queryPoints = linspace(min(intensity),max(intensity),256);
alphamap = interp1(intensity,alpha,queryPoints)';
colormap = interp1(intensity,color,queryPoints);

Настройте панель отображения.

ViewPnl = uipanel(figure,'Title','4-D Dicom Volume');

Просмотрите объем с помощью пользовательской карты цветов и альфа-карты.

volshow(V,'Colormap',colormap,'Alphamap',alphamap,'Parent',ViewPnl);

Отображение возвращенной пространственной структуры из dicomreadVolume. Структура содержит пространственную информацию о входных файлах изображения DICOM.

spatial
spatial = struct with fields:
       PatientPositions: [22×3 double]
          PixelSpacings: [22×2 double]
    PatientOrientations: [2×3×22 double]

Отображение информации о размерах из dicomreadVolume. Значение указывает, что смещение фрагмента является наибольшим вдоль z-размерность.

dim
dim = 3

Сбор сведений о файлах DICOM, содержащихся в папке, с помощью dicomCollection функция. Функция возвращает сведения о доступных метаданных DICOM в виде таблицы.

sourcetable = dicomCollection(fullfile(matlabroot,'toolbox/images/imdata'));

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

sourcetable
sourcetable=5×14 table
             StudyDateTime             SeriesDateTime           PatientName      PatientSex    Modality    Rows    Columns    Channels    Frames    StudyDescription    SeriesDescription                             StudyInstanceUID                                                     SeriesInstanceUID                                                                                  Filenames                                                     
          ____________________    ________________________    _______________    __________    ________    ____    _______    ________    ______    ________________    _________________    __________________________________________________________________    __________________________________________________________________    ___________________________________________________________________________________________________________________

    s1    30-Apr-1993 11:27:24    {[30-Apr-1993 11:27:24]}    "Anonymized"          ""           "CT"      512       512         1           1      "RT ANKLE"          ""                   "1.2.840.113619.2.1.1.322987881.621.736170080.681"                    "1.2.840.113619.2.1.2411.1031152382.365.736169244"                    {["Y:\jobarchive\Bdoc19b\2019_05_27_h05m12s43_job1128383_pass\matlab\toolbox\images\imdata\CT-MONO2-16-ankle.dcm"]}
    s2    14-Dec-2013 15:47:31    {[14-Dec-2013 15:54:33]}    "GORBERG MITZI"       "F"          "MR"      512       512         1          22      "CSP"               "AX T2"              "1.2.840.113619.2.244.3596.11880862.13689.1386517653.214"             "1.2.840.113619.2.244.3596.11880862.13689.1386517653.217"             {22×1 string                                                                                                      }
    s3    03-Oct-2011 19:18:11    {[03-Oct-2011 18:59:02]}    ""                    "M"          "MR"      512       512         1           1      "RIGHT KNEE"        ""                   "1.3.6.1.4.1.9590.100.1.2.320418845013189618318250681693358291211"    "1.3.6.1.4.1.9590.100.1.2.287740981712351622214874344032214809569"    {["Y:\jobarchive\Bdoc19b\2019_05_27_h05m12s43_job1128383_pass\matlab\toolbox\images\imdata\knee1.dcm"            ]}
    s4    03-Oct-2011 19:18:11    {[03-Oct-2011 19:05:04]}    ""                    "M"          "MR"      512       512         1           1      "RIGHT KNEE"        ""                   "1.3.6.1.4.1.9590.100.1.2.320498134711034521212730362051554545799"    "1.3.6.1.4.1.9590.100.1.2.316302984111738034326701385064023497963"    {["Y:\jobarchive\Bdoc19b\2019_05_27_h05m12s43_job1128383_pass\matlab\toolbox\images\imdata\knee2.dcm"            ]}
    s5    30-Jan-1994 11:25:01    {0×0 double            }    "Anonymized"          ""           "US"      430       600         1          10      "Echocardiogram"    "PS LAX MR & AI"     "999.999.3859744"                                                     "999.999.94827453"                                                    {["Y:\jobarchive\Bdoc19b\2019_05_27_h05m12s43_job1128383_pass\matlab\toolbox\images\imdata\US-PAL-8-10x-echo.dcm"]}

Создайте 4-D объем DICOM из изображения DICOM, заданного в таблице. Укажите имя строки, содержащей требуемый набор образов DICOM. Установка параметра 'MakeIsotropic' кому true для создания изотропного объема. Используйте squeeze для удаления любых одиночных размеров.

V = dicomreadVolume(sourcetable,'s2','MakeIsotropic',true);
V = squeeze(V);

Отображение объема изотропного 4-D DICOM с помощью volshow функция. Создайте карту цветов и альфа-карту (прозрачность) для MR-изображений.

intensity = [0 20 40 120 220 1024];
alpha = [0 0 0.15 0.3 0.38 0.5];
color = ([0 0 0; 43 0 0; 103 37 20; 199 155 97; 216 213 201; 255 255 255])/255;
queryPoints = linspace(min(intensity),max(intensity),256);
alphamap = interp1(intensity,alpha,queryPoints)';
colormap = interp1(intensity,color,queryPoints);

Настройте панель отображения.

ViewPnl = uipanel(figure,'Position',[0 0 1 1],'Title','Isotropic 4-D Dicom Volume');

Просмотрите объем с помощью пользовательской карты цветов и альфа-карты.

volshow(V,'Colormap',colormap,'Alphamap',alphamap,'CameraPosition',[3 3 4],'Parent',ViewPnl);

Входные аргументы

свернуть все

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

Типы данных: char | string

Коллекция метаданных файла DICOM, указанная как таблица, возвращаемая dicomCollection.

Типы данных: table

Имя строки таблицы, указанное как строковый скалярный или символьный вектор. Имя определяет одну из строк в многострочной таблице, указанной в sourcetable.

Типы данных: char | string

Создайте изотропный объем, указанный как одно из этих значений.

  • false или 0 - Создайте 4-D DICOM-том из входных данных.

  • true или 1 - создание изотропного объема 4-D DICOM.

Входными данными могут быть изотропные или неизотропные данные DICOM.

Выходные аргументы

свернуть все

4-D том DICOM, возвращаемый в виде числового массива.

Размеры V [строки, столбцы, выборки, срезы], где выборки - количество цветовых каналов на воксель. Например, тома в градациях серого имеют один образец, а тома RGB - три образца. Используйте squeeze функция для удаления любых одиночных размеров, например, когда образец равен 1.

4-D array depicted as groups of 3-D grayscale volumes of size rows-by-colums-by-samples.

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

Пространственная структура

ОбластиОписание
PatientPositions(x, y, z) триплет первого пикселя в каждом срезе, измеренный в миллиметрах от начала координат системы координат сканера
PixelSpacings Расстояние между соседними строками и столбцами в пределах каждого фрагмента, в миллиметрах
PatientOrientations Пара триплетов направление-косинус, которые обозначают направление строк и столбцов в каждом срезе относительно положения пациента

Дополнительные сведения об атрибутах DICOM см. в части 3 стандарта DICOM, раздел C.7.6.2.

Размер с наибольшим смещением, возвращаемый как 1, 2, или 3. Значение обозначает размер в 3-D системе координат, которая имеет наибольшую величину смещения между соседними срезами во входных данных DICOM.

  • Если наибольшее смещение вдоль размера x, то dim равно 1.

  • Если наибольшее смещение вдоль размера y, то dim равно 2.

  • Если наибольшее смещение находится вдоль размера z, то dim равно 3.

Представлен в R2017b