Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

imsegkmeans3

Segmentación de volúmenes basada en la agrupación K-medias

Descripción

ejemplo

L = imsegkmeans3(V,k) segmenta el volumen V en k grupos realizando una agrupación K-medias y devuelve la salida etiquetada segmentada en L.

[L,centers] = imsegkmeans3(V,k) también devuelve las ubicaciones de los centroides del grupo centers.

L = imsegkmeans3(V,k,Name,Value) utiliza pares nombre-valor para controlar aspectos del algoritmo de la agrupación K-medias.

Ejemplos

contraer todo

Cargue el volumen de una resonancia magnética 3D en escala de grises y muéstrelo utilizando volshow.

load mristack
volshow(mristack);

Segmente el volumen en tres grupos.

L = imsegkmeans3(mristack,3);

Muestre el volumen segmentado utilizando volshow. Para explorar cortes del volumen segmentado, utilice la app Volume Viewer.

figure
volshow(L);

Argumentos de entrada

contraer todo

Volumen que se desea segmentar, especificado como un volumen 3D en escala de grises de tamaño m por n por p o un volumen 3D multiespectral de tamaño m por n por p por c, donde p es el número de planos y c es el número de canales.

Nota

imsegkmeans3 trata las imágenes 2D en color como volúmenes 3D de tamaño m por n por 3. Si desea un comportamiento 2D, utilice la función imsegkmeans.

Tipos de datos: single | int8 | int16 | uint8 | uint16

Número de grupos que se desea crear, especificado como entero positivo.

Argumentos de par nombre-valor

Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos de nombre-valor deben aparecer después de otros argumentos. Sin embargo, el orden de los pares no importa.

En las versiones anteriores a la R2021a, use comas para separar cada nombre y valor, y encierre Name entre comillas.

Ejemplo: 'NumAttempts',5

Normalizar datos de entrada a una media cero y una varianza unitaria, especificado como el par separado por comas que consta de 'NormalizeInput' y un valor numérico o lógico 1 (true) o 0 (false). Si especifica true, imsegkmeans3 normaliza cada canal de la entrada individualmente.

Número de veces que se repetirá el proceso de agrupación utilizando nuevas ubicaciones iniciales de los centroides de los grupos, especificado como el par separado por comas que consta de 'NumAttempts' y un entero positivo.

Número máximo de iteraciones, especificado como el par separado por comas que consta de 'MaxIterations' y un entero positivo.

Umbral de precisión, especificado como el par separado por comas que consta de 'Threshold' y un número positivo. El algoritmo se detiene cuando cada uno de los centros de grupo se mueve menos que el valor del umbral en iteraciones consecutivas.

Argumentos de salida

contraer todo

Matriz de etiquetas, especificada como matriz de enteros positivos. Los píxeles con la etiqueta 1 pertenecen al primer grupo, con la etiqueta 2, al segundo grupo, y así sucesivamente para cada uno de los k grupos. L tiene las mismas tres primeras dimensiones que el volumen V. La clase de L depende del número de grupos.

Clase de LNúmero de grupos
'uint8'k <= 255
'uint16'256 <= k <= 65535
'uint32'65536 <= k <= 2^32-1
'double'2^32 <= k

Ubicaciones de los centroides de los grupos, devueltas como matriz numérica de tamaño k por c, donde k es el número de grupos y c es el número de canales. centers es la misma clase que la imagen I.

Sugerencias

  • La función produce resultados reproducibles. La salida no variará en múltiples ejecuciones dado que los argumentos de entrada son los mismos.

Referencias

[1] Arthur, David, and Sergei Vassilvitskii. “K-Means++: The Advantages of Careful Seeding.” In Proceedings of the Eighteenth Annual ACM-SIAM Symposium on Discrete Algorithms, 1027–35. SODA ’07. USA: Society for Industrial and Applied Mathematics, 2007.

Historial de versiones

Introducido en R2018b

Consulte también

Apps

Funciones