dicomreadVolume

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

Описание

пример

V = dicomreadVolume(source) создает 4-D объем, V, от набора Цифровой Обработки изображений и Коммуникаций в Медицине (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 [rows, columns, samples, slices], где samples является количеством цветовых каналов на воксель. Например, полутоновые объемы имеют одну выборку, и объемы 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