Auto-XAFS CSVファイルの解説

Auto-XAFS は、BL14B2における光学調整、XAFS測定等を、任意の順番で自動的に実行するプログラムです。 実行の手順はあらかじめCSVファイルに記述し、Auto-XAFSのページからアップロードします。 ここでは、CSVファイルに記述する各パラメータの解説を行います。

1. タスク

CSVファイルの各行は、Auto-XAFSの実行手順の各ステップに対応します。 各行は タスク と呼ばれ、以下のタスクが指定可能です。

optics 自動光学調整
layout 測定レイアウト設定
sample 試料搬送ロボット制御
slit スリットサイズ変更
amptune 透過配置におけるカレントアンプ ( I0 および I1 ) ゲイン調整
ssdtune 蛍光配置におけるカレントアンプ ( I0 ) ゲイン、スリット幅、19素子SSD〜試料間距離調整
qxafs Quick XAFS測定

各タスクには、詳細なパラメータが付随します。 パラメータは、 キー = 値 形式で記述されます。 例えば光学調整タスクopticsでは、吸収端とモノクロメータの結晶面を指定しますが、これらは各々、キー edge netplane で指定します。 タスクopticsの完全な記述は次の通りです。

    optics, edge=Fe-K, netplane=111

パラメータ(=コラム)間の区切りはコンマです。 空白文字、タブ、クォート(シングル、ダブル共に)、空白行は無視されます。 また、行の先頭文字が シャープ # の場合、その行はコメントとみなされます。

2. 各タスクの解説

2-1. optics - 自動光学調整

edge 吸収端。 Fe-K Gd-L3 などの形式で指定します。 BL14B2で指定可能な最も低いエネルギーはCa-K、最も高いエネルギーはW-Kです。 netplaneとの組み合わせによっては指定できない吸収端があります (例: Fe-K + 311は指定不可)。
netplane モノクロメータの結晶面。 111 311 が指定可能です。

2-2. layout - 測定レイアウト設定

layout 測定レイアウトを指定します。透過配置 = trans、45°蛍光配置 = dsp が指定可能です。

2-3. sample - 試料搬送ロボット制御

タスク sample は、現在の測定レイアウトに基づき動作モードを選択します。 したがって、事前にタスク layout を指定しなければなりません

no 試料番号。試料は、予め指定された順で搬送ロボットにセットされます。 試料数は最大80個で、 1〜80 で指定します。
mode 試料の位置調整方法を指定します。 auto norecognition manual が指定可能です(manualはローカルでのみ使用可能)。 autoでは、試料の重心位置がX線光軸に一致するよう調整されます。 norecognitionは、位置調整を行いません。 フォイル試料等、充分な面積をもつ試料で指定します。 manualは、ユーザがカメラを見ながら手動で位置調整を行うモードです。
adjust_h 45°蛍光配置のとき、試料のx方向へのオフセット量を指定します。ホール側がです。単位はmmです。45°蛍光配置専用のパラメータです。何も指定しなければ、0mmが採用されます。

2-4. slit - スリットサイズ変更

スリットサイズを指定します。widthheight が指定可能です。

width スリットの横幅。widthは単位がmmで、0.3〜5 mmが指定可能です。何も指定しなければ、現在の値そのままです。
height スリットの縦幅。heightは単位がmmで、0.3〜1 mmが指定可能です。何も指定しなければ、現在の値そのままです。

2-5. amptune - 透過配置におけるカレントアンプ ( I0 および I1 ) ゲイン調整

タスク amptune は透過配置専用です。 したがって、事前にタスク layout で layout=trans を指定しなければなりません

edge (このパラメータと、下記 i0gain、i1gain を同時に指定することはできません)
ゲイン調整を行う吸収端を指定します。 例えば、”Fe-K”と指定した場合、Fe-K端から -50 eVのエネルギー点でゲイン調整を行います。 “Fe-K:20”と指定した場合、Fe-Kの光電子波数 K=20 のエネルギー点で調整を行います。 複数の吸収端を指定する場合、”Fe-K|Co-K|Co-K:20”のようにvertical barで区切ります。 光電子波数 K は 4〜20 が指定可能です。
i0gain (このパラメータと、上記 edge を同時に指定することはできません)
I0のゲイン値を直接指定します。 単位は VpA で、 6〜9 VpAが指定可能です。
i1gain (このパラメータと、上記 edge を同時に指定することはできません)
I1のゲイン値を直接指定します。 単位は VpA で、 6〜9 VpAが指定可能です。
slit_width スリットの幅を直接指定します。 単位は mm で、 0.3〜5 mmが指定可能です。指定しなければ現在の値そのままです。

2-6. ssdtune - 蛍光配置におけるカレントアンプ ( I0 ) ゲイン、スリット幅、19素子SSD〜試料間距離調整

