> 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-curve.md).

# Histogram On Curve

Este bloque de función analiza valores de píxel a lo largo de una línea curva detectada en una imagen en escala de grises o binaria. Detecta puntos de la línea, ajusta una curva suave, evalúa los valores de píxel a lo largo de esa curva frente a un umbral y devuelve visualizaciones y resultados numéricos para inspeccionar la calidad de la línea y detectar huecos o picos.

## 📥 Entradas

* `Input Image (Binary Image)`\
  Imagen en escala de grises o binaria para analizar. Se recomienda cuando el contraste entre primer plano y fondo es evidente.
* `Line Location (pixel)`\
  Número de líneas de muestreo a usar al detectar la curva (el bloque muestrea varias líneas rectas y obtiene puntos de curva).
* `Line detection threshold`\
  Umbral de intensidad de píxel usado durante la detección de píxeles de la línea (rango válido 0–255).
* `Pixel Value Threshold`\
  Umbral de intensidad de píxel usado al evaluar valores a lo largo de la curva detectada (rango válido 0–255).

## 📤 Salidas

* `Output Image`\
  Imagen fuente anotada que muestra las líneas muestreadas/curva y los puntos detectados.
* `Plot Image`\
  Visualización en forma de gráfico que muestra perfiles de píxel e información de gradiente usados durante la detección.
* `Curve Image`\
  Visualización de la curva detectada y los valores de píxel a lo largo de ella.
* `Line Angle`\
  Ángulo estimado de la curva ajustada (útil para comprobaciones geométricas).
* `Is Line Valid?`\
  Bandera booleana que indica si la curva detectada pasa las comprobaciones internas de validez (útil para condicionar procesamiento posterior).

## 🕹️ Controles

* `Relation`\
  Desplegable para seleccionar la relación de muestreo de líneas (orientación vertical vs. horizontal). Cambia la forma en que el bloque muestrea líneas durante la detección de la curva.

## ✨ Características

* Detecta puntos de la curva muestreando varias líneas rectas a través de la imagen y ajustando un polinomio suave por esos puntos.
* Genera anotaciones en imagen y diagnósticos en gráficos para verificar la calidad de la detección.
* Comprobación de validez que marca detecciones poco fiables para que los bloques posteriores puedan manejar fallos.
* Umbrales y número de líneas muestreadas ajustables mediante entradas para controlar la sensibilidad.

## 📝 Instrucciones de uso

1. Proporcione una imagen clara en escala de grises o binaria en `Input Image (Binary Image)`.
2. Ajuste `Line Location (pixel)` al número de líneas de muestreo (más líneas → más robusto pero más lento).
3. Ajuste `Line detection threshold` para identificar de forma fiable los píxeles de la línea sobre las líneas muestreadas.
4. Ajuste `Pixel Value Threshold` para marcar regiones de píxel significativas a lo largo de la curva ajustada.
5. Revise `Output Image`, `Plot Image` y `Curve Image` para validar la detección. Use `Is Line Valid?` para decidir si continuar el procesamiento.

## 📊 Evaluación

Al ejecutarse, el bloque:

* Muestra varias líneas rectas a través de la imagen (orientación elegida por `Relation`).
* Detecta píxeles de línea y calcula puntos de la curva.
* Ajusta una curva suave y calcula el ángulo y estadísticas de píxel.
* Devuelve imágenes anotadas, gráficos y banderas de validación para uso posterior.

## 💡 Consejos y trucos

* Preprocese imágenes ruidosas con `Blur` para reducir picos espurios antes de la detección de la curva.
* Use `Image Threshold` para crear una imagen binaria si el contraste de la curva es bajo — suele mejorar la fiabilidad.
* Recorte el área de interés con `Image ROI Select` para que el bloque se centre en la región relevante y evite bordes no deseados.
* Envíe las salidas visuales a `Show Image` para inspeccionar `Output Image` / `Plot Image` / `Curve Image` de forma interactiva mientras ajusta parámetros.
* Para guardar los resultados de análisis, use `Image Logger` o `Image Write` con las imágenes devueltas por este bloque.

(hint: combine bloques de preprocesado como `Blur` y `Image Threshold` aguas arriba, luego alimente este bloque; visualice resultados con `Show Image` y, opcionalmente, archívelos con `Image Logger` o `Image Write`.)

## 🛠️ Solución de problemas

* Si aparece un error sobre detección de línea inválida, aumente el número de líneas muestreadas (`Line Location (pixel)`) o preprocese con `Blur` y `Image Threshold`.
* Si no aparecen picos en los gráficos, reduzca los umbrales o mejore el contraste de `Input Image (Binary Image)`.
* Si la curva detectada está desplazada o es ruidosa, recorte la imagen con `Image ROI Select` para eliminar regiones distractoras y pruebe de nuevo.
