Guten Tag zusammen!
Ich habe schon einige Zeit nicht mehr mit LV gearbeitet, und nun habe ich bei einer aktuellen Aufgabenstellung meiner Uni einige Probleme.
Ich umreiße die prinzipielle Aufgabe kurz:
In einer riesigen (200mb) Raw-Datei liegen nach einer Messung Intensitätswerte 3-dimensional vor (512~320~320 für z~x~y-Achsen).
Mit ImageJ wurden aus diesem "Bildstack" (32bit-real big-endian) 320 einzelne Dateien (512~320) exportiert als Text-Image.
Diese werden nun jeweils mit meinem LV-Programm (8.5) eingelesen (siehe im Anhang "einlesen"), das Intensitätsmaximum pro Zeile ermittelt, diese dargestellt und ein Polynomfit (z.B. 3. Grad) angepasst, die eingelesenen Daten werden pro Zeile so verschoben, dass das Polynom in einer geraden Linie ist.
Sinn dabei ist, den Abbildungsfehler (Krümmung der Intensitätsmaxima) aufzuheben.
Da dies für 320 Dateien getan werden muss, wird mit LV der Inhalt eines Ordners gelistet und abgearbeitet.
Das funktioniert alles sehr gut soweit
Das Problem kommt nun:
Ich muss diese 320 korrigierten Dateien wieder als ein gesamtes Stack in ImageJ haben, da ich einen individuellen z-Schnitt durch alle Daten brauche.
Leider kann ImageJ normale Text-Images nur einzeln einlesen.
Gebündelt gehen nur Text-Datein oder Sequenzen von Bildern (tiff, png,bmp usw.).
Mit IrfanView kann ich wohl auch binäre Dateien in Bilder umwandeln (auch mehrere auf einmal), so dass ich anschließend ImageJ nutzen könnte.
Ich brauche also die korrigierten Dateien, im Programm als 2d-Array geführt, in schönen binären Dateien oder als Bilder.
Und das scheint nicht zu funktionieren.
Natürlich habe ich die Suche-Funktion schon durch, und nicht nur hier, auch einleitende Hilfs-VI zum Speichern von Binärdaten habe ich betrachtet, das Paket Vision habe ich auch installiert und das Erzeugen von Bilddateien versucht - ich komme trotzdem nicht weiter...
Meine Ideen sind:
- 2D-Array in Binär speichern und dann über weitere Software in ein Bild wandeln (siehe im Anhang "LV_help_bin" und "LV_help_bin2")
- 2D-Array über NI Vision als *.tiff speichern (siehe im Anhang "LV_help_vis")
- aus jedem der 320er Arrays jede Spalte extra speichern und für jede Spalte als neues 2d-Array speichern.
(dies entspricht alle möglichen z-Schnitte... bissel aufwending, da es mit ImageJ individuell geht wenn der Stack erstmal exisiert)
Warum gehen diese Ideen nach den Abbildungen im Anhang nicht?
Die gewonnenen Binärdateien sind unbrauchbar und ich habe das Gefühl bei jeglicher Bildbearbeitung in LV muss man als Ausgangsdatei bereits ein Bild haben, dass dann zerlegt werden kann - oder irre ich mich da?
Hilfreiche Tipps wären (fast) Gold wert für mich, ich hoffe ihr könnt mir helfen...
Das gesamte vi benötigt noch einige subvi's, darum habe ich zunächst nur die Bilder im Anhang.
Falls dies nicht reicht, schiebe ich die vi's nach.
Und im ganzen habe ich 36 von diesen 200mb Raw-Datein, daher ist eine automatisierte Lösung zu bevorzugen
Vielen Dank schonmal im Voraus!
Grüße, Robert
2D_Array_to_Pic.rar (Größe: 698,88 KB / Downloads: 516)
*edit: die .txt-Datei im anhang ist ein unkorrigiertes Textimage