# SortBlobs

La función SortBlobs se utiliza para clasificar los blobs referenciados en una estructura de datos Blobs asociada a un elemento posicionador.

## SortBlobs Descripción general

Al calcular la posición del centro de masas (centroide) del blob de referencia con respecto al sistema de coordenadas del elemento posicionador especificado, la función SortBlobs clasifica los blobs referenciados en función de una de sus características medibles, como la distancia X o Y del blob con respecto al origen de un elemento posicionador o de una cuadrícula, o el ángulo o la distancia angular del blob.

Se examina cada blob referenciado de la estructura de datos Blobs, se identifican los blobs en función de la configuración del parámetro Clasificar por y se determinan sus posiciones midiendo la distancia o posición angular del blob con respecto a un punto fijo.

Una vez la función SortBlobs ha clasificado los blobs referenciados, se insertarán automáticamente una nueva estructura de datos Blobs y la correspondiente tabla de resultados en la hoja de cálculo. En la tabla de resultados, se presentan los blobs por orden descendente de proximidad al elemento posicionador elegido (es decir, el blob más próximo al elemento posicionador es el que se presenta primero, el siguiente blob más cercano se presenta en segundo lugar, etc.).

SortBlobs es una función extremadamente útil en los casos en los que hay múltiples blobs y se requiere determinar la posición de los blobs con respecto a los demás.

## SortBlobs Entradas

Parámetro | Descripción
Blobs | Este parámetro utiliza Referencias de celda que hacen referencia a la celda de la hoja de cálculo que contiene la estructura de datos Blobs a clasificar u ordenar.
Número a clasificar | Especifica el número máximo de blobs (de 1 a 4096; por defecto = 3) que podrá dar la función como resultado. Nota: Si el valor de este parámetro es mayor que cero, la función SortBlobs insertará automáticamente una tabla de resultados que presentará como máximo las 10 entradas que corresponden a los 10 primeros blobs contenidos en la estructura de datos Blobs. Si desea que se visualicen más entradas, puede ampliar la tabla copiando la última fila y pegando adicionalmente la fila tantas veces como desee al final de la table; asegúrese de incrementar el número de índice de la(s) fila(s) recién pegada(s) para que se indexen adecuadamente los blobs.
Clasificar por | Especifica cómo se medirán y clasificarán los blobs referenciados.
0 = Y (por defecto) | Clasificación por distancia en Y en el sistema de coordenadas del elemento posicionador, de menor a mayor.
1 = X | Clasificación por distancia en X en el sistema de coordenadas del elemento posicionador, de menor a mayor.
2 = Ángulo | Clasificación por ángulo (de 0 a 360 grados) medido en sentido antihorario desde el eje Y del sistema de coordenadas del elemento posicionador hasta el segmento de línea definido por el centroide (centro de masas) del blob y el origen del elemento posicionador, de más cercano a más lejano, en orden descendente.
3 = Distancia angular | Clasificación por valor absoluto del ángulo (de -180 a 180 grados) medido desde el eje X del sistema de coordenadas del elemento posicionador hasta el segmento de línea definido por el centroide del blob y el origen del elemento posicionador, de más cercano a más lejano, en orden descendente.
4 = Distancia | Clasificación por distancia entre origen del elemento posicionador y centroide del blob, de más cercano a más lejano, en orden descendente.
5 = Cuadrícula Y | Clasificación por distancia en Y en el sistema de coordenadas del elemento posicionador y seguidamente por distancia en X, de más cercano a más lejano, en orden descendente. Nota: La función SortBlobs da #ERR si se selecciona Cuadrícula Y mientras la función hace referencia a una imagen calibrada en coordenadas mundo, como una proporcionada por las funciones CalibrateImage o TransBlobsToWorld. La opción Cuadrícula Y solo puede aplicarse a coordenadas de píxel.
6 = Cuadrícula X | Clasificación por distancia en X en el sistema de coordenadas del elemento posicionador y seguidamente por distancia en Y, de más cercano a más lejano, en orden descendente. Nota: La función SortBlobs devuelve #ERR si se selecciona Cuadrícula X mientras la función hace referencia a una imagen calibrada en coordenadas mundo, como una proporcionada por las funciones CalibrateImage o TransBlobsToWorld. La opción Cuadrícula X sólo puede aplicarse a coordenadas de píxel.
7 = Anchura | Clasificación por anchura, de mayor a menor.
8 = Altura | Clasificación por altura, de mayor a menor.
Elemento posicionador | Define el centro de masas (centroide) del blob de referencia con respecto al Fixture de entrada o en el sistema de coordenadas de la imagen de salida proporcionada por una herramienta del conjunto Vision Tools. Si se establece que el centro de masas del blob ha de definirse con respecto al elemento posicionador, se asegura que cualquier desplazamiento o rotación del elemento posicionador implicará el correspondiente desplazamiento o rotación del blob con respecto al elemento posicionador. El valor de configuración predeterminado es (0,0,0), la esquina superior izquierda de la imagen.
X | El desplazamiento en X, en coordenadas de la imagen.
Y | El desplazamiento en Y, en coordenadas de la imagen.
Theta | La rotación desde el eje X de la imagen, en el sistema de coordenadas de imagen. (+/-360 grados en el sentido de las agujas del reloj)
Mostrar | Especifica el modo de visualización de las superposiciones gráficas de SortBlobs sobre la imagen.
0 = ocultar todo (por defecto) | Se ocultarán todos los gráficos, excepto cuando la celda que contiene la función SortBlobs está seleccionada en la hoja de cálculo.
1 = solo gráficos de resultados | Se visualizarán en todo momento los contornos de los blobs.

