LabVIEWForum.de
Konvertierung des Outputs von Queuefunktionen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Konvertierung des Outputs von Queuefunktionen (/Thread-Konvertierung-des-Outputs-von-Queuefunktionen)



Konvertierung des Outputs von Queuefunktionen - Herm - 17.06.2011 13:06

Hey,

ich habe mir gerade eine Lossy Queue gebaut (s.Anhang 1) um mehrere 1D-Arrays zu einem 2D Array zusammen zu fassen.
Anschließend möchte ich aus diesem Array spaltenweise die Mittelwerte bilden (s. Anhang 2).
Der Output der Queue ist vom Typ 1-D Array von Cluster aus 1 Element, also ein Array, das als einzigen Eintrag einen Cluster hat, wo wiederum der einzige Eintrag ein Array ist. Ich benötige für die Mittelwertbildung das innerste Array, ich habe es erstmal so gemacht, dass ich das äußerste Array in einen Cluster umwandle, diesen dann aufschlüssle, den augeschlüsselten Cluster ein weiteres mal aufschlüssle und dadurch mein gewünschtes Array erhalte. Gibt es da noch elegantere, als diese doch umständliche Möglichkeit?
...Oh, mir ist gerade aufgefallen, dass das Programm so nicht vor dem Aufschlüsseln nicht funktioniert. Der Sinn dahinter soll eigentlich sein, dass Bilder von einer Kamera ausgelesen werden und je ein Bild in einem 1D-Array wieder gegeben wird. Ich möchte dann mehrere Arrays mit einer Queue zu einem 2D-Array zusammenfassen, sodass immer das älteste raus fällt, sobald ein neues hinzu kommt.

Viele Grüße

Herm


RE: Konvertierung des Outputs von Queuefunktionen - GerdW - 17.06.2011 15:22

Hallo Herm,

Zitat:mehrere Arrays mit einer Queue zu einem 2D-Array zusammenfassen
Nimmt man dafür nicht BuildArray???
Wie soll die Queue das deiner Meinung nach machen?

Zitat:das äußerste Array in einen Cluster umwandle, diesen dann aufschlüssle
Warum nicht IndexArray?

Was machst du da in deinem Histogramm-VI? ich würde das eher so machen:
[attachment=34300]

Dein LossyQueue-VI ist ähnlich sinnvoll:
Du erstellst eine neue Queue und schiebst genau ein 2D-Array hinein. Dann zerstörst du die Queue wieder und lässt dir genau dieses eine 2D-Array in einem Clusterverpackt wieder ausgeben!? Was soll das denn?


RE: Konvertierung des Outputs von Queuefunktionen - Lucki - 18.06.2011 11:09

(17.06.2011 13:06 )Herm schrieb:  ich habe mir gerade eine Lossy Queue gebaut (s.Anhang 1) um mehrere 1D-Arrays zu einem 2D Array zusammen zu fassen.
Mal abgesehen davon, daß der (?) "Anhang 1" (mit 2D-Arrays) nicht zum Text (über 1D-Arrays) passt: Das geht gar nicht.
Wenn man in Queues 1D-Arrays als neue Elemente hinzufügt, dann darf jedes 1D-Array eine andere Arraylänge haben. So etwas läßt sich nicht zu einem 2D-Array zusammenfügen, und die Queue macht das auch nicht. Die Queue hat nicht das Format "2D-Array", sondern das Format ist "1D Array of (Clusters of (1D-Arrays))".


RE: Konvertierung des Outputs von Queuefunktionen - Herm - 24.06.2011 09:15

Zitat:Nimmt man dafür nicht BuildArray???
Wie soll die Queue das deiner Meinung nach machen?

Das geht natürlich auch. Nur bekommt das Programm später die Bilder von einer Kamera, dh. dass ständig neue Arrays hinzugefügt werden. Ich hatte zunächst angenommen, dass die Queue 1d-Arrays zu 2d-Arrays zusammenfügt und immer das älteste 1d-Array entfernt wird. Mit einer BuildArray Funktion müsste ich das ja in eine unendliche Schleife setzten, damit immer die aktuellsten Bilder hinzugefügt werden.

Zitat:Was machst du da in deinem Histogramm-VI? ich würde das eher so machen:

Danke für den Tipp.