# Check Area

This function block lets you draw a rectangular area on an image with the mouse and check whether given position coordinates fall inside that area. Use it to validate detections, filter points by region, or visualize which points lie within a selected ROI.

## 📥 Entradas

`Input Image (Binary Image)` Proporcione la imagen donde se dibujará y mostrará el área. La imagen se usa como referencia para seleccionar y mostrar el ROI.

`Position Coordinate(s)` Proporcione una o varias coordenadas de punto para verificar respecto al área seleccionada. Acepta una sola coordenada (x, y) o una lista de coordenadas.

## 📤 Salidas

`Area Rectangle` El rectángulo que describe el área seleccionada (puntos superior-izquierdo e inferior-derecho). Devuelto en un formato de shape adecuado para otros bloques que aceptan entradas de rectángulo/shape.

`Object In Area` Un valor booleano que indica si alguna de las coordenadas proporcionadas está dentro del área seleccionada.

`Detection Count` El número de coordenadas de entrada que caen dentro del área seleccionada.

## 🕹️ Controles

`Image Display` Haga clic y arrastre en el área de la imagen para dibujar una selección rectangular. La selección se previsualiza en vivo sobre la imagen.

`Selected Rectangle` El rectángulo dibujado se muestra en la imagen y se persiste para que permanezca disponible mientras el escenario se ejecuta.

## ⚙️ Mecanismo de ejecución

* Cuando se conecta una imagen y se ejecuta el escenario, puede arrastrar sobre la imagen mostrada para definir un área rectangular.
* El bloque usa el rectángulo actual para probar cada coordenada proporcionada. Se aceptan tanto una única coordenada como una lista de coordenadas.
* Por cada coordenada encontrada dentro del rectángulo, se dibuja un marcador visual sobre la imagen y se incrementa el contador de detección.
* Si no se ha dibujado ningún rectángulo, el bloque usa la imagen completa como área predeterminada.

## 🎨 Características

* Selección interactiva de ROI con el ratón y vista previa en vivo.
* Acepta coordenadas individuales o múltiples para comprobaciones por lotes.
* Devuelve tanto la forma geométrica como resultados simples booleanos/numericos para facilitar la lógica posterior.
* Persiste el último rectángulo dibujado entre ejecuciones para que no sea necesario redibujar continuamente.
* Retroalimentación visual: el rectángulo seleccionado y los puntos detectados se dibujan en la salida de imagen.

## 📝 Instrucciones de uso

1. Conecte una imagen a la entrada `Input Image (Binary Image)` y ejecute una vez para que la imagen aparezca en el bloque.
2. Haga clic y arrastre sobre la imagen mostrada para dibujar un rectángulo (la selección se previsualizará).
3. Alimente coordenadas en la entrada `Position Coordinate(s)` (punto único o lista). Estas pueden venir de bloques de detección o entradas manuales.
4. Lea las salidas: `Area Rectangle`, `Object In Area` y `Detection Count`. La imagen mostrada enseñará el rectángulo y los marcadores para las coordenadas que estén dentro.

## 💡 Tips and Tricks

* Combine con `Object Detection` o `Object Detection - Custom` para alimentar coordenadas del centro de los objetos detectados en `Position Coordinate(s)` y contar los objetos dentro del área seleccionada.
* Use `Object_Detection_Tracker` para suministrar posiciones rastreadas (con IDs) y así supervisar entradas/salidas del área a lo largo del tiempo.
* Envíe la salida `Area Rectangle` del bloque a `Get ROI` o `Image ROI` para recortar la imagen alrededor del área seleccionada y procesarla de forma enfocada.
* Visualice resultados en una vista más grande enviando la salida de imagen a `Show Image` o registre capturas cuando ocurra una detección con `Image Logger` / `Image Write`.
* Use `Draw Point` o `Draw Rectangle` para crear superposiciones personalizadas basadas en las salidas, o exporte recuentos a registros con `CSV Export` / `Data to JSON` para informes.

## 🛠️ Solución de problemas

* No aparece imagen después de conectar la entrada: ejecute el escenario una vez para poblar la visualización de imagen. El bloque espera una ejecución inicial para cargar los datos de imagen.
* Entrada de coordenadas inválida: asegúrese de que las coordenadas se proporcionen como una tupla/lista de dos enteros o una lista de tales tuplas. El bloque marcará la entrada como inválida y mostrará un error si el formato es incorrecto.
* Selección fuera de los límites de la imagen: el bloque recortará la selección al área de la imagen, pero evite dibujar más allá de la imagen para obtener resultados precisos.
