Procesamiento de imágenes volumétricas 3D
Las imágenes volumétricas 3D, o volúmenes, representan el brillo o el color de una escena muestreada en tres dimensiones espaciales: altura, anchura y profundidad. Los volúmenes se usan en diversos campos, como:
Imágenes médicas, que analizan las estructuras del cuerpo para detectar irregularidades y medir las propiedades de los tejidos.
La industria manufacturera, que examina la calidad de los productos y mejora su diseño.
Imágenes geológicas, que realizan pruebas no destructivas del medio ambiente y examinan las propiedades de rocas y fósiles.
Arqueología y restauración de arte, que preservan digitalmente los artefactos y realizan análisis no invasivos de los hallazgos arqueológicos.
Image Processing Toolbox™ representa los volúmenes como arreglos multidimensionales con tres dimensiones espaciales. Los volúmenes en escala de grises y binarios suelen ser arreglos 3D, donde cada índice (fila, columna, plano) del arreglo corresponde a un solo vóxel del volumen. Los volúmenes de color suelen ser arreglos 4D, donde la cuarta dimensión almacena los valores de intensidad de los canales de color.
Nota
Image Processing Toolbox también utiliza arreglos multidimensionales para representar secuencias de imágenes. A diferencia de los volúmenes, las secuencias de imágenes suelen tener una dimensión temporal que almacena muestras de la escena a lo largo del tiempo. Algunas funciones sirven tanto para imágenes volumétricas como para secuencias de imágenes, mientras que otras solo sirven para un tipo de entrada. Para obtener más información, consulte Work with Image Sequences as Multidimensional Arrays.
Esta página proporciona una lista de funciones que admiten imágenes volumétricas 3D en Image Processing Toolbox.
Importación y exportación de volúmenes
| Función | Descripción |
|---|---|
| Volúmenes divididos en bloques | |
blockedImage | Imagen grande o multirresolución hecha a partir de bloques discretos más pequeños |
blockedImageDatastore | Almacén de datos que lee bloques de objetos blockedImage |
makeMultiLevel3D | Crear una imagen dividida en bloques de varios niveles en 3D con diferentes resoluciones a partir de un único nivel de una imagen dividida en bloques |
| Formatos de archivo estándar | |
dicomread | Leer una imagen DICOM |
dicomreadVolume | Crear un volumen 4D a partir de un conjunto de imágenes DICOM |
dicomContours | Extraer datos ROI de un conjunto de estructuras DICOM-RT |
niftiinfo | Leer los metadatos de un archivo NIfTI |
niftiwrite | Escribir un volumen en un archivo usando el formato NifTI |
niftiread | Leer una imagen NIfTI |
tiffreadVolume | Leer un volumen de un archivo TIFF |
medicalVolume (Medical Imaging Toolbox) | Datos de vóxeles de imágenes médicas 3D e información de referenciación espacial (requiere Medical Imaging Toolbox™) |
Visualización
| Función | Descripción |
|---|---|
| Mostrar y explorar volúmenes de forma interactiva | |
| Volume Viewer | Visualizar datos volumétricos y datos volumétricos etiquetados, y ajustar de forma interactiva la configuración de visualización |
| Renderizar volúmenes en un espacio 3D | |
viewer3d | Crear un visor 3D con controles a nivel de escena |
volshow | Mostrar un volumen en un visor 3D |
Surface | Mostrar una superficie en un visor 3D |
| Visualizar secciones transversales 2D (cortes) | |
montage | Mostrar varios cortes de imagen como un montaje rectangular |
sliceViewer | Examinar cortes de una imagen en escala de grises o un volumen RGB |
orthosliceViewer | Examinar cortes ortogonales en escala de grises o volumen RGB |
obliqueslice | Extraer un corte oblicuo de un volumen |
Consulte estos ejemplos relacionados:
Transformaciones geométricas y registro
| Función | Descripción |
|---|---|
| Redimensionar, rotar y recortar volúmenes | |
imresize3 | Redimensionar un volumen 3D en escala de grises |
imrotate3 | Rotar un volumen 3D en escala de grises |
imcrop3 | Recortar un volumen 3D |
| Crear y aplicar transformaciones geométricas 3D | |
imwarp | Aplicar transformación geométrica |
transltform3d | Transformación geométrica de traslación 3D |
rigidtform3d | Transformación geométrica rígida 3D |
simtform3d | Transformación geométrica de similitud 3D |
affinetform3d | Transformación geométrica afín 3D |
randomAffine3d | Transformación geométrica afín 3D aleatoria |
transformPointsForward | Aplicar transformación geométrica directa |
transformPointsInverse | Aplicar la transformación geométrica inversa |
| Registrar volúmenes 3D | |
imregister | Registro de volúmenes basado en la intensidad |
imregdemons | Estimar un campo de desplazamiento para alinear dos volúmenes |
| Medical Registration Estimator (Medical Imaging Toolbox) | Registre volúmenes de forma interactiva utilizando la app Medical Registration Estimator (requiere Medical Imaging Toolbox) |
| Almacenar referencias espaciales 3D | |
imref3d | Establecer referencias en volúmenes con las coordenadas mundiales |
affineOutputView | Extensión espacial de un volumen transformado |
Para ver un ejemplo, consulte Register Multimodal 3-D Medical Images.
Filtrar y mejorar
| Función | Descripción |
|---|---|
| Aplicar filtros a volúmenes | |
imfilter | Aplicar un filtro N-D a volúmenes multidimensionales |
fspecial3 | Crear un filtro 3D predefinido |
medfilt3 | Filtrado de mediana de 3D |
imgaussfilt3 | Filtrado gaussiano 3D |
imboxfilt3 | Filtrado de cuadro 3D |
imnoise | Añadir ruido a un volumen |
integralBoxFilter3 | Filtrado de cuadro de volúmenes integrales 3D |
integralImage3 | Volumen integral 3D |
fibermetric | Realzar estructuras alargadas o tubulares en un volumen utilizando el filtro de Frangi Vesselness |
padarray | Rellenar arreglos |
| Ajustar el contraste | |
histeq | Mejorar el contraste mediante la ecualización de histogramas |
imadjustn | Ajustar valores de intensidad |
imhistmatchn | Ajustar el histograma de un volumen para que coincida con el histograma de referencia |
| Enfocar volúmenes | |
deconvblind | Enfocar un volumen utilizando deconvolución ciega |
deconvlucy | Enfocar un volumen con el método de Lucy-Richardson |
deconvreg | Enfocar un volumen con un filtro regularizado |
deconvwnr | Enfocar un volumen con el filtro de Wiener |
edgetaper | Suavizar discontinuidades a lo largo de bordes de volumen |
otf2psf | Convertir la función de transferencia óptica en función de dispersión puntual |
psf2otf | Convertir la función de dispersión puntual en la función de transferencia óptica |
Segmentación
Para obtener más información sobre las técnicas de segmentación de imágenes y volúmenes, consulte Get Started with Image Segmentation.
| Función | Descripción |
|---|---|
| Segmentar volúmenes de forma interactiva | |
| Volume Segmenter | Segmente objetos de forma interactiva en un volumen y perfeccione las máscaras de segmentación con la app Volume Segmenter |
| Medical Image Labeler (Medical Imaging Toolbox) | Etiquete volúmenes de forma interactiva utilizando técnicas manuales, semiautomatizadas y automatizadas, incluidas las redes de deep learning (requiere Medical Imaging Toolbox) |
| Segmentación de volúmenes binarios | |
activecontour | Segmentar un volumen en escala de grises para separar el primer plano y el fondo utilizando la técnica de crecimiento regional de contornos activos (snakes) |
lazysnapping | Segmentar un volumen en escala de grises para separar el primer plano y el fondo utilizando una segmentación basada en gráficas |
grabcut | Segmentar un volumen en escala de grises para separar el primer plano y el fondo utilizando una segmentación interactiva basada en gráficas |
adaptthresh | Umbral adaptativo de un volumen utilizando estadísticas locales de primer orden |
graythresh | Umbral de volumen global usando el método de Otsu |
gradientweight | Calcular los pesos de los vóxeles en función del gradiente del volumen |
graydiffweight | Calcular los pesos de los píxeles de una imagen en función de la diferencia de intensidad de la escala de grises |
grayconnected | Seleccionar regiones volumétricas contiguas con valores de grises similares usando la técnica de relleno por difusión |
imbinarize | Binarizar un volumen utilizando umbrales |
imsegfmm | Segmentación binaria de volúmenes con el método de la marcha rápida |
| Segmentar volúmenes en volúmenes etiquetados | |
imsegkmeans3 | Segmentación de volúmenes basada en la agrupación K-medias |
superpixels3 | Sobresegmentación de superpíxeles 3D de volúmenes |
watershed | Transformada de watershed |
| Evaluar los resultados de una segmentación | |
bfscore | Puntuación de coincidencia de contornos |
dice | Coeficiente de similitud de Sørensen-Dice |
jaccard | Coeficiente de similitud de Jaccard |
Consulte estos ejemplos relacionados:
Morfología
Para garantizar que un volumen se procesa como tal y no como una secuencia de imágenes, use un elemento estructurante 3D.
| Función | Descripción |
|---|---|
| Operaciones morfológicas | |
bwmorph3 | Operaciones morfológicas en un volumen binario |
imclose | Cerrar morfológicamente volúmenes |
imdilate | Dilatar volumen |
imerode | Erosionar volumen |
imopen | Apertura morfológica de volúmenes |
imbothat | Filtrado con bottom-hat |
imtophat | Filtrado top-hat |
bwskel | Reducir todos los objetos a líneas en un volumen binario |
bwhitmiss | Operación binaria acierto-fallo |
bwperim | Buscar el perímetro de los objetos de un volumen binario |
imclearborder | Suprimir estructuras de línea conectadas al borde de un volumen |
imkeepborder | Retener estructuras de línea conectadas al borde de un volumen |
bwulterode | Erosión última |
imfill | Rellenar regiones y huecos en volúmenes |
padarray | Rellenar volumen |
| Reconstrucción morfológica | |
imreconstruct | Reconstrucción morfológica |
imregionalmax | Máximos regionales |
imregionalmin | Mínimos regionales |
imextendedmax | Transformada de máximos extendidos |
imextendedmin | Transformada de mínimos extendidos |
imhmax | Suprimir máximos regionales utilizando la transformada H-máximos |
imhmin | Suprimir mínimos regionales utilizando la transformada H-mínimos |
imimposemin | Imponer mínimos |
| Elementos estructurantes | |
strel | Elemento estructurante morfológico para volúmenes binarios |
offsetstrel | Elemento estructurante morfológico con desplazamiento para volúmenes en escala de grises |
conndef | Crear arreglo de conectividad |
Análisis de objetos e imágenes
| Función | Descripción |
|---|---|
| Analizar objetos | |
regionprops3 | Medir propiedades de regiones 3D |
bwselect3 | Seleccionar objetos de un volumen binario |
bwconncomp | Buscar y contar los componentes conectados de un volumen binario |
bwareaopen | Eliminar objetos pequeños de un volumen binario |
| Evaluar la calidad de imágenes | |
immse | Error cuadrático medio |
psnr | Relación señal-ruido máxima (PSNR) |
ssim | Índice de similitud estructural (SSIM) |
multissim3 | Índice de similitud estructural multiescala (MS-SSIM) |
| Medir propiedades de imágenes | |
imhist | Histograma de datos de volumen |
bwdist | Transformada de distancia de un volumen binario |
bwdistgeodesic | Transformada de distancia geodésica de un volumen binario |
graydist | Transformada de distancia ponderada por grises |
| Detectar bordes | |
edge3 | Encontrar los bordes de un volumen en escala de grises |
imgradient3 | Encontrar la magnitud y la dirección del gradiente de un volumen |
imgradientxyz | Encontrar gradientes direccionales de un volumen |
| Medir texturas | |
entropy | Entropía de un volumen en escala de grises |
entropyfilt | Entropía local de un volumen en escala de grises |
rangefilt | Rango local de un volumen |
stdfilt | Desviación estándar local de un volumen |
Deep learning con volúmenes
Para obtener más información, consulte Get Started with Image Preprocessing and Augmentation for Deep Learning (Computer Vision Toolbox) y Preprocess Volumes for Deep Learning (Deep Learning Toolbox).
| Función | Descripción |
|---|---|
| Leer y preprocesar datos para deep learning | |
blockedImageDatastore | Almacén de datos que lee bloques de objetos blockedImage |
randomPatchExtractionDatastore | Almacén de datos que extrae zonas 3D aleatorias de volúmenes o volúmenes de etiquetas de píxeles |
randomAffine3d | Transformación afín 3D aleatoria |
centerCropWindow3d | Ventana de recorte cuboidal centrada |
randomCropWindow3d | Ventana de recorte cuboidal aleatoria |
| Crear redes neuronales profundas | |
resize3dLayer | Redimensionar capas 3D en redes neuronales (requiere la Deep Learning Toolbox™) |
dlresize | Redimensione las dimensiones espaciales de un objeto dlarray (requiere Deep Learning Toolbox) |
Para ver un ejemplo, consulte 3-D Brain Tumor Segmentation Using Deep Learning.
Aritmética
| Función | Descripción |
|---|---|
imabsdiff | Diferencia absoluta de dos volúmenes |
imadd | Sumar dos imágenes o una constante a un volumen |
imdivide | Dividir un volumen entre otro o dividir un volumen por una constante |
immultiply | Multiplicar dos volúmenes o multiplicar un volumen por una constante |
imsubtract | Restar un volumen a otro o restar una constante a un volumen |