Posts Tagged ‘ Anpassung ’

Photolumineszenz besser fitten mit fityk

Neulich habe ich bereits erwähnt, dass ich viel lieber fityk  verwende als Origin, weil es einfach einfacher ist.
Man kann die Peaks von Hand da hin setzen wo man meint, dass sie sind. Dadurch passen Höhe, Breite und Position meistens so gut, dass der fit sehr gut wird. Außerdem lassen sich sehr elegant eine ganze menge Spektren gleichzeitig handhaben.

  1. Installieren und zu fittende Daten hineinladen. Wer kein Windows hat macht das am besten mit einer Ubuntu/Mint Virtual Machine, mit cygwin selber kompilieren ist ein Krampf.
  2. Abbruch Kriterien etwas höher setzten. Das geht unter session->settings-fitting->Lev-Mar-> termination criteria
    Dort habe ich „WSSR relative change <1e-20“ und „max value of lambda 1e+20“ gesetzt. Damit das beim neustart so bleibt kann man in „Session-> Edit Init File“ folgende Zeilen einfügen:
    set lm_stop_rel_change = 1e-15, lm_max_lambda = 1e+15
    set fit_replot = 1
  3. Den zu fittenden Datenbereich auswählen. Wenn die Intensität Spektrum links oder rechts nicht auf 0 abfällt, wird der fit nicht gut. Nehmen wir an die Daten gehen von 250 nm bis 660 nm und wir möchten den Bereich von 350 nm untersuchen bis 650 nm. Dann folgendes in die Kommandozeile (Weißes langes Feld da unten)
    @*: A = a and not (0< x and x < 1000)
    @*:A = a or (350 < x and x < 660)
    Das @* bedeutet, dass alle hineingeladenen Spektren mit dem gleichen Befehl behandelt werden sollen
  4. Jetzt kann es nicht schaden schon mal zu speichern (Session->Save Session…) denn bearbeiten Rückgängig geht bei fityk nicht so einfach.
  5. Ein besonders allgemein gültiges Spektrum auswählen und auf „Add Peak Mode“ klicken oder F4 drücken und Peaks platzieren.
  6. Dann erstmal in der leiste oben auf „start fitting“ klicken und das Spektrum hoffentlich zufriedenstellend fitten. Den Knopf ruhig mehrmals drücken.
  7. Wenn die Spektren alle ähnlich aussehen mit dem „Copy F to next dataset“ Knopf den fit auf das nächste Spektrum übertragenuebertrag
    Alternativ kann man mit @13.F=copy(@12.F) den Fit von Datensatz 12 auf Datensatz 13 übertragen.
  8. Erinnerung: Speichern nicht vergessen!
  9. Schließlich kann man entweder bei jedem einzelnen Datensatz auf „start fitting“ drücken oder einfach folgenden Befehl ausführen um alle der Reihe nach zu fitten.
    @*: fit
    Das sollte den Computer für ein paar Minuten beschäftigt halten.
  10. Nachdem wir überprüft haben das keiner der Fits ins Nirvana gelaufen ist, können die Daten auch exportiert werden:
    @*: exec=string.format("info peaks > '/home/MeinName/%s.out' ", F:get_info("title"))
    Die Dateiendung und der Pfad können natürlich nach belieben gewählt werden.