> 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/image-transformations/analysis/histogram-on-line.md).

# Histogram On Line

Este bloque de función analiza los valores de píxeles a lo largo de una única línea definida en una imagen en escala de grises o binaria. Detecta segmentos donde los valores de píxel superan un umbral y visualiza la línea y los segmentos encontrados en una imagen de salida.

## 📥 Entradas <a href="#inputs" id="inputs"></a>

`Input Image (Binary Image)` Una imagen binaria o en escala de grises utilizada para el análisis de la línea.

## 📤 Salidas <a href="#outputs" id="outputs"></a>

`Output Image` La imagen de origen anotada con la línea dibujada y marcadores para los segmentos de pico detectados.

`Peak Count` Número de segmentos detectados que superan el umbral a lo largo de la línea.

`Peak Start Locations` Lista de coordenadas de inicio para cada segmento detectado.

`Peak End Locations` Lista de coordenadas de fin para cada segmento detectado.

`Peak Mean Locations` Lista de coordenadas medias (centro) para cada segmento detectado.

## 🕹️ Controles <a href="#controls" id="controls"></a>

`Relation` Desplegable para elegir la orientación de la línea (vertical u horizontal).

`Line Location` Control tipo slider / entrada para seleccionar la posición de la línea en píxeles. Acepta un único valor; se valida con respecto al tamaño de la imagen.

`Pixel Threshold` Control tipo slider / entrada para el umbral de valor de píxel (0–255) usado para determinar segmentos activos.

## 🎨 Características <a href="#features" id="features"></a>

* Retroalimentación visual con una línea roja y marcadores coloreados que muestran el inicio, fin y posición media de cada segmento.
* Acepta líneas verticales u horizontales y valida la ubicación de la línea según las dimensiones de la imagen.
* Ignora segmentos que tocan los bordes de la imagen (comportamiento configurable internamente) para evitar artefactos en los bordes.
* Devuelve salidas tanto visuales como estructuradas para procesamiento posterior.

## 📝 Instrucciones de uso <a href="#usage" id="usage"></a>

1. Proporcione una imagen en escala de grises o binaria al input `Input Image (Binary Image)`.
2. Elija la orientación de la línea usando `Relation`.
3. Ajuste la `Line Location` (índice de píxel) dentro de los límites de la imagen.
4. Configure el `Pixel Threshold` entre 0 y 255 para controlar la sensibilidad.
5. Ejecute el bloque para obtener la imagen anotada y las listas de coordenadas de los segmentos detectados.

## 📊 Evaluación <a href="#evaluation" id="evaluation"></a>

Al ejecutarse, el bloque muestrea los valores de píxel a lo largo de la línea seleccionada, encuentra segmentos contiguos donde los valores cumplen o superan el umbral, los marca en la imagen de salida y devuelve el recuento y las listas de coordenadas.

## 💡 Consejos y trucos <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Preprocese entradas ruidosas con `Blur` para reducir detecciones espurias y con `Image Threshold` para crear una imagen binaria limpia antes de analizar la línea.
* Use `Image ROI Select` o `Image ROI` para recortar la región de interés y que las coordenadas de la línea sean más simples y significativas.
* Combine con `Draw Line` si desea colocar la línea de forma interactiva en la imagen mostrada y luego copiar la posición de píxel a la entrada `Line Location`.
* Use `HSV Filter` para aislar canales de color o características antes de convertir a escala de grises para una detección de picos más fiable.
* Inspeccione los resultados visualmente conectando la salida de imagen a `Show Image` para abrir un visor más grande y verificar los segmentos detectados.
* Si su flujo puede producir imágenes vacías, considere usar `Is None` para proteger la lógica posterior contra resultados faltantes.

## 🛠️ Solución de problemas <a href="#troubleshooting" id="troubleshooting"></a>

* Si no obtiene picos, intente bajar el valor de `Pixel Threshold` o preprocese con `Image Threshold` / `Blur`.
* Si la posición de la línea causa errores, asegúrese de que la `Line Location` esté dentro del ancho de la imagen (para vertical) o de la altura (para horizontal). El bloque informará y recortará valores fuera de rango.
* Si aparecen muchos segmentos pequeños, aumente el umbral o suavice la imagen primero con `Blur`.
