# InspectEdgePosition

Die InspectEdgePosition-Funktion wird zum Konstruieren eines Kantenmodells für die Ausführung erweiterter Kantenanalysen an den durch eine InspectEdge-Funktion zurückgegebenen Kanten verwendet. Diese Daten werden zur Bestimmung der Positionen der Kanten und zur Ermittlung der Ausreißer verwendet, während mit ihrer Hilfe optional auch eine Linienanpassung erstellt werden kann.

## InspectEdgePosition – Übersicht

Nach Einfügen der Funktion in die Tabelle muss eine Referenz auf eine durch eine InspectEdge-Funktion ausgegebene Inspect-Datenstruktur hergestellt werden. Nachdem die Referenz auf die InspectEdge-Funktion eingerichtet wurde, wird das Kantenmodell durch Konfigurieren der Parameter der InspectEdgePosition-Funktion erstellt. Das Kantenmodell umfasst die folgenden Definitionen:

- Der Typ der Linienanpassung - gerade oder kreisförmig.
- Die Richtung, in welche nach den Kanten gesucht werden soll.
- Der Typ des Kantenübergangs - weiß nach schwarz oder umgekehrt.
- Die Kantengüte-Kriterien, die zum Herausfiltern von nicht gewollten Kanten benutzt werden sollen.
- Die Kriterien für die Linienanpassung, die zum Herausfiltern von nicht gewollten Kanten aus der Linienanpassung verwendet werden sollen.

Nachdem das Kantenmodell eingerichtet wurde, wird die Funktion die Kantenkandidaten mit dem Kantenmodell vergleichen und Abweichungen vom Modell berichten.

## InspectEdgePosition – Eingaben

