Main Content

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.

bigimage

Procesamiento fuera de núcleo de imágenes muy grandes

Descripción

Un objeto almacena información sobre un archivo . TIFF y los datos de imagen que contiene.bigimage A representa imágenes como bloques de datos más pequeños que se pueden cargar y procesar de forma independiente.bigimage

Utilice un objeto para visualizar y procesar imágenes que sean demasiado grandes para caber en la memoria, o cuando el procesamiento de la imagen requiere más memoria de la que está disponible.bigimage Además, el objeto puede:

  • Leer, procesar y mostrar imágenes en diferentes niveles de resolución múltiple (pirámides de imagen).

  • Lea las regiones arbitrarias de la imagen.

  • Leer, establecer y escribir bloques de datos.

Para imágenes grandes con varios niveles de resolución, el nivel más bajo o de resolución es el nivel donde cada píxel cubre el área más grande.más grueso El nivel más alto o de resolución es el nivel donde cada píxel cubre el área más pequeña.Mejores

Creación

Descripción

ejemplo

bigimg = bigimage(filename) crea un objeto a partir del archivo de imagen grande con el nombre .bigimagefilename

bigimg = bigimage(dirname) crea un objeto a partir de un directorio con un nombre que contiene archivos con datos de imagen grande.bigimagedirname

bigimg = bigimage(varname) crea un objeto a partir de la variable en el espacio de trabajo.bigimagevarname

bigimg = bigimage(spatialReferencing,channels,classUnderlying) crea un objeto y establece elbigimage SpatialReferencing, ChannelsY ClassUnderlying propiedades, sin inicializar los datos de la imagen.

bigimg = bigimage(levelSizes,channels,classUnderlying) crea un objeto y establece elbigimage LevelSizes, ChannelsY ClassUnderlying propiedades, sin inicializar los datos de la imagen.

bigimg = bigimage(___,Name,Value) utiliza pares nombre-valor para establecer uno o más de los BlockSize, UnloadedValueY SpatialReferencing Propiedades. Puede especificar varios pares nombre-valor. Incluya cada nombre de propiedad entre comillas.

Por ejemplo, crea una imagen grande a partir de un archivo que tiene un tamaño de bloque de 256 por 256 píxeles y un valor de píxel predeterminado de .bigimage(bigfile,'BlockSize',[256 256],'UnloadedValue',128)bigfile128

Argumentos de entrada

expandir todo

Nombre del archivo de imagen grande, especificado como vector de caracteres o escalar de cadena. Los formatos de archivo compatibles son TIFF y BigTIFF. Este argumento establece la DataSource Propiedad.

Nombre del directorio de imágenes grandes, especificado como vector de caracteres o escalar de cadena. Este argumento establece la DataSource Propiedad.

Variable de imagen grande en el espacio de trabajo, especificada como una matriz numérica de tamaño -por- para una imagen de un solo canal o -por- -por- para una imagen con canales de color.mnmncc

Propiedades

expandir todo

Propiedades del archivo de imagen

Ubicación de los datos que respaldan la imagen grande, especificada como vector de caracteres. Los formatos de archivo compatibles son TIFF y BigTIFF.

Si crea un objeto sin especificar el nombre de un archivo de imagen grande, el valor de es .bigimageDataSource'' Si crea un objeto a partir de una variable en el espacio de trabajo, el valor de es .bigimageDataSource'variable'

Tipos de datos: string

Esta propiedad es de solo lectura.

Metadatos de origen, especificados como una estructura como devuelta por .imfinfo

Propiedades de datos de imagen

Esta propiedad es de solo lectura.

Tipo de datos de píxeles de imagen, especificado como una de las siguientes cadenas.

"uint8""int8""double"
"uint16""int16""single"
"uint32""int32""logical"

Tipos de datos: char | string

Esta propiedad es de solo lectura.

Número de canales de color o multiespectrales, especificado como un entero positivo.

Tipos de datos: double