## SortBlobs Salidas

Devuelve | Una estructura de datos Blobs que contiene los blobs ordenados según clasificación o #ERR si alguno de los parámetros de entrada no es válido.
Resultados | Cuando se inserta inicialmente SortBlobs en una celda, se crea una tabla de resultados en la hoja de cálculo. Nota: Si el valor del parámetro Número a clasificares mayor que cero, la función SortBlobs insertará automáticamente una tabla de resultados que presentará como máximo las 10 entradas que corresponden a los 10 primeros blobs contenidos en la estructura de datos Blobs. Si desea que se visualicen más entradas, puede ampliar la tabla copiando la última fila y pegando adicionalmente la fila tantas veces como desee al final de la table; asegúrese de incrementar el número de índice de la(s) fila(s) recién pegada(s) para que se indexen adecuadamente los blobs. Las siguientes funciones Blobs Vision Data Access functions se insertan automáticamente en la hoja de cálculo para crear una tabla de resultados basada en la estructura de datos SortBlobs:
Etiqueta | Función | Descripción
Índice |  | Un índice de blobs
X | GetX(Blobs, Índice de Blob) | Devuelve la coordenada X del centro de masa (centroide) del blob referenciado.
Y | GetY(Blobs, Índice de Blob) | Devuelve la coordenada Y del centro de masa (centroide) del blob referenciado.
Ángulo | GetAngle(Blobs, Índice de Blob) | Devuelve el ángulo del centro de masa del blob referenciado, con respecto al centro de la RDI.
Color | GetColor(Blobs, Índice de Blob) | Devuelve el valor cromático (0 = negro, 1 = blanco) del blob referenciado.
Puntuación | GetScore(Blobs, Índice de Blob) | Una medida del grado de coincidencia del blob con los criterios utilizados por una función FindBlobs.
Área | GetArea(Blobs, Índice de Blob) | Devuelve el área del blob referenciado (medida en píxeles). Nota: Si el blob tiene orificios en su interior, el valor del Área variará en función de si está habilitada o deshabilitada la casilla Rellenar orificios.
Elongación | GetElongation(Blobs, Índice de Blob) | Devuelve un valor que cuantifica cómo se expanden hacia fuera los píxeles del blob referenciado desde el centro de masa (centroide) del blob. Por ejemplo, un círculo tiene una elongación de valor igual a 0, mientras que un clavo tiene un valor de elongación alto.
Orificios | GetHoles(Blobs, Índice de Blob) | Devuelve el número de orificios que contiene el blob referenciado.
Perímetro | GetPerimeter(Blobs, Índice de Blob) | Devuelve la longitud del contorno del blob referenciado; el perímetro se determina contando los lados externos de los píxeles que forman el contorno del blob.
Extensión | GetSpread(Blobs, Índice de Blob) | Devuelve un valor que cuantifica cómo se distribuyen los píxeles del blob referenciado que están más alejados del centro de masa (centroide) del blob. Por ejemplo, un objeto con forma circular tiene un valor de Extensión menor que un objeto con forma ovalada.