SSD への入射強度 (全蛍光量) が最適となるよう、I0上流のスリット幅、SSDの検出距離を調整します。

タスク ssdtune は45°蛍光配置専用です。 したがって、事前にタスク layout で layout=dsp を指定しなければなりません

2-6-1 自動調整用パラメータ

(このパラメータ群と、下記手動調整用パラメータ群を同時に指定することはできません)

edge 調整を行う吸収端と光電子波数を指定します。 例えば、”Fe-K:20” と指定した場合、Fe-K 端の光電子は数 K=20 のエネルギー点で調整を行います。 複数指定する場合、”Fe-K:20|Co-K:15” のように vertical bar で区切ります。 光電子波数 K は 4〜20 が指定可能です。 光電子波数 K を指定しない場合、 4 が採用されます。
judge_mode スリット幅および検出距離調整の指標を指定します。 max を指定すると、19素子のうち最も検出強度の高い素子を基準に最適化します。 ave を指定すると、19素子すべての平均検出強度を基準に最適化します。 このパラメータが指定されなかった場合、max が採用されます。
adjust_mode スリット幅および検出距離の調整の優先順位を指定します。 detector_priority を指定すると、検出距離を優先的に調整し、スリット幅の調整は極力抑制します。 slit_priority を指定すると、スリット幅を優先的に調整します。 detector_only を指定すると、検出距離のみを調整します。 slit_only を指定すると、スリット幅のみを調整します。 このパラメータが指定されなかった場合、detector_priority が採用されます。
initial_slit_width 調整開始時の、スリット幅の初期値を指定します。 単位は mm で、 0.3〜10.0 mm が指定可能です。 このパラメータが指定されなかった場合、光学調整データベースに登録されたデフォルト値 が採用されます。
initial_detector_x 調整開始時の、検出距離の初期値を指定します。 単位は mm で、 -50.0〜50.0 mm が指定可能です。 このパラメータが指定されなかった場合、光学調整データベースに登録されたデフォルト値 が採用されます。
slit_width_limit_upper 調整時の、スリット幅の上限を指定します。 単位は mm で、 0.3〜5 mm が指定可能です。 このパラメータが指定されなかった場合、光学調整データベースに登録されたデフォルト値 が採用されます。

2-6-2 手動調整用パラメータ

(このパラメータ群と、上記自動調整用パラメータ群を同時に指定することはできません)

i0gain I0 のゲイン値を直接指定します。 単位は VpA で、6〜9 VpA が指定可能です。
slit_width スリット幅を直接指定します。 単位は mm で、 0.5〜10.0 mm が指定可能です。
detector_x 検出距離を直接指定します。 単位は mm で、 -50.0〜50.0 mm が指定可能です。

2-7. qxafs - Quick XAFS測定

タスク qxafs は、現在の測定レイアウトに基づき動作モードを選択します。 したがって、事前にタスク layout を指定しなければなりません

datafile データファイル名を指定します。 シャープ ‘#’、スラッシュ ‘/‘、ダラー ‘$’、アットマーク ‘@’、コロン ‘:’、セミコロン ‘;’を除く文字が使用可能です。 拡張子 .dat を付加する必要があります。
edge 測定する吸収端を指定します。 複数の吸収端を指定する場合、”Fe-K|Co-K”のようにvertical barで区切ります。
preoffset 測定開始するエネルギーを、吸収端からの相対位置で指定します。 単位は eV で、 -500〜-1 eVが指定可能です。 このパラメータが指定されなかった場合は、 -330 eVが採用されます。 複数の吸収端が指定された場合、最も低エネルギー側の吸収端が基準となります。
k 光電子波数。モノクロメータの角度計算に用いられます。 4.0以上 、小数点1桁の精度で指定可能です。。 複数の吸収端が指定された場合、最も高エネルギー側の吸収端の光電子波数とみなされます。 このパラメータが指定されなかった場合は、 20 が採用されます。
dwell Dwell time。 単位は msec です。 10以上 の整数が指定可能です。 モノクロメータのθ軸スピードの計算結果が15 ppsを下回るか、3000 pps以上の場合、エラーとなります。
loops ループ測定回数。 単位は times です。 1以上 の整数が指定可能です。 このパラメータが指定されなかった場合は、 1 timesが採用されます。

3. CSVファイルの記述例

では、以下のストーリーに基いてCSVファイルを記述してみましょう。 測定は透過配置で、試料数はユーザ試料が2、BL14B2の標準試料が4で、内訳は下記の通りとします。 なお、試料に割り振られた番号は、そのまま試料搬送ロボット上で取り扱う試料番号とします。

  1. Fe foil(標準試料)
  2. FeO(標準試料、ペレット)
  3. ユーザFe試料(ペレット)
  4. Co foil(標準試料)
  5. CoO(標準試料、ペレット)
  6. ユーザCo試料(ペレット)

