09.04.2013, 10:58
Hallo zusammen,
ich stehe vor einem Problem was die Auswertung meiner Daten angeht. Ich habe Bilder mit eine ICCD-Kamera aufgenommen und diese schon als Array (1024 x 1024 Felder) gespeichert. Um Signale vom Untergrund zu unterscheiden, benutze ich die Threshold-Funktion, die ich für jedes Bild neu einstellen muss.
Hierzu gehe ich jede Zeile des Array einzeln durch und alle Werte, die unterhalb der Thresholdgrenze liegen (oder zu wenige Pixel hintereinander auftauchen (z.B. "Hot Spots")) werden mit "0" überschrieben.
Damit will ich ein Array erzeugen in dem ausschließlich Signale auftauchen. Diese sind leider nicht immer perfekt rechteckig und auch nicht an der selben Stelle. Ich möchte sie aber automatisch erkennen und aufsummieren.
Alle meine bisherigen Ideen funktionieren nicht. Einfach das Array Linie für Linie durchsuchen und bei einem Wert ungleich 0 einen Kasten fester Größe ziehen bzw. mit Teil-Array ausschneiden und mit Arrayelemente addieren funktioniert nicht, da meine Signale nicht immer gleich groß sind und so auch schon Intensitäten von Nachbarsignalen erfasst werden können. Außerdem wird das Pixel in der obersten Zeile des Signals gefunden. Wenn das auch die obere linke Ecke des Rechtecks darstellt, werden z.B. kreisförmige Signale beschnitten.
Ein Algorithmus der sobald er ein Signal gefunden hat in einem bestimmten Muster das Signal abläuft, kann ich in LabView leider nicht programmieren, da es eine nahezu unendlich lange Verschachtelung von True/False-Cases ergibt. Oder es funktioniert und ich habe es falsch angegangen
Und wenn ich jeweils Zeilenweise die unter der Signalkurve eingeschlossene Fläche addiere, habe ich keine Ahnung, wie ich mehrere dieser Signalkurven sinnvoll verknüpfen kann, falls die Indizes nicht gleich sind.
tl;dr
Gesucht ist eine Möglichkeit, um geometrisch unförmige Signale eines Arrays aufzusummieren.
Ich hoffe, ihr könnt mir bei meinem Problem helfen.
Viele Grüße
Tobias
ich stehe vor einem Problem was die Auswertung meiner Daten angeht. Ich habe Bilder mit eine ICCD-Kamera aufgenommen und diese schon als Array (1024 x 1024 Felder) gespeichert. Um Signale vom Untergrund zu unterscheiden, benutze ich die Threshold-Funktion, die ich für jedes Bild neu einstellen muss.
Hierzu gehe ich jede Zeile des Array einzeln durch und alle Werte, die unterhalb der Thresholdgrenze liegen (oder zu wenige Pixel hintereinander auftauchen (z.B. "Hot Spots")) werden mit "0" überschrieben.
Damit will ich ein Array erzeugen in dem ausschließlich Signale auftauchen. Diese sind leider nicht immer perfekt rechteckig und auch nicht an der selben Stelle. Ich möchte sie aber automatisch erkennen und aufsummieren.
Alle meine bisherigen Ideen funktionieren nicht. Einfach das Array Linie für Linie durchsuchen und bei einem Wert ungleich 0 einen Kasten fester Größe ziehen bzw. mit Teil-Array ausschneiden und mit Arrayelemente addieren funktioniert nicht, da meine Signale nicht immer gleich groß sind und so auch schon Intensitäten von Nachbarsignalen erfasst werden können. Außerdem wird das Pixel in der obersten Zeile des Signals gefunden. Wenn das auch die obere linke Ecke des Rechtecks darstellt, werden z.B. kreisförmige Signale beschnitten.
Ein Algorithmus der sobald er ein Signal gefunden hat in einem bestimmten Muster das Signal abläuft, kann ich in LabView leider nicht programmieren, da es eine nahezu unendlich lange Verschachtelung von True/False-Cases ergibt. Oder es funktioniert und ich habe es falsch angegangen

Und wenn ich jeweils Zeilenweise die unter der Signalkurve eingeschlossene Fläche addiere, habe ich keine Ahnung, wie ich mehrere dieser Signalkurven sinnvoll verknüpfen kann, falls die Indizes nicht gleich sind.
tl;dr
Gesucht ist eine Möglichkeit, um geometrisch unförmige Signale eines Arrays aufzusummieren.
Ich hoffe, ihr könnt mir bei meinem Problem helfen.
Viele Grüße
Tobias