LabVIEWForum.de
Voronoi in Maske konvertieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Grafik & Sound (/Forum-Grafik-Sound)
+---- Thema: Voronoi in Maske konvertieren (/Thread-Voronoi-in-Maske-konvertieren)



Voronoi in Maske konvertieren - jules - 09.04.2014 09:20

Hallo!

Ich habe ein Intensitätsdiagramm mit 144 Maxima. Dieses wird mit 128 x 128, 256 x 256 oder 512 x 512 Pixel dargestellt. Diese Maxima werden bestimmt und mit Cursor versehen und mit den Cursorpositionen wird dann ein Voronoi berechnet. Hierbei habe ich mich am bereitgestellten Bespiel zur Voronoi-Darstellung orientiert. Die Cursor und das Voronoi befinden sich in einem X,Y-Graph und Bild des Intensitätsgraphen ist als Hintergrundbild passend eingefügt.
Hier beginnt mein Problem:
Im weiteren möchte ich herausfinden, in welchem Feld des Voronois ein Punkt aus einer gegebene Tabelle mit x- und y-Werten, liegt. D.h. ich würde die Felder gern durchnummerieren und diese Zahl dann in der Tabelle hinzufügen. Es handelt sich um 10 Mio. Punkte, die dann zu 144 Voronoi-Felder zugeteilt werden.

Ich habe schon über einige Lösungsansätze nachgedacht und poste hier einfach mal meine Ideen. Vielleicht hilft das weiter, ich konnte damit noch nicht viel anfangen.
Ich habe darüber nachgedacht, die Voronoi Gitterlinien als Maske zu verwenden oder die Fleder als Polygone zu definieren. Man könnte auch die x- und y-Werte der Pixel je nachdem zu welchem Feld sie angehören z.B. in Arrays zusammenfassen oder ein Bereich im X,Y-Graph selbst definieren.

Nochmal was zur Darstellung des Voronois: es sind momentan nur die Kreuzungspunkte definiert und die Anzeige erfolgt mittels Plot -> Interpolation -> linear.

Im Anhang ist die Funktion die das Voronoi aus den Maxima berechnet und der X,Y-Graph in dem das Ganze dargestellt wird.

Ich arbeite mit lv11_img.

Ich hoffe, dass alee nötigen Informationen dabei sind.

Vielen Dank für eure Hilfe!
jules


RE: Voronoi in Maske konvertieren - GerdW - 09.04.2014 09:48

Hallo jules,

könntest du mal ein paar Standardwerte in X3/Y3 hinterlegen?

Edit:
Die sehr langsame Methode dürfte darin bestehen, deine Voronois als Polygon zu sehen und dann mit "Punkt in Polygon?" zu prüfen, in welchem Polygon dein jeweiliger Datenpunkt liegt. Bei 10Mio Punkten und 144 Polygonen könnte dieser Test etwas dauern…


RE: Voronoi in Maske konvertieren - jules - 10.04.2014 08:23

Hallo GerdW!

an die Funktion Punkt in Polygon, habe ich auch schon gedacht, so weit bin ich nur leider nicht gekommen. Smile

Im Anhang ist ein neues VI mit Werten.

Vielen Dank für deine Mühe!


RE: Voronoi in Maske konvertieren - GerdW - 10.04.2014 09:05

Hallo Jules,

ein Voronoi-Diagramm zeigt Regionen an, in denen jeder Punkt näher an seinem Zentrum liegt als an den Zentren der angrenzenden Regionen.

Also reduziert sich dein Vergleich auf eine Abstandsbestimmung, die man am einfachsten mit komplexen Zahlen durchführt:
[attachment=49302]


RE: Voronoi in Maske konvertieren - jules - 10.04.2014 10:05

Hallo GerdW,

vielen Dank für die schnelle und vor allem geniale Lösung! Erfüllt den Zweck und ist total simpel.

Grüße jules