測定手順は次の通りです。

  1. Fe-K、Si(111)で光学調整
  2. 透過測定配置を指定
  3. Fe foil選択
  4. カレントアンプゲイン調整
  5. Fe foil測定
  6. FeO選択
  7. FeO測定
  8. ユーザFe試料選択
  9. カレントアンプゲイン調整
  10. ユーザFe試料測定, 50 msec
  11. Co-K、Si(311)で光学調整
  12. Co foil選択
  13. カレントアンプゲイン調整
  14. Co foil測定
  15. CoO選択
  16. CoO測定
  17. ユーザCo試料選択
  18. カレントアンプゲイン調整
  19. ユーザCo試料測定, K=15, 200 msec, 10 times

BL14B2では、エネルギー分解能の観点から、Si(311)の優先利用を推奨しています。 しかしSi(311)はCo-K以上から使用可能なので、Fe-KではSi(111)を指定しています。 Fe foilとFeO、Co foilとCoOの間でカレントアンプのゲイン調整が指定されていませんが、これは、同じ条件で測定できることが あらかじめ判っているためです。

以上の手順をCSVファイルに書き下したものが以下になります。

     1. optics, edge=Fe-K, netplane=111
     2. layout, layout=trans
     3. sample, no=1, mode=norecognition
     4. amptune, i0gain=8VpA, i1gain=8VpA
     5. qxafs, datafile=Fe-foil.dat, edge=Fe-K, dwell=10msec
     6. sample, no=2, mode=auto
     7. qxafs, datafile=FeO.dat, edge=Fe-K, dwell=10msec
     8. sample, no=3, mode=auto
     9. amptune, edge=Fe-K|Fe-K:20
    10. qxafs, datafile=Fe-user.dat, edge=Fe-K, dwell=50msec
    11. optics, edge=Co-K, netplane=311
    12. sample, no=4, mode=norecognition
    13. amptune, i0gain=8VpA, i1gain=7VpA
    14. qxafs, datafile=Co-foil.dat, edge=Co-K, dwell=10msec
    15. sample, no=5, mode=auto
    16. qxafs, datafile=CoO.dat, edge=Co-K, dwell=10msec
    17. sample, no=6, mode=auto
    18. amptune, edge=Co-K|Co-K:15
    19. qxafs, datafile=Co-user.dat, edge=Co-K, k=15, dwell=200msec, loops=10times

ExcelなどでCSVファイルを出力した場合、最もコラム数の多い行に合わせて、他の行の末尾には空コラムが付加されます。 これは、テキストエディタでみると、行の文字列がコンマで終了しているかたちに見えます。 このような空コラムは無視されます。

タスクsampleにおいて、foil試料の位置調整は”norecognition”を指定しています。 試料は35 mmフィルムマウントに載せますが、試料面積が大きく、試料がマウントの縁に接する場合、重心位置測定が正常に機能しなくなります。 このような資料の場合は、タスクsampleのパラメータmodeは、”norecognition”を指定します。

タスクamptuneでゲインの自動調整を行う場合、パラメータedge = Co-K|Co-K:15などと指定し、プリエッジと測定終点で調整しています。 この設定は多くのケースにおいて有効です。

タスクqxafsでは、注意点が2点あります。 Auto-XAFSは、パラメータdatafileで指定されたデータファイル名が既存である場合、タスクqxafsを実行せず、エラーを出力して処理を中断します。 つまり、CSVファイルの処理は、そのqxafsの行で止まります。 CSV Checkerは、CSVファイルの論理的なチェックを行いますが、実行権限上、 既存ファイルのチェックまでは立ち入ることができません 。 唯一、同じCSVファイル上の各タスクqxafsでのファイル名の重複のみがチェックされます。

2点目は、パラメータdwellです。 dwellは10 msec以上の整数が指定可能ですが、その上限値は、モノクロメータのθ軸スピードで決まります。 θ軸スピードは、モノクロメータの角度帯域とdwellから計算されます。 θ軸スピードが15 ppsを下回ると、モノクロメータの動作が不安定になり、XAFSスペクトルが歪みます。 この場合、Auto-XAFSは、dwellを大きくするよう勧告し、CSV処理を停止します。

逆のケースとして、dwellが小さすぎるためにθ軸スピードの上限値に達することがあります。 例えば、edge=Ti-K、netplane=111におては、dwell=10msecでは θ軸スピードの上限値3000 pps を超える 3247 ppsとなってしまい、 Auto-XAFSはエラーを出力して停止します。 netplane=111では、edge=Cr-K以上のエネルギーでは、θ軸スピードの上限値に達することはありません。

パラメータpreoffsetの標準値は -300 eVですが、測定時間の短縮したい場合や、吸収端の立ち上がり形状に応じて調整することも有ります。