Software: GeigerLog kann jetzt auch Gamma-Spektren

Begonnen von ullix, 10. Februar 2025, 12:20

⏪ vorheriges - nächstes ⏩

ullix

Ich habe mein GeigerLog erweitert, so dass es jetzt auch Gamma-Spektren darstellen und auswerten kann. Hier ein Beispiel für ein K-40 Spektrum mit seiner prominenten 1.46081 MeV Linie, die mit gutem Erfolg gefitted wurde.
 
Sie dürfen in diesem Board keine Dateianhänge sehen.

Die Spektren Daten müssen derzeit als CSV file ("Gamma-Energy, Counts") bereitgestellt werden, und können über Menüpunkt "Spectro" eingelesen werden.

Die Spektren können dann manipuliert werden mit Links, Rechts-, und Middle-Maus-Clicks. Zum Zoom-in können die Spektren Links und Rechts geclipped werden mit CONTROL-Left / -Right mouse clicks. Gamma Peaks können gefitted werden (mit Gauss-Kurven). Gamma Linien von einer Reihe von Isotopen können als vertikale Linien eingeblendet werden, nebst Compton-Edges, Single- und Double Escape Peaks.

Was fehlt? Andere Dateiformate - Welche? Weitere Funktionen - Welche? Die Kalibrierung der Multi-Channel-Analyzer Kanäle ist eine unbedingte Erfordernis; ich bin nicht sicher, ob man da universellere Logik erstellen kann?

Noch ist das die erste Version, da geht noch einiges mehr ;-)

Download als pre-release, letzte Version derzeit GeigerLog 1.6.0pre25 von: 
https://sourceforge.net/p/geigerlog/discussion/devel2/


NuclearPhoenix

Coole Software, was die alles kann also Respekt für die Arbeit... :)

Zitat von: ullix am 10. Februar 2025, 12:20Die Spektren Daten müssen derzeit als CSV file ("Gamma-Energy, Counts") bereitgestellt werden, und können über Menüpunkt "Spectro" eingelesen werden.

Was fehlt? Andere Dateiformate - Welche?
Glaube speziell für Gamma-Spektrometrie wären noch XML wie beim Radiacode und das verwandte, neuere JSON Format (Eigenwerbung) sinnvoll. Da kann man einfach viel mehr Information reinpacken, als in ein CSV.

Eine Beschreibung von dem XML Dateiformat habe ich leider nicht, das habe ich damals für meine App zwar reverse-engineered, aber anscheinend nie richtig zusammengeschrieben. Da bist du wahrscheinlich beim BecqMoni ganz gut beraten.

Eine Beschreibung für das JSON-Format mit Beispiel-Dateien gibt's hier, speziell in Python ist das ja besonders einfach zu implementieren: https://github.com/OpenGammaProject/NPES-JSON

ullix

Also, zum einen sind die Spektren-Daten doch eher wenige - 1, 2, 4-tausend Doppelwerte vom Multi-Channel-Analyzer - und zum anderen kann man auch in CSV Dateien viel Extra reinstecken. Ich nutze derzeit Kommentare, à la: "#Calibration, Calib-K40".

Aber wenn es Systeme gibt, die ein besonderes Format nutzen, kommt man nicht umhin, auch dieses zu unterstützen. Auch ich sehe Radiacode's Daten als ein Must-have Format; werde es wohl einbauen müssen. Nur kenne ich es nicht. Kann mir jemand einen Link zu einer Formatbeschreibung von Radiacode geben?

Das NPES-JSON sieht ganz proper aus. Aber gibt es denn überhaupt Geräte, die das Format nutzen?
 

NuclearPhoenix

Zitat von: ullix am 14. Februar 2025, 09:37Ich nutze derzeit Kommentare, à la: "#Calibration, Calib-K40".
Kann man machen, aber so richtig "clean" ist das meiner Meinung wirklich auch nicht. Das Problem bei sowas ist, dass es so viele CSVs gibt von den verschiedensten Herstellern, die alle irgendwie andere Kommentare da reinknallen. Und das ist beim Auslesen, bzw. der Dateikompatibilität ein absoluter Alptraum, weil man einzig und alleine über das Muster der Kommentare oder ein Keyword den "richtigen" Dateityp erkennen kann... heißt ja alles nur CSV. Dann ändert sich eine Kleinigkeit und alles ist hinüber. Aber muss jeder selber wissen.

Zitat von: ullix am 14. Februar 2025, 09:37Das NPES-JSON sieht ganz proper aus. Aber gibt es denn überhaupt Geräte, die das Format nutzen?
IMPULSE nutzt es und ich bei allen meinen Geräten und Programmen. Sonst ist mir derzeit nichts bekannt, aber genau deswegen brauchts auch mehr Software :D

ullix

Aber wenn jeder Hersteller sei eigenes, "besseres", Format macht, ist damit auch nicht wirklich geholfen  :unknw:

Im Augenblick würde ich aber alles akzeptieren - was mir fehlt sind Beispiele echter Spektren. Gerne können Beispiele gepostet werden, z.B. auch hier:
https://sourceforge.net/p/geigerlog/discussion/gammaspectra/thread/779b0193ce/

ullix

Zum Thema Kalibrierung:
Das Bild zeigt ein K-40 Spektrum, vermutlich aufgenommen mit diesem Gerät einer Chinesischen Firma:


Sie dürfen in diesem Board keine Dateianhänge sehen.

