Skript zum Vergleichen und Analysieren von beliebig vielen Theremino MCA-Histogr

Begonnen von ABel, 08. September 2023, 11:45

⏪ vorheriges - nächstes ⏩

ABel

Hallo,

anbei ein Octave-Skript zum Vergleichen und Analysieren von beliebig vielen Theremino MCA-Histogrammen.

Die Histogramm-Dateien müssen vor dem Einlesen mit einem Editor bearbeitet werden. Die ersten 13 Zeilen, sowie alle Leerzeilen müssen entfernt werden (Achtung: Die letzte Zeile in der Datei ist eine Leerzeile!).

Es können auch Histogramme des Hintergrundes eingelesen und von den Histogrammen einer Messung abgezogen werden (UseBKG="j" oder UseBKG="n").

Die Namen der Histogramm-Dateien müssen in das Skript eingetragen werden (fileHist=[Liste] und fileBKG=[Liste]).

Das Skript sucht nach Maxima bei 93,3 und 238,63 keV (es lässt sich mit den Parametern B1 und B2 auch auf andere Energieniveaus anpassen). Dazu dienen die Parameter B1Start=90; B1End=103; B2Start=240; B2End=280, die evtl. angepasst werden müssen.

In einem ersten Schritt werden die Histogramme so verschoben, das die B1-Maxima auf einer Linie liegen. In einem zweiten Schritt werden die Histogramme so skaliert, das auch die B2-Maxima auf einer Linie liegen.

Im Anhang ein Archiv mit den Skripten und meinen Beispieldateien.

Gruß Andreas

ABel

Hallo,

nun kann das Skript die originalen Theremino MCA-Dateien einlesen (ein Editieren ist also nicht mehr erforderlich). Mit den Parametern keVStart und keVEnd läßt sich der dargestellte Energie-Bereich etwas breiter machen. Die Ableitungen werden nun geglättet (gefiltert) bevor die Nullstellen ermittelt werden.

Gruß Andreas

ABel

Hallo,

hier noch eine neue Version. Im zip-Archiv stecken auch meine Beispiel-Histogramme. Im Anhang die 6 Plots, die das Programm daraus erzeugt.

Gruß Andreas

Programmbeschreibung:

Octave-Programm Histogram.m

Vergleich von Histogrammen, die von Theremino MCA erzeugt wurden.

Dieses Programm muss mit den Dateien diffq.m (Funktion zur Berechnung von Ableitungen) und ReadFile.m (Funktion zum Einlesen der Histogramm-Dateien) im selben Verzeichnis liegen.

Im selben Verzeichnis müssen auch die zu vergleichenden Histogramme liegen. Da die Dateinamen auch für die Legende der Plots genutzt werden, sollten sie sprechend und nicht zu lang sein. Sollen die Histogramme des Hintergrundes abgezogen werden (UseBKG="j") müssen deren Dateinamen auf *BKG.txt enden. Die Histogramme der Objektmessungen müssen auf *Gst.txt enden.

Mit UseBKG="j" ist darauf zu achten, dass zusammenhängende Histogramme sich im Dateinamen nur durch "Gst" und "BKG" voneinander unterscheiden, sonst würden die falschen Hintergrundmessungen von den Objektmessungen abgezogen. Gibt es mehrere Objektmessungen mit demselben Hintergrund, so müssen die Hintergrunddateien vervielfältigt werden. Jedes Histogramm einer Objektmessung braucht sein eigenes Histogramm der Hintergrundmessung.

Damit die Histogramme auf der x-Achse nicht zu eng werden, können Grenzen für das Energieniveau gesetzt werden.
keVStart=10.0;
keVEnd=2500.0;

Es wird durch eine Nullstellensuche in den Ableitungen (Differenzierung) der Histogramme nach den 2 Maxima B1 und B2 gesucht. Für die Histogramme eines Glühstrumpfes sind das üblicherweise 93,3keV und 238,63keV. Dazu dienen die Parameter
B1Start=90;
B1End=103;
B2Start=240;
B2End=280,
die evtl. angepasst werden müssen. Zur Kontrolle der Parameter dient der Plot ,,Figure3".

In einem ersten Schritt werden die Histogramme so verschoben, das die B1-Maxima auf einer Linie liegen. In einem zweiten Schritt werden die Histogramme so skaliert, das auch die B2-Maxima auf einer Linie liegen.

Autor: Andreas Beldowski <andreas.beldowski@t-online.de>