> 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/detections-shapes/shape-analysis/line-geometry.md).

# Line Geometry

Dieser Funktionsblock bietet ein flexibles, vielseitiges Werkzeug für viele Linien- und Geometrieoperationen: Winkel, Abstände, Schnittpunkte, Projektionen, Mittelpunkte, Segmentauszüge und mehr. Er kann numerische Ergebnisse, Punkte, operation­spezifische Zusatzdaten und (optional) ein annotiertes Bild zur Visualisierung liefern.

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

* `Input Image` Optionales Bild, das für Visualisierungs-Overlays verwendet wird (wenn Sie Linien, Punkte oder Konturen gezeichnet haben möchten).
* `Line 1` Für die meisten Operationen erforderlich. Akzeptiert eine Linie beschrieben als \[(x1, y1), (x2, y2)] oder eine kompatible Formeneingabe.
* `Line 2` Für Winkel / Schnittpunkt / einige Distanzoperationen erforderlich. Akzeptiert eine zweite Linie im selben Format.
* `Anchor Point` Optionaler Punkt (x, y), der für Projektionen und Punkt-zu-Linie-Operationen oder wenn eine Kontur zur Formenschnittmenge angegeben wird, verwendet wird.

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

* `Output Image` Annotiertes Bild (falls `Input Image` bereitgestellt und `Show Visualization` aktiviert ist).
* `Result` Numerisches Ergebnis der gewählten Operation (z. B. Winkel in Grad oder Distanz in Pixeln).
* `Point Output` Ein Punkt-Ergebnis, wenn die Operation eine Koordinate liefert (z. B. Schnittpunkt, Projektion, Mittelpunkt).
* `Extra Output` Operation­spezifische Daten (z. B. Segmentendpunkte, Liste von Schnittpunkten oder andere Debug-Infos).

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

* `Operation Type` Wählen Sie die auszuführende Geometrieoperation (z. B. Angle Between Lines, Intersection Point, Segment Extraction, Projection).
* `Offset (px)` Schieberegler, der bei Segment-/Projek­tionsoperationen einen Versatz in Pixeln anwendet.
* `Interpolation Factor` Schieberegler (0–100%) für interpolationsbasierte Operationen (Segmentauszug, Projektion entlang einer Linie).
* `Show Visualization` Kontrollkästchen aktiviert/deaktiviert das Zeichnen des annotierten `Output Image`, wenn ein `Input Image` vorhanden ist.

## 🎯 Hauptmerkmale <a href="#features" id="features"></a>

* Ein einzelner, vielseitiger Block, der viele gängige Geometrieaufgaben abdeckt.
* Kontextabhängiges Verhalten: Nur die Ausgänge, die für die gewählte Operation relevant sind, enthalten sinnvolle Daten.
* Optionale visuelle Overlays: Zeichnen Sie Linien, Mittelpunkte, Schnittpunkte, Projektionen und Segmente direkt auf das bereitgestellte Bild.
* Interaktive Tooltips und Hinweistexte helfen bei der Auswahl der richtigen Eingänge und Parameter für jede Operation.

## ⚙️ Ausführungsablauf <a href="#running-mechanism" id="running-mechanism"></a>

Beim Ausführen liest der Block die verbundenen Anschlüsse und den ausgewählten `Operation Type`. Er führt die gewünschte geometrische Berechnung mit den bereitgestellten `Line 1`, optionalen `Line 2` und optionalen `Anchor Point` durch. Wenn ein `Input Image` verbunden ist und `Show Visualization` aktiviert ist, liefert der Block ein annotiertes Bild in `Output Image`. Numerische und Punkt-Ergebnisse erscheinen auf den entsprechenden Ausgängen, abhängig von der gewählten Operation.

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

