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

# Histogram On Line

Dieser Funktionsblock analysiert Pixelwerte entlang einer einzigen definierten Linie in einem Graustufen- oder Binärbild. Er erkennt zusammenhängende Segmente, in denen die Pixelwerte einen Schwellwert überschreiten, und visualisiert die Linie sowie die gefundenen Segmente im Ausgabe-Bild.

## 📥 Eingänge <a href="#inputs" id="inputs"></a>

`Input Image (Binary Image)` Ein Binär- oder Graustufenbild, das für die Linienanalyse verwendet wird.

## 📤 Ausgänge <a href="#outputs" id="outputs"></a>

`Output Image` Das Quellbild, annotiert mit der gezeichneten Linie und Markierungen für erkannte Peak-Segmente.

`Peak Count` Anzahl der entlang der Linie erkannten Schwellenwert-Segmente.

`Peak Start Locations` Liste der Start-Koordinaten jedes erkannten Segments.

`Peak End Locations` Liste der End-Koordinaten jedes erkannten Segments.

`Peak Mean Locations` Liste der Mittel- (Zentrum-)Koordinaten jedes erkannten Segments.

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

`Relation` Dropdown zur Auswahl der Linienorientierung (vertical oder horizontal).

`Line Location` Schieberegler / Eingabefeld zur Auswahl der Pixelposition der Linie (in Pixeln). Akzeptiert einen einzelnen Wert; wird gegen die Bildgröße validiert.

`Pixel Threshold` Schieberegler / Eingabefeld für den Pixelwert-Schwellwert (0–255), der aktive Segmente bestimmt.

## 🎨 Funktionen <a href="#features" id="features"></a>

* Visuelles Feedback: rote Linie und farbige Marker für Segmentstart, -ende und -mittel.
* Unterstützt vertikale oder horizontale Linien und validiert die Linienposition gegenüber den Bilddimensionen.
* Ignoriert Segmente, die die Bildränder berühren (konfigurierbares internes Verhalten), um Randartefakte zu vermeiden.
* Liefert sowohl visuelle als auch strukturierte Ausgaben zur Weiterverarbeitung.

## 📝 Nutzungshinweise <a href="#usage" id="usage"></a>

1. Geben Sie ein Graustufen- oder Binärbild an den Eingang `Input Image (Binary Image)`.
2. Wählen Sie die Linienorientierung über `Relation`.
3. Setzen Sie die `Line Location` (Pixelindex) innerhalb der Bildgrenzen.
4. Stellen Sie den `Pixel Threshold` zwischen 0 und 255 ein, um die Empfindlichkeit zu steuern.
5. Führen Sie den Block aus, um ein annotiertes Bild und Listen der erkannten Segment-Koordinaten zu erhalten.

## 📊 Bewertung <a href="#evaluation" id="evaluation"></a>

Bei Ausführung sampelt der Block die Pixelwerte entlang der gewählten Linie, findet zusammenhängende Segmente, deren Werte den Schwellwert erreichen oder überschreiten, markiert diese im Ausgabe-Bild und gibt die Anzahl sowie die Koordinatenlisten zurück.

## 💡 Tipps und Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Vorverarbeitung: Verwenden Sie `Blur`, um Rauschen zu reduzieren, und `Image Threshold`, um ein sauberes Binärbild zu erzeugen.
* ROI nutzen: Schneiden Sie mit `Image ROI Select` oder `Image ROI` den Bereich des Interesses aus, damit Linienkoordinaten einfacher und aussagekräftiger sind.
* Interaktive Platzierung: Kombinieren Sie mit `Draw Line`, um die Linie interaktiv zu platzieren, und übertragen Sie dann die Pixelposition in `Line Location`.
* Farbselektion: Nutzen Sie `HSV Filter`, um Farbkanäle oder Merkmale zu isolieren, bevor Sie in Graustufen konvertieren, das kann die Peak-Erkennung verbessern.
* Visuelle Kontrolle: Verbinden Sie das Ausgabe-Bild mit `Show Image`, um eine größere Ansicht zu öffnen und erkannte Segmente zu überprüfen.
* Fehlende Bilder abfangen: Falls Flows leere Bilder produzieren können, nutzen Sie `Is None`, um nachfolgende Logik zu schützen.

## 🛠️ Fehlersuche <a href="#troubleshooting" id="troubleshooting"></a>

* Keine Peaks gefunden: Versuchen Sie, den `Pixel Threshold` zu senken oder Vorverarbeitung mit `Image Threshold` / `Blur` durchzuführen.
* Fehler durch Linienposition: Stellen Sie sicher, dass die `Line Location` innerhalb der Bildbreite (für vertical) bzw. Bildhöhe (für horizontal) liegt. Der Block meldet und klemmt außerhalb liegende Werte gegebenenfalls.
* Viele kleine Segmente: Erhöhen Sie den Schwellwert oder glätten Sie das Bild zuerst mit `Blur`.
