LabVIEWForum.de
Iterative Integration für Beam Profiler - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW Vision (/Forum-LabVIEW-Vision)
+---- Thema: Iterative Integration für Beam Profiler (/Thread-Iterative-Integration-fuer-Beam-Profiler)



Iterative Integration für Beam Profiler - TroubleSpell - 24.06.2015 09:56

Hallo liebe LabVIEW-Gemeinde,

da das mein erster Post hier ist, stelle ich mich einmal kurz vor. Ich bin 24 Jahre alt und studiere Physik in Rostock. Momentan beschäftige ich mich mit LabVIEW im Zusammenhang mit meiner Masterarbeit. Ich habe etwas unter 2 Monaten LV Erfahrung und bin dabei ein Laser Beam Profiler zu schreiben. Ein Programm dazu habe ich auch schon fertig gestellt, welches die Strahlparameter über einen Fit bestimmt; allerdings läuft es bei sehr großen Bildern recht langsam. Deshalb habe ich begonnen ein neues Programm zu schreiben, welches nach den Regeln der ISO 11146 läuft.

Nun zu meinem Problem. Ich muss für die vorliegenden Daten iterativ einen geeigneten Integrationsbereich bestimmen. Dieser ist bestimmt als 3 mal dem Strahldurchmesser in x- und y-Richtung ausgehend von dem Schwerpunkt des Strahls (Centroid). Die Berechnung der Parameter funktioniert super. Ich weiß nur nicht, wie ich nach der ersten Berechnung die neuen Größen wieder auf die original Daten anwende. Also die neue Position des Centroids und den Integrationsbereich. Ich hoffe ihr könnte mir hierbei helfen Big Grin

Grüße aus Rostock,
TroubleSpell


RE: Beam Profiler Integration nach ISO 11146 - Trinitatis - 24.06.2015 10:36

(24.06.2015 09:56 )TroubleSpell schrieb:  Ich weiß nur nicht, wie ich nach der ersten Berechnung die neuen Größen wieder auf die original Daten anwende. Also die neue Position des Centroids und den Integrationsbereich.


Hallo TroubleSpell,

endlich mal ein LabViewer aus meiner HeimatBeer

Nun aber zu deinem Problem. So ganz bin ich mir nicht sicher, ob ich dich richtig verstehe. Gemäß deinem Screenshot würde ich glauben, dass du das, was du vorhast schon machst. ShiftRegister sind dafür eigentlich schon das richtige Mittel der Wahl.
Du initialisierst diese mit Startwerten und berechnest in jedem Schleifendurchlauf neue Parameter, die dir dann am Shiftregister im nächsten Durchlauf zur Verfügung stehen - aber das machst du ja schon.


Noch eine Anmerkung:
Du solltest deine Threadnamen etwas cleverer wählen. Ich fürchte, in diesen Thread werden viele nichtmal reinlesen, da sie die Hälfte der Begriffe nichtmal verstehen (zumindest ging es mir so). Zudem ist dein LabView-Problem ja viel profanerer Natur und hat mit den Begrifflichkeiten deiner Betreffzeile nicht viel bis garnichts zu tun.


Gruß, Marko


RE: Iterative Integration für Beam Profiler - TroubleSpell - 24.06.2015 11:11

Danke für die Antwort.

Ich hab den Titel mal noch schnell geändert.

Es könnte wirklich sein, dass ich das doch schon so richtig gelöst habe. Ich habe das Programm noch nicht getestet, weil ja noch eine Abbruchbedingung usw. fehlt. Aber irgendwie hat mir mein Kopf gesagt, dass das so nicht gehen kann ^^

Also, LV würde jetzt immer wieder die neuen Parameter auf das Ausgangsbild (Originaldaten) anwenden, wenn die Schleife so aufgebaut ist?

Ich werde es nachher auch gleich nochmal selber ausprobieren, leider muss ich jetzt erstmal los.

Grüße


RE: Iterative Integration für Beam Profiler - Trinitatis - 24.06.2015 11:16

(24.06.2015 11:11 )TroubleSpell schrieb:  Also, LV würde jetzt immer wieder die neuen Parameter auf das Ausgangsbild (Originaldaten) anwenden, wenn die Schleife so aufgebaut ist?

Dafür sind Shiftregister gedacht. Du kannst auf der linken Seite das SR noch aufziehen und kannst somit auch auf mehrere Vorgänger zugreifen.
Am besten versteht man die Arbeitsweise mit einer Testschleife mit einer Wartezeit von 1-2 s und ein paar Sonden an den SR-Abgängen.


Gruß, Marko


RE: Iterative Integration für Beam Profiler - TroubleSpell - 24.06.2015 13:53

Oh, im Grunde habe ich kein Problem mit den Shift-Registern. Ich wusste nur nicht, wo das Problem liegt.

Mir ist jetzt eingefallen, wo das Problem genau liegt. Wenn ich mir die ROI nehme und von dort die Parameter berechne, dann erhalte ich natürlich nur Koordinaten bezogen auf die ROI und kann diese nicht wieder auf das Original anwenden. Ich muss also lediglich noch eine Transformation in das Koordinatensystem der Originaldaten machen.
Das sollte mit Hilfe eines guten Kaffees und etwas grübeln machbar sein Smile

Danke für eure Hilfe Big Grin . Wenn ich es nachher habe, dann poste ich noch die Lösung.


RE: Iterative Integration für Beam Profiler - TroubleSpell - 26.06.2015 09:57

Da ich nicht editieren kann, hier nochmal extra meine Lösung.
Funktioniert super, solange der Ausgangsstrahl klein genug ist im Vergleich zum Gesamtbild.

Grüße
TroubleSpell


RE: Iterative Integration für Beam Profiler - Trinitatis - 26.06.2015 10:42

Na das sieht doch schon gut aus, wenn es dann auch noch fubnktioniert. Big Grin

Vielleicht noch ein paar Anmerkungen.
Du solltest dich gleich an platzsparendes Programmieren gewöhnen - erfahrungsgemäß wird es schnell eng, wenn man soviel Zwischenraum frei läst. Der Aufräumknopf kann da helfen (Besenbutton)
Außerdem solltest du dich gleich an selbstbestimmte Datenformate gewöhnen und diese nicht von LabView anpassen lassen (sichtbar an den Coercion dots) Da hast du einige von, die sicher vermeidbar sind.
Zudem macht deine Wertabprüfung +-5% nach oben und unten nicht dasselbe! Das mag in diesem Fall unwichtig sein, du solltest das aber wissen. Die Abprüfung nach unten schließt den Grenzwert mit ein, die nach oben nicht. (--> rechte Maus auf Funktion)

Und dann noch ein Tip für deine Sub-VIs, die du kommentiert hast. Ich weiß nicht, ob du das schon gemacht hast, aber man kann in jedem VI selbst die Eigenschaftfen aufrufen (STRG+I) und dort in der Kategorie Dokumentation eine Arbeitsbeschreibung des VIs hinterlegen. Dieser Text wird dann in der Kontexthilfe (STRG+H) angezeigt, wenn die Maus über das VI bewegt wird.


Gruß, Marko