Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

dicomreadVolume

Construir volumen 4-D a partir del conjunto de imágenes DICOM

Descripción

ejemplo

V = dicomreadVolume(source) construye un volumen 4D, , a partir de un conjunto de archivos de imágenes digitales y comunicaciones en medicina (DICOM) especificados por .Vsource el dicomreadVolume función identifica el orden correcto de las imágenes y construye un volumen 4D.

Nota

Si la entrada es un volumen DICOM, la función devuelve los datos del volumen después de comprobar el orden de los sectores de imagen en el volumen de entrada. Si los sectores de imagen no están en el orden adecuado, la función corrige el orden antes de devolver la salida.

V = dicomreadVolume(sourcetable) construye un volumen DICOM 4D a partir del archivo de entrada que aparece en .sourcetable La tabla debe contener solo una fila que especifique los metadatos de un volumen DICOM.

ejemplo

V = dicomreadVolume(sourcetable,rowname) construye un volumen DICOM 4D a partir del archivo de entrada que aparece en la tabla de varias filas.rowname Utilice esta sintaxis cuando contenga varias filas.sourcetable

ejemplo

V = dicomreadVolume(___,'MakeIsotropic',TF) construye un volumen DICOM isotrópico 4D a partir de los datos de imagen DICOM de entrada utilizando los argumentos de entrada de las sintaxis anteriores. Utilice esta sintaxis para construir un volumen DICOM isotrópico a partir de un conjunto de datos de imagen DICOM no isotrópicos.

[V,spatial] = dicomreadVolume(___) también devuelve una estructura que describe la ubicación, la resolución y la orientación de los datos DICOM de entrada.

ejemplo

[V,spatial,dim] = dicomreadVolume(___) también devuelve la dimensión que tiene la mayor cantidad de desplazamiento entre dos sectores adyacentes en los datos DICOM de entrada.

Ejemplos

contraer todo

Cargue los datos del volumen desde una carpeta que contenga archivos de imagen DICOM. Utilice la función para eliminar las cotas singleton.squeeze

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

Visualice el volumen DICOM 4D. Genere un mapa de color y un mapa alfa (transparencia) para imágenes de resonancia magnética (RM).

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);

Personalice el panel de visualización.

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

Vea el volumen con el mapa de colores personalizado y el mapa alfa.

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

Mostrar la estructura espacial devuelta desde .dicomreadVolume La estructura contiene información espacial sobre los archivos de imagen DICOM de entrada.

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

Visualice la información de dimensión de .dicomreadVolume El valor especifica que el desplazamiento del sector es mayor a lo largo de la z-dimensión.

dim
dim = 3 

Recopile detalles sobre los archivos DICOM contenidos en una carpeta mediante la función.dicomCollection La función devuelve los detalles de los metadatos DICOM disponibles en forma de tabla.

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

Muestre la tabla. La tabla tiene varias filas, con cada fila que contiene los metadatos para los conjuntos de imágenes DICOM presentes en la carpeta especificada.

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"]}

Construya un volumen DICOM 4D a partir de una imagen DICOM establecida en la tabla. Especifique el nombre de fila que contiene el conjunto de imágenes DICOM deseado. Fije el parámetro a para crear un volumen isotrópico.'MakeIsotropic'true Utilice la función para eliminar las cotas singleton.squeeze

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

Visualice el volumen DICOM isotrópico 4-D utilizando la función.volshow Genere un mapa de color y un mapa alfa (transparencia) para imágenes 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);

Personalice el panel de visualización.

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

Vea el volumen con el mapa de colores personalizado y el mapa alfa.

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

Argumentos de entrada

contraer todo

Carpeta o archivos de datos de volumen, especificados como un escalar de cadena, vector de caracteres, matriz de cadenas o matriz de celdas de vectores de caracteres.

Tipos de datos: char | string

Colección de metadatos de archivo DICOM, especificada como una tabla devuelta por .dicomCollection

Tipos de datos: table

Nombre de la fila de tabla, especificado como un vector escalar o de caracteres de cadena. El nombre identifica una de las filas de la tabla de varias filas especificada en .sourcetable

Tipos de datos: char | string

Construir volumen isotrópico, especificado como uno de estos valores.

  • o 0 (predeterminado) — Construir un volumen DICOM 4D a partir de los datos de entrada.false

  • o 1 — Construir un volumen DICOM 4-D isotrópico.true

La entrada puede ser datos DICOM isotrópicos o no isotrópicos.

Ejemplo: ('MakeIsotropic',true)

Argumentos de salida

contraer todo

Volumen DICOM 4-D, devuelto como una matriz numérica.

Las dimensiones de son [ , , , ], donde está el número de canales de color por voxel.Vrowscolumnssamplesslicessamples Por ejemplo, los volúmenes en escala de grises tienen una muestra y los volúmenes RGB tienen tres muestras. Utilice la función para quitar las cotas singleton, como cuando la muestra es 1.squeeze

Ubicación, resolución y orientación de los sectores recopilados a partir de los metadatos de las imágenes DICOM de entrada, devueltas como una estructura con los siguientes campos.

Estructura espacial

CamposDescripción
PatientPositions( , , ) triplete del primer píxel en cada rebanada, medido en milímetros desde el origen del sistema de coordenadas del escánerxyz
PixelSpacings Distancia entre las filas y columnas vecinas dentro de cada sector, en milímetros
PatientOrientations Par de trillizos de coseno de dirección que designan la dirección de las filas y columnas en cada rebanada en relación con la posición del paciente

Para obtener más información acerca de los atributos DICOM, consulte la parte 3 del estándar DICOM, sección C.7.6.2.

Dimensión con desplazamiento más grande, devuelta como 1, 2 o 3. El valor indica la dimensión en un sistema de coordenadas 3D que tiene la mayor cantidad de desfase entre sectores adyacentes en los datos DICOM de entrada.

  • es 1, si el desfase más grande está a lo largo de la cota.dimx

  • es 2, si el desfase más grande está a lo largo de la cota.dimy

  • es 3, si el desfase más grande está a lo largo de la cota.dimz

Introducido en R2017b