1. Wählen Sie die gewünschte Operation in `Operation Type`.
2. Verbinden Sie die erforderlichen Anschlüsse: mindestens `Line 1`. Verbinden Sie `Line 2` oder `Anchor Point`, falls die gewählte Operation diese benötigt.
3. Optional: Stellen Sie ein `Input Image` bereit und aktivieren Sie `Show Visualization`, um ein annotiertes Overlay zu erhalten.
4. Passen Sie `Offset (px)` oder `Interpolation Factor` bei Segmentauszug- oder Projektionsoperationen an.
5. Führen Sie das Szenario aus; prüfen Sie `Result`, `Point Output` und/oder `Extra Output` und betrachten Sie das visuelle Overlay in `Output Image` oder mit einem Anzeige-Block.

## 💡 Tipps und Tricks (Kombination mit anderen Blöcken) <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Um Linien automatisch aus Konturen oder Kanten zu erhalten, kombinieren Sie mit `Find Contour` oder `Line Detector`, um Form-/Liniendaten zu extrahieren und an `Line Geometry` weiterzugeben.
* Zuschneiden eines Bereichs und fokussierte Geometrie mit `Image ROI`, `Image ROI Select` oder `Image ROI Polygon` vor dem Senden des Bildes an diesen Block reduziert Rauschen und verbessert die Ergebnisse.
* Visualisieren Sie Ausgaben in der UI mit `Show Image`, damit Sie annotierte Bilder überprüfen und Punkte/Schnittpunkte interaktiv validieren können.
* Wenn Sie textliche Ergebnisse auf dem annotierten Bild für Berichte oder Dashboards überlagern möchten, fügen Sie nach dem visualisierten Output `Draw Result On Image` hinzu.
* Zum Messen von Abständen zwischen erkannten Merkmalen verwenden Sie `Find Contour` oder `Feature Detector` zur Lokalisierung von Punkten und anschließend `Line Geometry` zur Berechnung von Mittelpunkten, Abständen oder Projektionen. Numerische Punkt-Ausgaben können an `Measure Position Distance` für zusätzliche Distanzanalysen weitergereicht werden.
* Um nur relevante Detektionen vor Geometrie-Berechnungen zu isolieren, verwenden Sie `Image ROI Select` oder `Check Area (Polygon)`, um Positionen und Formen zu filtern.
* Bei Kombination von Detektion und Tracking-Workflows verwenden Sie upstream `Object Detection` oder `Object Detection - Custom` zur Bereitstellung von Koordinaten und nutzen dann `Line Geometry` für Analysen wie Schnittpunktprüfungen oder Annäherungswinkelberechnungen.

Tipp: Verwenden Sie die Blockausgänge wie `Point Output` oder `Extra Output` als Eingänge für andere Verarbeitungsblöcke wie `Measure Position Distance`, `Draw Point` oder Logging/Export-Blöcke.

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

* Wenn `Output Image` leer ist: Stellen Sie sicher, dass ein `Input Image` verbunden ist und `Show Visualization` aktiviert ist.
* Wenn eine Operation keinen Wert in `Result` oder `Point Output` zurückgibt: Prüfen Sie, ob die für diese Operation erforderlichen Anschlüsse verbunden sind (z. B. ist `Line 2` für Winkel-/Schnittpunkt-Operationen erforderlich).
* Wenn Koordinaten falsch erscheinen: Überprüfen Sie das Koordinatenformat und dass Linien als \[(x1, y1), (x2, y2)] bereitgestellt werden. Verwenden Sie Vorschau-Blöcke wie `Show Image` oder `Draw Point`, um Zwischenpunkte zu prüfen.
* Bei Projek­tions- und Interpolations­ergebnissen, die ungenau wirken, justieren Sie `Offset (px)` und `Interpolation Factor`, um Maßstab und Einheiten anzupassen.

Wenn Sie schrittweise visuelle Prüfungen benötigen, kombinieren Sie den Block mit `Show Image` und `Draw Point`, um Zwischengeometrien zu validieren, bevor Sie die Ergebnisse weiterverarbeiten.