Parameter | Beschreibung
InspectEdge | Gibt einen Verweis auf eine Tabellenzelle an, die eine gültige Inspect-Datenstruktur enthält, die von einer InspectEdge-Funktion zurückgegeben wird.
An Linie anpassen | Gibt die Art der Linienanpassung (falls vorhanden) für die erkannten Kanten an.
0 = Keine | Die Funktion wird keine Linienanpassung erstellen. Die Position der gefundenen Kanten wird relativ zum Mittelpunkt des Inspektionsbereichs (ROI) gemessen.
1 = An gerade Linie anpassen | Die Position der gefundenen Kanten wird relativ zur angepassten Linie gemessen.
2 = An Kreislinie anpassen | Die Funktion wird aus den erfassten Kanten eine kreisförmige Linienanpassung erstellen.
3 = Automatisch anpassen (Standard) | Die Funktion erstellt automatisch entweder eine gerade oder kreisförmige Linienanpassung, abhängig vom referenzierten Bereich.
4 = Bereich | Die Funktion wird keine Linienanpassung erstellen. Die Position der gefundenen Kanten wird relativ zum Mittelpunkt des Inspektionsbereichs (ROI) gemessen.
Kantenrichtung suchen | Gibt die Richtung an, in der die Funktion versuchen soll, Kanten zu erkennen. Dunkelgrüne Pfeile werden hinzugefügt, um die Suchrichtung, in der nach Kanten gesucht wird, grafisch zu illustrieren. Linienanpassungen werden im Bild grafisch gekennzeichnet, die erste Linienanpassung mit 0 und die zweite mit 1. Hinweis: Wenn der Inspektionsbereich (ROI) der referenzierten Funktion InspectEdge in eine Kurve gebogen wird, erfolgt die Inspektion relativ zum Mittelpunkt der Kurve. Wenn der Parameter Kantenrichtung suchen auf Links nach rechts eingestellt ist, wird die Inspektion in Richtung Mittelpunkt der Kurve, und wenn er auf Rechts nach links eingestellt ist, vom Mittelpunkt der Kurve nach außen durchgeführt.
0 = Links nach rechts (Standard) | Die Funktion wird versuchen, von links nach rechts im ROI Kanten zu erkennen. Beispiel
1 = Rechts nach links | Die Funktion wird versuchen, von rechts nach links im ROI Kanten zu erkennen. Beispiel
Kante: Erste | Legt den Kontrastübergang der ersten zu erfassenden Kante an, wie er durch den Parameter Kantenrichtung suchen bestimmt wurde.
1 = Schwarz -> Weiß | Die Kantenübergänge von schwarzen nach weißen Pixeln.
2 = Weiß -> Schwarz (Standard) | Die Kantenübergänge von weißen nach schwarzen Pixeln.
3 = Beide | Die Kante kann von entweder von schwarz nach weiß oder von weiß nach schwarz übergehen, und die Funktion wird den richtigen Übergang bestimmen. Wenn man die Richtung des Übergangs angibt, arbeitet die Funktion schneller.
Kantengüte | Legt den Kantenbewertungsmodus fest, der zur Bestimmung dessen verwendet werden soll, ob eine Kante den geltenden Kriterien entspricht oder nicht.
Schwellenwert für Güte | Legt eine Gütegrenze fest, um Kanten mit Güten (1 bis 100; Standard = 10), die unter diesem Wert liegen, herauszufiltern.
Kantenregeln | Gibt die wichtigste Kantenart für das Berechnen der Güte an.
1 = Erste (Standard) | Legt fest, dass die erste erkannte Kante am meisten berücksichtigt werden soll.
2 = Stärkste | Legt fest, dass die Kante mit dem stärksten Übergang am meisten berücksichtigt werden soll.
3 = Erste Stärkste (Standard) | Legt fest, dass die erste erkannte Kante mit dem stärksten Übergang am meisten berücksichtigt werden soll.
Kontrastobergrenze | Gibt die obere Grenze des Kanten-Kontrastüberganges an (2 bis 255; Standard = 255), damit die Kante als Kante erkannt wird. Kanten mit einem Kanten-Kontrastübergang über diesem Wert werden die gleiche höchste Güte haben.
An Linie anpassen (erweitert) | Bestimmt, wie die Funktion die angepasste Linie konstruieren soll.
Ausreißer filtern | Legt fest, dass die Funktion die Punkte, deren Abstand größer ist als der im Parameter Abstandfilter anpassen angegebene Wert, von der angepassten Linie Fit wegnehmen soll.
0 = AUS (Standard) | Die Funktion wird keine Ausreißer berücksichtigen.
1 = EIN | Die Funktion wird Ausreißer in ihren Berechnungen berücksichtigen.
Abstandfilter anpassen | Legt den Abstand in Pixel fest (gültige Bereiche sind das 1 bis 3-fache der Bildbreite des In-Sight Vision-Systems; Standard = 2), den eine Kante von der ursprünglichen angepassten Linie haben muss, um in einer erneuten Anpassungsberechnung verwendet zu werden. Diese Einstellung kann zum Verhindern von Fehlern nützlich sein, die die Linienanpassung stören können. Ausreißer filtern muss auf Ein gestellt sein, damit diese Einstellung aktiviert wird.
Höchster Punktfilterabstand | Legt den Abstand fest, den ein Ausreißer von der angepassten Linie haben kann, um noch ein Teil der Linienanpassung zu sein (gültige Bereiche sind das 1 bis 3-fache der Bildbreite des In-Sight Vision-Systems; Standard ist das 3-fache der Bildbreite des Vision-Systems). Kanten über diesem Wert werden ignoriert.
Erneut auswerten | Legt fest, dass die Kanten neu bewertet werden sollen, um Kanten, die der Linienanpassung näher liegen, für die Linienanpassung auszusuchen.
0 = AUS (Standard) | Die Funktion wird für die Berücksichtigung der Ausreißer die Kanten nicht neu auswerten.
1 = EIN | Die Funktion wird die Kanten für die Einbeziehung von Ausreißern in ihren Berechnungen erneut auswerten.
Erneut anpassen | Gibt an, dass die Funktion die Linienanpassung neu anpassen soll, nachdem die Kanten neu bewertet wurden. Das Aktivieren dieser Funktionalität erhöht die Genauigkeit der Linienanpassung, aber erhöht auch die Verarbeitungszeit.
0 = AUS (Standard) | Die Funktion wird nicht versuchen, eine neue Linienanpassung zu erstellen.
1 = EIN | Die Funktion wird die angepasste Linie neu anpassen, nachdem die Kanten neu bewertet wurden.
Caliper-Index | Gibt an, welcher Caliper (in grün gekennzeichnet) im Bild angezeigt werden soll. Im Standardfall wird Caliper 0 angezeigt.
Anzeigen | Legt den Anzeigemodus für die Überlagerung von InspectEdgePosition-Grafiken auf dem Bild fest.
0 = Alle ausblenden (Standard) | Alle Grafiken werden nur angezeigt, wenn die Zelle mit der InspectEdgePosition-Funktion in der Tabelle markiert ist.
1 = Nur Ergebnis-Grafik | Linienanpassung, erkannte Fehler, Ausreißerpunkte und/oder Zwischenräume werden immer angezeigt.
2 = Ergebnis-Grafiken und Caliper-Detail | Linienanpassung, erkannte Fehler, Ausreißerpunkte und/oder Zwischenräume, erkannte Kantenpunkte und das indizierte Caliper-Fenster werden immer angezeigt.
3 = alle anzeigen: Eingabe- und Ergebnis-Grafik | Eingabebereich, Linienanpassung, erkannte Fehler, Ausreißerpunkte und/oder Zwischenräume sowie erkannte Kantenpunkte werden immer angezeigt.

