LabVIEWForum.de - Erkennung von dynamischen Referenzlinien

LabVIEWForum.de

Normale Version: Erkennung von dynamischen Referenzlinien
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

Es geht um eine geometrische Vermessung unter Zuhilfenahme von Referenzlinien.

Angehängtes Bild zeigt einen Teil des Datensatzes, dies ist ein Bild von ca. 3000 durchlaufenden Graphen.
Wenn diese Daten durchlaufen, wandern die Werte, der vollständige Graph, (durch nicht ideal zentrierte Messung) auf X und Y Achse. Der Verlauf im grünen Bereich soll vermessen werden.

Um jetzt trotzdem die Geometrie eindeutig messen zu können, dachte ich an dynamische Referenzlinien, die roten Linien, von denen man die Werte bestimmen kann.

Ich habe bisher aber noch keine Funktion gefunden, um diese Linien sauber zu erkennen und für weitere Berechnungen zu verwenden.

Ich hoffe ihr habt da eine IdeeSmile
Vielen Dank im Voraus!
Hallo Rainerr,

herzlich willkommen im Forum!

Zitat:Um jetzt trotzdem die Geometrie eindeutig messen zu können, dachte ich an dynamische Referenzlinien, die roten Linien, von denen man die Werte bestimmen kann.
Ich habe bisher aber noch keine Funktion gefunden, um diese Linien sauber zu erkennen und für weitere Berechnungen zu verwenden.
Wo kommen die "roten Linien" her? Sind das ebenfalls Messwerte? Hast du die Linien generiert und in den Graph gezeichnet?
Gibt es eine Beschreibung/einen Algorithmus, um diese Linien zu definieren?

Anhand des Bildes würde ich vorschlagen:
- X_min/X_max anhand eines (zu definierenden) Algorithmus bestimmen
- damit dann ArraySubset auf die Plotdaten anwenden

Zu diesem Algorithmus:
- Anhand dieses Bildes würde ich evtl. nach dem dX zwischen den einzelnen Punkten des Plots schauen. Am "Anfang" und "Ende" scheint es jeweils kurz ein negatives dX zu geben…
- Es ist immer hilfreich, wenn man Vorkenntnisse (hier über die zu vermessende Geometrie) verwendet. Gibt es "Kanten", die man evtl. erkennen kann?
Hallo Reinerr,

beschreibe Deine Lösung erst einmal mit Worten und dann kannst Du es genauso in Programm umsetzten.

z.B.
Durchlaufe die Punkte der Kurve - bei einem starken Abfall erste Referenzlinie (x) setzen - weiterlaufen bis zum nächsten starken Abfall zweite Referenzlinie (x) setzen - weiterlaufen bis zum dritten Abfall x merken dann zwischen zweiter Ref-x und gemerkten x die Werte mitteln für horizontale Referenz. Dann von vorne für den nächsten Kurventeil.

Das musst Du halt auf deine Bedürfnisse anpassen. (zb. verdrehte x-Achse ...)

Grüße
kpa
Hallo Rainerr,

bitte auch immer selbst auf Crossposts hinweisen!
Niemand macht gern (freiwillige!) Arbeit, die in einem anderen Forum evtl. schon beantwortet wurde…
Vielen Dank für die Antworten.

Zitat:Wo kommen die "roten Linien" her? Sind das ebenfalls Messwerte? Hast du die Linien generiert und in den Graph gezeichnet?
Gibt es eine Beschreibung/einen Algorithmus, um diese Linien zu definieren?
Die Linien und den grünen Bereich habe ich mit PPP eingefügt um euch zu zeigen was ich meine.

Die linke Referenzlinie soll mögichst genau den (annähernd) vertikalen Bereich beschreiben.
Gleiches bei der rechten Referenzlinie.
Dazu kommt dann die (annähernd) horizontale Linie aus dem rechten Bereich.

Die beiden vertikalen Linien sollen nachher die Breite der Geometrie beschreiben.
Die horizontale Referenzlinie soll immer als "Offset" für die Peaks im grünen Bereich dienen.
Soll also als Gerade den grünen Bereich abdecken.
Wichtig ist dabei den Winkel zu beachten,diese könnte allerdings einfach mit y=mx+b beschrieben werden.

Das größere Problem besteht für mich also darin, die beiden vertikalen Linien eindeutig zu erkennen.
Die Horizontale kann über zwei Punkte (aus zwei etwas größeren Bereichen) gebildet werden.

Zitat:Zu diesem Algorithmus:
- Anhand dieses Bildes würde ich evtl. nach dem dX zwischen den einzelnen Punkten des Plots schauen. Am "Anfang" und "Ende" scheint es jeweils kurz ein negatives dX zu geben…
- Es ist immer hilfreich, wenn man Vorkenntnisse (hier über die zu vermessende Geometrie) verwendet. Gibt es "Kanten", die man evtl. erkennen kann?

und

Zitat:Durchlaufe die Punkte der Kurve - bei einem starken Abfall erste Referenzlinie (x) setzen - weiterlaufen bis zum nächsten starken Abfall zweite Referenzlinie (x) setzen - weiterlaufen bis zum dritten Abfall x merken dann zwischen zweiter Ref-x und gemerktem x die Werte mitteln für horizontale Referenz. Dann von vorne für den nächsten Kurventeil.

Da es eine Lasermessung ist, kann man nicht sicher davon ausgehen, dass es ein negatives dX gibt.
Ihr meint in etwas so, dass man durchlaufend über einen Mittelwert von z.B. 5 Punkten ein dY bestimmen könnte, ist dies größer als ein bestimmter Wert, kann man von dem X-Wert der Linie ausgehen.
Dies wäre allerdings auch nur ein Wert.
Die Linie sollte möglichst genau beschrieben werden.
Hallo Rainerr,

Zitat:Ihr meint in etwas so, dass man durchlaufend über einen Mittelwert von z.B. 5 Punkten ein dY bestimmen könnte, ist dies größer als ein bestimmter Wert, kann man von dem X-Wert der Linie ausgehen. Dies wäre allerdings auch nur ein Wert. Die Linie sollte möglichst genau beschrieben werden.
Da es sich anscheinend um XY-Plotdaten handelt, kannst du auch gleich ein dY/dX bestimmen: du hast einen steilen Abfall vor den gewünschten Messdaten und ebenso danach. Außerdem hast du einen Bereich danach mit einem Anstieg um ca. 0…

Wie schon oben geschrieben: du musst erstmal eine Beschreibung liefern, wonach du suchst. Ausgehend davon kann man einen Algorithmus entwickeln…
Referenz-URLs