Tamaño de bloque, especificado como un vector de fila de 2 elementos de enteros positivos del formulario.[numrows numcols] El tamaño de bloque es la unidad de datos más pequeña que el objeto puede leer o escribir.bigimage

Tipos de datos: double

Dimensiones de imagen en cada nivel de resolución, especificadas como una matriz -by-2 de enteros positivos.r Cada fila especifica las dimensiones de la imagen en uno de los niveles de resolución.[numrows numcols]r

Tipos de datos: double

Ubicaciones y tamaños de píxeles, especificados como un objeto escalar para una imagen grande de una sola resolución o un vector de objetos -by-1 para una imagen grande de varias resoluciones.imref2drimref2d Cada elemento especifica el tamaño de píxel, el tamaño de la imagen y los límites mundiales en uno de los niveles de resolución.r

Esta propiedad es de solo lectura.

Nivel de resolución más grueso, especificado como un entero positivo. Para imágenes de una sola resolución, es .CoarsestResolutionLevel1

Tipos de datos: double

Esta propiedad es de solo lectura.

Nivel de resolución más fino, especificado como un entero positivo. Para imágenes de una sola resolución, es .FinestResolutionLevel1

Tipos de datos: double

Valor de píxel predeterminado para bloques descargados, especificado como un escalar numérico o una matriz numérica de tamaño 1 por 1 por-Channels. El tipo de datos de debe coincidir con el tipo de datos especificado porUnloadedValue ClassUnderlying.

Funciones del objeto

applyBloques de proceso de imagen grande
isequalComparar dos s por la igualdadbigimage
getBlockLeer bloque de imagen grande
getFullLevelObtener todos los datos en un nivel de imagen grande
getRegionLeer región arbitraria de imagen grande
setBlockPoner los datos en un bloque específico de imagen grande
writeEscribir contenido en un nuevo archivobigimage

Ejemplos

contraer todo

Cargue una imagen grande. Este ejemplo utiliza una versión modificada de la imagen "tumor_091.tif" del archivo .Conjunto de datos CAMELYON16 La imagen original es una imagen de entrenamiento de un ganglio linfático que contiene tejido tumoral. La imagen original tiene ocho niveles de resolución, y el nivel más alto tiene resolución 53760-por-61440. La imagen modificada tiene solo tres niveles de resolución gruesa. La referencia espacial de la imagen modificada se ha ajustado para aplicar una relación de aspecto coherente y registrar entidades en cada nivel.

bim = bigimage('tumor_091R.tif'); 

Muestre toda la imagen grande en el nivel de resolución más fino. Mostrar una cuadrícula de los límites del bloque.

bshow = bigimageshow(bim,'GridVisible','on','GridLevel',1); 

Determine el nivel de resolución más grueso y la referencia espacial del nivel en ese nivel.bigimage

clevel = bim.CoarsestResolutionLevel; clevelLims = bim.SpatialReferencing(clevel); 

Cree una máscara del nivel de resolución más grueso siguiendo estos pasos:

  1. Obtenga una imagen de una sola resolución del nivel de resolución más grueso.

  2. Convierta la imagen a escala de grises.

  3. Binarize la imagen. En la imagen binarizada, el objeto de interés es negro y el fondo es blanco.

  4. Tome el complemento de la imagen binarizada. La máscara resultante sigue la convención en la que el objeto de interés es blanco y el fondo es negro.

imcoarse = getFullLevel(bim,clevel); graycoarse = rgb2gray(imcoarse); bwcoarse = imbinarize(graycoarse); mask = imcomplement(bwcoarse); 

Cree una máscara que contenga.bigimage Utilice la misma referencia espacial que la imagen grande original.

bmask = bigimage(mask,'SpatialReferencing',clevelLims); 

Muestre la máscara.

figure bigimageshow(bmask); 

Superponga la máscara en el original .bigimage Para resaltar todos los bloques que contienen al menos un píxel de máscara distinto de cero, especifique un umbral de inclusión de .0

showmask(bshow,bmask,'InclusionThreshold',0); 

Consulte también

|

Introducido en R2019b