## InspectEdgePosition – Ausgaben

Rückgabewert | Eine Inspect-Datenstruktur mit den übereinstimmenden Kanten, sortiert nach Güte, oder #ERR, wenn einer der Eingabeparameter ungültig ist.
Ergebnisse | Wenn InspectEdgePosition erstmals in eine Zelle eingefügt wird, wird mit den folgenden InspectEdge Vision Data Access functions die Ergebnistabelle der InspectEdgePosition-Datenstruktur erstellt, die in zwei Abschnitte unterteilt ist: „Am weitesten entfernte Punkte“ und „An gerade Linie anpassen“:
Name in der Tabelle | Name der Funktion | Beschreibung
Am weitesten entfernte Punkte
Punkt 1/Punkt 2 | GetExtremePosPoints(Inspect, Seite) | Gibt den Index des Calipers zurück, dessen Kante auf beiden Seiten am weitesten von der Linienanpassung entfernt ist (nah = 0 und fern = 1), oder, wenn die Linienanpassung auf „Keine“ eingestellt ist, werden die Punkte zurückgegeben, die einer der Kanten des Bereichs am nächsten liegen.
X | GetEdgePosX(Inspect, Caliperindex, Kantenindex) | Gibt die x-Koordinate der Kantenindexposition des angegebenen Calipers zurück (Punkt 1).
Y | GetEdgePosY(Inspect, Caliperindex, Kantenindex) | Gibt die y-Koordinate der Kantenindexposition des angegebenen Calipers zurück (Punkt 2).
An gerade Linie anpassen
X0 / Y1 | GetFitEdgePosX (Inspect, Punktindex) | Gibt die x-Koordinate des angegebenen Punkts der Linienanpassung zurück.
Y0 / Y1 | GetFitEdgePosY (Inspect, Punktindex) | Gibt die y-Koordinate des angegebenen Punkts der Linienanpassung zurück.
Mittelpunkt X | GetFitEdgePosCenterX (Inspect, Punktindex) | Wird eingefügt, wenn eine Kreislinienanpassung angegeben ist, und gibt die x-Koordinate des Mittelpunkts der Kreislinienanpassung zurück.
Mittelpunkt Y | GetFitEdgePosCenterY(Inspect, Punktindex) | Wird eingefügt, wenn eine Kreislinienanpassung angegeben ist, und gibt die y-Koordinate des Mittelpunkts der Kreislinienanpassung zurück.
Radius | GetFitEdgePosRadius(Inspect, Punktindex) | Wird eingefügt, wenn eine Kreislinienanpassung angegeben ist, und gibt den Abstand von der Mitte der Kreislinienanpassung zurück.
Alle Formeln der InspectEdgePosition-Funktion entsprechen den folgenden Richtlinien: Hinweis: Inspect = Eine Inspect-Datenstruktur, die von einer InspectEdgePosition-Funktion ausgegeben wird Caliper-Index = 0 bis N (die Gesamtzahl der Caliper stimmt mit der Anzahl der durch die InspectEdge-Funktion ausgegebenen Caliper, welche die InspectEdgeForDefect-Funktion referenziert, überein) Kantenpaarindex = 0 oder 1 Kantenindex = 0 bis N Punktindex = 0 bis 1 (0 = Start und 1 = Ende)