Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
ich habe folgendes Problem:
Ein AFM der Firma Nanonis spuckt mir ein Bild im .sxm-Format aus.
Dieses müsste ich nun einlesen, nach Maxima suchen und die betreffenden x-y-Koordinaten ausgeben.
Mein Problem: Wie lese ich denn erst mal diesen Datentyp ein? Und stelle es als Bild da?
Wichtig dabei: Die x- und y-Koordinaten, die das Bild enthält, müssen erhalten bleiben!
Danke Euch!
Fabian
Anzeige
31.12.2011, 14:52 (Dieser Beitrag wurde zuletzt bearbeitet: 31.12.2011 14:57 von GerdW.)
warum fragst du nicht direkt bei Nanonis bzw. Specs nach? Manchmal kann es so einfach sein...
Etwas googlen hat auch noch nie geschadet: hier steht etwas von "open file format" und "Matlab and LabVIEW routines are provided for customized post-data processing."...
Also von der Firma habe ich jetzt ein "read sxm-file", welches mir ein 2D-Array ausspuckt.
Von NI gibts doch ein VI "ArrayToImage", welches ich aber leider nicht habe. Wie bekomme ich das?
Habe gelesen, dass es im Vision Developement dabei ist. Das habe ich aber (2011er Version) schon auf dem Rechner installiert und habe dennoch kein "ArrayToImage"-VI
So, jetzt bins ich doch noch mal.
Ich bekomme nun aus dem sxm-image ein 2D-array, welches ich mit dem VI "arrayToImage" in ein Bild verwandeln möchte.
Funktioniert leider nur sehr schlecht.
Meist ist das Bild einfach komplett schwarz (Die werte sind im Milli- bis Nanometerbereich!!!) oder man erkennt nur unglaublich schwach ein paar Konturen (siehe Anhang).
Könnte mir da jemand einen Tip geben, was ich da tun könnte?
Ich hatte gehofft, dass das ArrayToImage-VI sich Minimal- und Maximalwerte aus dem Array nimmt, und nach ihnen dann Sakliert.
Gibt es da etwas dafür?
Danke Euch!
Fabian
09.01.2012, 15:08 (Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2012 15:09 von GerdW.)
Danke dir!
Jaja, ich stell mich halt manchmal an...
Aber das mit dem "roten Punkt":
Wenn ich irgendeinen anderen, als diesen Eingang verwende, passiert gar nix.
Nur, wenn ich das 2D-float-Array an den "U8"-Eingang lege, kommt das Bild raus.
Grüße
09.01.2012, 15:35 (Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2012 15:35 von GerdW.)
Zitat:wenn ich das 2D-float-Array an den "U8"-Eingang lege, kommt das Bild raus.
Und jetzt überlege mal, was von deinem Bild übrig bleibt, wenn alle DBL-Werte ("Die werte sind im Milli- bis Nanometerbereich!") nach U8 konvertiert werden: roter Punkt = erzwungene Konvertierung!!!
Das ist ja ganz nett, und ich weiß, dass hier einiges runterkonvertiert wird.
Aber dennoch bleibt: Nur dieser U8-Eingang funktioniert. An keinem anderen Eingang erhalte ich ein Bild!!!
Egal, welche Werte ich reingehen lasse (hab es gerade mit anderen 2D-Arrays versucht)!
ich sage ja nicht, dass du eben diesen Eingang nicht benutzen sollst. Du musst nur deine Werte selbst nach U8 konvertieren, um Fehler durch die automatische Konvertierung auszuschließen...