====== DeadTime2 ====== ===== - 概要 ===== 蛍光検出器の数え落とし補正のために必要になる時定数を計算するプログラムです。 あいちSR内では、同じ目的で朝倉君の置土産のプログラムが使われていましたが、 計算過程をほとんど表示しないので計算された数字がおかしいとき、 何がおかしいのか(データなのかプログラムなのか)原因追跡が難しかったので データ表示を追加したバージョンを作成しました。 ===== - ダウンロード ===== - {{ :tabuchi:deadtime2-2022-01-05.zip | DeadTime2.exe }} 2022.1.5 Windows 64bit版、Qt5.14.2 使用 \\ exe ファイルのみ更新します。5/24 版の exe ファイルを置き換えて下さい。計測器の素子数が 1 の時に計算できなかったのを修正しました。 - {{ :tabuchi:deadtime2-pac-win64-qt5_14_2-20210524.zip | DeadTime2 }} 2021.5.24 Windows 64bit版、Qt5.14.2 使用 \\ たった1日で更新です。UI の日本語化と、XafsM2 が生成した以外のデータを使っての時定数計算ができるようにしたのが主な修正点です。 - {{ :tabuchi:deadtime2-pac-qt5_14_2-64bit-20210523.zip | DeadTime2 }} 2021.5.23 Windows 64bit版、Qt5.14.2 使用 ===== - 使い方 ===== ==== - 計算の元になるデータの測定 ==== - 蛍光検出器に入る蛍光X線の強度が変わるように I0 を変化させながら測定を行います。 - I0 の値との関係も必要なので、蛍光X線強度を変化させる時に I0の検出器より下流で光量を変化させないで下さい。\\ 「I0 チャンバと試料の間に金属箔を入れる」、「試料と蛍光X線検出器の間に金属箔を入れる」はどちらもダメです。\\ 「I0 チャンバより上流に金属箔を入れる」、「I0 チャンバより上流のスリットを開閉する」等が正しいやり方です。 - I0 の値、検出器の ICR の値、適当にウインドウを切った SCA の値(あるROIの積分値)を記録して下さい。\\ SCA はどこに ROI を切っていても構いません。\\ XafsM2 を使うなら「記録」は蛍光スペクトルの保存で十分です(I0 等もここに記録された値を使います)。 - I0 の強度を変えつつ、I0、ICR、SCA の記録を繰り返して下さい。\\ 計算の為には最低限 3 点、I0 が異なるデータセットが必要です。\\ できるだけ強い蛍光X線が発生して検出器を強く飽和させているような条件のデータを含んだほうが正確になります。 ==== - DeadTime2 を使用した時定数の計算 ==== - DeadTime2 を起動します。 - 上に並んでいるボタンから「Read File(s)」を押します。 - 現れるファイル選択ダイアログで (XafsM2 が出力した) MCA ファイルを選択して下さい。\\ XafsM2 で記録した MCA ファイル以外を入力データに使うこともできます(後述)。 - ファイルが 3つ以上選ばれると(I0 が違うデータが 3つ以上あると)自動的に時定数が計算されます。 - 必要なら「Read File(s)」を何回も押してファイル(データ点)を加えていくことも可能です。 - 追加される都度新しく時定数が計算されます。 - 必要なデータを全て読み込んだら「Save」を押して結果を保存します。 - 選択した名前のファイルと、その名前に ".conf" という拡張子を追加した名前のファイルの2つのファイルができます。\\ 2つのファイルはフォーマットが違うだけで内容は同じです。 - 別のデータセットに対して計算したい場合は 「Clear」を押すとそれまでに読み込まれていたデータや計算結果がクリアされます。 {{ :tabuchi:deadtime2ui.png?direct&600 |}} ===== - XafsM2 の MCA ファイル以外のデータからの時定数計算 ==== DeadTime2 が元々想定していた入力は XafsM2 が生成する蛍光スペクトルのファイル(MCAファイル)です。 現在のバージョンでは、I0, ICR, SCA の値が書かれた次の様な形式のファイルを読み込んで計算することができます。 # # このファイルは DeadTime2 が読めるファイルフォーマットの例を示すためのものです # comment 先頭が # の行はコメントです(チャンネル数の指定行 "# Channels" を除く) # # Channels : 3 # チャンネル数は 3 (データ行には I0, チャンネル数分のICR, チャンネル数分のSCA が並ぶ) # # Channels の行がない時は、チャンネル数は 1 になります。 # # チャンネル数指定の行は ’# Channels' の様に '# ' が先頭にきます。 # '#'で始まる行と同様に空白行も無視されます 1000 2000 3000 4000 5000 6000 7000 # 行末の # 以降はコメントです。 # チャンネル数を 3 としているので、上記の数字は # 数字は「空白(スペース、tab)」で区切ります。 # 1000 : I0 # 2000, 3000, 4000 : ICR # 5000, 6000, 7000 : SCA # と解釈されます。 # 一行にチャンネル数以上のデータが並んでいても無視されます。 # 一行のデータ数が足りない時はそのチャンネルの値は 0 の扱いになります。 2000 3900 6800 7800 9000 11000 13000 # 区切りの空白は複数連続していても一つ扱いです 3000, 5600, 8100, 11000, 12000, 15000, 18000 # 「,」(カンマ)区切りでも大丈夫です。 4000, 7000, 11000, 15000, 15000, 19000, 22000