Main Content

dicomreadVolume

Crear un volumen 4D a partir de un conjunto de imágenes DICOM

Descripción

ejemplo

V = dicomreadVolume(source) crea un volumen 4D, V, a partir de un conjunto de archivos Digital Imaging and Communications in Medicine (DICOM) especificado por source. La función dicomreadVolume ordena automáticamente los cortes de la imagen del volumen 4D en el orden correcto.

V = dicomreadVolume(sourceTable) crea 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 para un volumen DICOM.

ejemplo

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

ejemplo

V = dicomreadVolume(___,"MakeIsotropic",tf) crea un volumen DICOM 4D isotrópico a partir de los datos de imagen DICOM de entrada usando cualquier combinación de los argumentos de entrada de las sintaxis anteriores. Utilice esta sintaxis para crear un volumen DICOM isotrópico a partir de un conjunto de datos de imagen DICOM anisotrópicos.

[V,spatial] = dicomreadVolume(___) también devuelve una estructura, spatial, 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 cortes adyacentes en los datos DICOM de entrada.

Ejemplos

contraer todo

Cargue los datos de volumen desde una carpeta que contiene archivos de imagen DICOM. Utilice la función squeeze para eliminar cualquier dimensión singleton.

[V,spatial,dim] = dicomreadVolume("dog");
V = squeeze(V);

Muestre el volumen DICOM 4D. Genere un mapa de colores y de 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);
amap = interp1(intensity,alpha,queryPoints)';
cmap = interp1(intensity,color,queryPoints);

Visualice el volumen con el mapa de colores y el mapa de transparencia personalizados.

volshow(V,Colormap=cmap,Alphamap=amap);

Figure contains an object of type images.ui.graphics3d.viewer3d.

Muestre la estructura espacial devuelta desde dicomreadVolume. La estructura contiene información espacial acerca de 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]
              ImageSize: [512 512 22]

Muestre la información de dimensión desde dicomreadVolume. El valor especifica que el desplazamiento de corte es el mayor a lo largo de la dimensión z.

dim
dim = 3

Recopile información sobre los archivos DICOM incluidos en una carpeta con la función dicomCollection. La función devuelve la información de los metadatos DICOM disponibles en forma de tabla.

sourceTable = dicomCollection("dog");

Muestre la tabla. Cada fila contiene los metadatos de un conjunto de imágenes DICOM incluido en la carpeta especificada.

sourceTable
sourceTable=1×14 table
             StudyDateTime           SeriesDateTime         PatientName      PatientSex    Modality    Rows    Columns    Channels    Frames    StudyDescription    SeriesDescription                        StudyInstanceUID                                             SeriesInstanceUID                          Filenames  
          ____________________    ____________________    _______________    __________    ________    ____    _______    ________    ______    ________________    _________________    _________________________________________________________    _________________________________________________________    _____________

    s1    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}

Cree un volumen DICOM 4D a partir de un conjunto de imágenes DICOM en la tabla. Especifique el nombre de la fila que contiene el conjunto de imágenes DICOM deseado. Para crear un volumen isotrópico, especifique el argumento nombre-valor MakeIsotropic como true. Utilice la función squeeze para eliminar cualquier dimensión singleton.

V = dicomreadVolume(sourceTable,"s1",MakeIsotropic=true);
V = squeeze(V);

Genere un mapa de colores y un mapa de transparencia para las imágenes de 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);
amap = interp1(intensity,alpha,queryPoints)';
cmap = interp1(intensity,color,queryPoints);

Muestre el volumen DICOM 4D isotrópico con el mapa de colores y el mapa de transparencia personalizados usando la función volshow.

vol = volshow(V,Colormap=cmap,Alphamap=amap);

Figure contains an object of type images.ui.graphics3d.viewer3d.

Argumentos de entrada

contraer todo

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

Tipos de datos: char | string

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

Tipos de datos: table

Nombre de la fila de la tabla, especificado como escalar de cadena o vector de caracteres. El nombre identifica una de las filas de la tabla de múltiples filas especificada en sourceTable.

Tipos de datos: char | string

Cree un volumen isotrópico, especificado como 0 (false) o 1 (true) lógico.

  • false o 0: crea un volumen DICOM 4D a partir de los datos de entrada.

  • true o 1: crea un volumen DICOM 4D isotrópico.

Los datos de entrada especificados por source pueden ser datos DICOM isotrópicos o anisotrópicos.

Argumentos de salida

contraer todo

Volumen DICOM 4D, devuelto como arreglo numérico.

Las dimensiones de V son [rows, columns, samples, slices], donde samples es el número de canales de color por vóxel. Por ejemplo, los volúmenes en escala de grises tienen una muestra y los volúmenes RGB, tres muestras. Utilice la función squeeze para eliminar cualquier dimensión singleton, como cuando la muestra es 1.

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

Ubicación, resolución y orientación de los cortes recopilados de los metadatos de las imágenes DICOM de entrada, devueltas como estructura con estos campos.

CampoDescripción
PatientPositionsCoordenadas (x, y, z) del primer píxel de cada corte, medidas en milímetros a partir del origen del sistema de coordenadas de escáner.
PixelSpacingsDistancia entre filas y columnas vecinas dentro de cada corte, en milímetros.
PatientOrientationsPar de tripletes dirección-coseno que designa la dirección de las filas y las columnas de cada corte con relación a la posición del paciente.

Para 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 el mayor desplazamiento, devuelta como 1, 2 o 3. El valor denota la dimensión en un sistema de coordenadas 3D que tiene la mayor cantidad de desplazamiento entre cortes adyacentes en los datos DICOM de entrada.

3-D representation of DICOM image slices

  • Si el mayor desplazamiento es a lo largo de la dimensión x, dim es 1.

  • Si el mayor desplazamiento es a lo largo de la dimensión y, dim es 2.

  • Si el mayor desplazamiento es a lo largo de la dimensión z, dim es 3.

Historial de versiones

Introducido en R2017b