> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/detections-shapes/roi-processing/image-roi-circle.md).

# Image ROI Circle

Este bloque de función te permite crear una única región circular de interés (ROI) editable sobre una imagen. Usa el lienzo interactivo para dibujar, mover y redimensionar el círculo. El bloque devuelve la imagen recortada en forma circular y una forma `Circle` (centro y radio) que puedes pasar a otros bloques.

## 📥 Entradas

`Image`\
Imagen sobre la que se recorta y en la que se edita la superposición del círculo (imagen en escala de grises o a color).

## 📤 Salidas

`Image`\
Imagen recortada que contiene el área circular (el fondo fuera del círculo queda enmascarado).

`Circle`\
Forma circular que describe la ROI seleccionada mediante su centro y radio (útil para bloques que trabajan con geometría).

## 🕹️ Controls

* `ROI Canvas` — Área interactiva donde creas y editas el círculo con el ratón.
* `Create by Drag` — Clic y arrastra en el lienzo para crear un nuevo círculo.
* `Move Center` — Arrastra el centro del círculo para reposicionar la ROI.
* `Resize Radius` — Arrastra el manejador de radio para cambiar el tamaño del círculo.
* `Clear (C)` — Pulsa la tecla C para borrar el círculo actual y empezar de nuevo.

## ⚙️ Running mechanism

* El bloque muestra la imagen proporcionada en el `ROI Canvas` y superpone el círculo actual (si está definido).
* Mientras se ejecuta, el lienzo escucha eventos de arrastre y movimiento del ratón para crear, mover o redimensionar el círculo.
* Una vez existe un círculo válido, el bloque genera la imagen recortada circular (con máscara) y una salida de forma que contiene los valores de centro y radio.
* Si el círculo no está definido o el radio es cero, el bloque devuelve `None` en ambas salidas para que los bloques posteriores puedan manejar la ausencia de una ROI.

## ✨ Features

* Interacción intuitiva de clic y arrastre para crear una ROI.
* Manejadores separados para mover el centro y redimensionar el radio.
* Retroalimentación visual inmediata con superposición coloreada y resaltado de los manejadores.
* Devuelve tanto el recorte enmascarado como la descripción reutilizable de la forma (`Circle`).

## 📝 Usage instructions

1. Conecta un bloque productor de imágenes a la entrada `Image` y ejecuta una vez para que la imagen aparezca en el lienzo.
2. Haz clic y arrastra en el `ROI Canvas` para crear un círculo.
3. Arrastra el centro del círculo para moverlo o arrastra el manejador de radio para redimensionarlo.
4. Pulsa `C` para borrar y volver a dibujar si es necesario.
5. Usa las salidas `Image` y `Circle` para enviar el recorte o la forma a otros bloques.

## 💡 Tips and Tricks

* Previsualiza el recorte seleccionado en una ventana más grande con `Show Image` para inspeccionarlo antes de exportar.
* Si la imagen de origen es grande, usa `Image Resize` antes de este bloque para agilizar la interacción y asegurar que la ROI quepa en el área de trabajo.
* Usa `Apply Mask` para combinar la máscara circular con otras imágenes o superponer el resultado en otro fondo.
* Para seleccionar regiones más complejas o múltiples, considera usar `Image ROI Select` o `Image ROI Polygon Multi` y luego refinar con este ROI circular si hace falta.
* Guarda los recortes capturados directamente con `Image Logger` o `Image Write` para registro o procesamiento posterior.
* Preprocesa entradas ruidosas con `Blur` o `Image Threshold` para que la región visual se alinee mejor con tus flujos de detección o medición.
* Combina la salida `Circle` con bloques de medición o análisis (por ejemplo, análisis de formas o detectores) pasando la forma `Circle` cuando sea compatible.

## 🛠️ Troubleshooting

* No se ve la imagen en el lienzo: asegúrate de que el bloque anterior esté produciendo una imagen y ejecuta la escena una vez para que la imagen se cargue.
* Las salidas son `None`: el centro del círculo o el radio no están definidos, o el radio es efectivamente cero. Vuelve a dibujar el círculo.
* El círculo aparece desplazado o demasiado pequeño: intenta redimensionar la imagen en un bloque anterior con `Image Resize` o vuelve a dibujar el círculo a mayor escala.
* La interacción es lenta o parece no responder: confirma que la imagen se proporcionó al menos una vez y que el lienzo la muestra; vuelve a ejecutar el bloque si es necesario.
