> 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/shape-analysis/choose-line.md).

# Choose Line

Esta función de bloqueo te ayuda a seleccionar una sola línea dentro de un contorno y proporciona información geométrica sobre esa línea. Visualiza el contorno y sus puntos, permite escoger qué segmento medir y exporta la forma de la línea, puntos finales, longitud y ángulo — todo en una interfaz fácil de usar para no programadores.

## 📥 Entradas

`Image Any` La imagen donde se dibujará y mostrará el contorno y la línea seleccionada.

`Contour` El contorno (shape) del que se elige un segmento de línea.

(Estos son los puertos de entrada del bloque.)

## 📤 Salidas

`Generic Image` La imagen con el contorno, puntos y la línea elegida dibujados para confirmación visual.

`Length` La longitud medida del segmento de línea elegido en píxeles.

`Point 1` Coordenadas del primer punto extremo de la línea elegida.

`Point 2` Coordenadas del segundo punto extremo de la línea elegida.

`Angle` Orientación de la línea elegida en grados.

`Line` La línea seleccionada representada como una salida de tipo shape.

(Estos son los puertos de salida que proporciona el bloque.)

## 🕹️ Controles

`Line selection dropdown` Selecciona qué par de puntos consecutivos (línea) dentro del contorno usar.

`Line properties label` Muestra información textual sobre la línea actualmente seleccionada, como puntos finales, longitud y ángulo.

(Estos controles aparecen en la interfaz del bloque y son interactivos.)

## 🎯 Características

* Visualización interactiva del contorno con todos los puntos marcados.
* Menú desplegable simple para elegir un segmento de línea formado por puntos consecutivos del contorno.
* Retroalimentación visual inmediata: contorno, puntos y línea seleccionada se dibujan en la imagen de salida.
* Salidas numéricas para longitud y ángulo para alimentar mediciones a procesos posteriores.
* Produce una salida de tipo shape que representa la línea elegida para bloques posteriores que acepten shapes.

## ⚙️ Cómo se ejecuta

* Cuando se proporciona un `Contour` válido, el bloque lista segmentos de línea seleccionables basados en los puntos del contorno.
* El bloque dibuja el contorno y marca cada punto. Seleccionar una entrada del `Line selection dropdown` resalta el segmento correspondiente.
* El bloque calcula la distancia Euclidiana entre los dos puntos seleccionados y el ángulo de la línea, actualiza la `Line properties label` y devuelve la imagen visual y las salidas numéricas/shape.
* Si no hay contorno presente, el bloque devuelve la imagen de entrada sin cambios y restablece el texto en la etiqueta de propiedades.

## 📝 Cómo usar

1. Proporciona una imagen procesada a `Image Any` (normalmente una imagen donde ya se hayan encontrado contornos).
2. Proporciona el contorno a `Contour` (por ejemplo desde un bloque de detección de contornos).
3. Abre el `Line selection dropdown` y elige el segmento deseado para inspeccionar.
4. Lee las salidas de medición `Length`, `Point 1`, `Point 2` y `Angle` o pasa `Line` a bloques posteriores.

## 💡 Tips y trucos

* Usa el bloque `Find Contour` para suministrar contornos fiables al puerto `Contour`.
* Si necesitas un contorno más simple antes de elegir una línea, prueba `Approximate Contour` para reducir el número de puntos y facilitar la selección.
* Para inspeccionar solo un área recortada, precede este bloque con `Image ROI Select` o `Get ROI` para que el contorno y la línea se midan en la región que importa.
* Para extraer el área de la línea elegida y procesarla posteriormente (por ejemplo para template matching o comprobaciones de histograma), alimenta la salida `Generic Image` a bloques como `Contour to Image` o `Image ROI`.
* Combina con `Draw Line`, `Draw Point` o `Draw Rectangle` si deseas superponer anotaciones adicionales en la imagen de salida antes de presentar o guardar.
* Alimenta salidas numéricas como `Length` y `Angle` a bloques de análisis o registro (por ejemplo `CSV Export` o `Data to JSON`) para registrar resultados de medición.

## 🛠️ Solución de problemas

* Si el desplegable no muestra líneas seleccionables, confirma que el bloque previo proporcionó un contorno válido (el contorno debe contener múltiples puntos).
* Si los índices seleccionados parecen fuera de rango, intenta ejecutar una simplificación de contorno (`Approximate Contour`) o asegúrate de que la imagen de entrada y el contorno correspondan al mismo espacio de coordenadas/recorte.
* Si las mediciones parecen incorrectas, verifica que la imagen utilizada no haya sido redimensionada o rellenada antes en el flujo; si lo fue, utiliza pasos de ROI o resize que alineen las coordenadas.