In Blau sind die Counts. FWHM @1.46MeV ist 5.9%. In Orange ein Auto-Fit mit Gauss Kurven. Der Peak und die Compton-Kante wird gefunden.

Irritierend für mich ist die Kalibrierung. Die graue Kurve ist die Kanal-Breite (rechte Skala), die also von 1.5 keV auf 3.3keV zunimmt. Die Kalibrierung ist also stark nicht-linear. Ich verwende eine Parabel 3.Ordung mit diesen Parametern: 4.5645E-01, 1.4257E+00, 8.8478E-05, 1.5258E-07

Eigentlich hätte ich eine proportionale Beziehung zwischen Kanal und Energie erwartet, i.e. linear und Offset=0? Ist dieses Gerät eine Besonderheit oder findet man das häufiger?

Gigabecquerel

Das ist vollkommen normal, auch die Größenordnung ist üblich. 
CsI:Tl ist noch einer der lineareren Kristalle, z.B. NaI:Tl ist da viel "Schlimmer".
Die modernen wie LaBr3:Ce werden vorallem unterhalb 100 keV sehr nicht-linear.

Was mich mehr stört sind 6%@1.46 MeV, wenn das Gerät doch bis zu 6%@662 keV kann, das wären dann um die 3% bei K40
Gammaspektroskopie, Proportional- und Halbleiterzähler!

DL3HRT

Zitat von: Gigabecquerel am 19. Februar 2025, 09:48Was mich mehr stört sind 6%@1.46 MeV, wenn das Gerät doch bis zu 6%@662 keV kann, das wären dann um die 3% bei K40

Das abgebildete Gerät ist ein KC761B der irgendwo >7% bei Cs-137 liegt, meist so um die 7,5%. Dennoch erscheinen mir die 6% bei K-40 ebenfalls etwas wenig. Ich muss da selbst einmal messen.

ullix

Die Firma sagt (siehe gelinkte Webseite):

7.5% FWHM resolution @662keV

Sagst Du gerade, dass sich die relative FWHM halbieren sollte bei Verdopplung der Gamma Energie?

Gigabecquerel

Nein, nicht Ganz.
Nach Poisson ist die FWHM proportional zu 1/sqrt(E), damit hat man bei verdopplung der energie eine verbesserung von 1/1.41, nicht ganz 1/2. Von 662 keV zu 1460 keV ist dann entsprechend der faktor 1/1.5.
Ich habe das mit den modellen nicht ganz überblickt, ich dachte die sind alle bei 6.X%... bei 7.5% kommt man dann theoretisch auf 5.0% FWHM, mit einem nicht idealen system (und dem fano-faktor eines scints) kommt man dann auf einen bisschen anderen wert. Aber gut, viel hängt auch davon ab, wie man den peak fitted, es lässt sich argumentieren, dass das noch nicht genug counts sind um sauber ein gauss drüber zu legen.
Die 3% bei 1.46 MeV sind etwas zu gut von mir geschätzt, da hatte ich die zahlen wohl falsch im kopf.
Gammaspektroskopie, Proportional- und Halbleiterzähler!

ullix

Hier läuft etwas schief - Poisson hat mit Energie nichts zu tun! Die Poisson-Verteilung gilt nur für Zählereignisse, und ist gültig NUR für natürliche Zahlen plus der Null, also 0, 1, 2, 3, ...

Sie kann für Countrates - à la Geigerzähler - angewandt werden, und auch für die Countrates in jedem einzelnen Kanal eines Gamma-Spektrometers. Aber nicht für die Energie!

Die Wurzel aus Energie führt zu einer Dimension - denke an E=mc² - von Wurzel aus Masse. Das ist physikalisch unmöglich.

Die Abhängigkeit von FWHM von Gamma Energie in den CsI und Ge Kristallen bleibt ungeklärt.

Gigabecquerel

Selbstverständlich hat das was mit Poisson zu tun! Deine einzelnen Photonen (oder auch Ladungsträger im Ge) kommen Poissonverteilt an, dein CsI macht nicht pro MeV exakt 54000 Photonen, sondern eben nur statistisch!
Die einheit ist hier nicht sqrt(eV), das ist korrekt, sondern sqrt(N), deshalb hab ich auch nur gesagt, dass deine Auflösung proportional zu 1/sqrt(E) ist, und nicht gleich  ;)

Deshalb wird deine Energieauflösung auch besser mit höherer Energie, deine Zählstatistik verbessert sich!

Die Abhängigkeit der FWHM zur Energie in Scints, Halbleitern und Gaszählern ist wohl bekannt.
Gammaspektroskopie, Proportional- und Halbleiterzähler!

ullix

Gut, so kann es passen. Aber ich kenne bisher keine Spektren, die eine Abnahme der rel.FWHM mit der Energie zeigen. Kannst Du Beispiele geben?

Gigabecquerel

Was meinst du mit relativer FWHM?
Jeder Peak hat seine FWHM, und ein höherenergetischer Peak hat immer eine kleinere als ein niederenergetischer
Gammaspektroskopie, Proportional- und Halbleiterzähler!

ullix

FWHM [keV] / Peak-Energy [keV], ausgedrückt als %. Zwei Werte liegen mir vor:

meine Daten: K-40:   Peak-Energy: 1460 keV FWHM: 86 keV --> 5.9%
Web-Specs:   Cs-137: Peak-Energy:  662 keV FWHM:            7.5% --> FWHM: 50keV