3. データの読み込み

ATHENA は様々な方法でデータを読み込むことができます.数字の列からなるほとんどどんなテキストデータでも読むことができます.いくつかの例外を除いて, ATHENA はデータ読み込みの細かな処理を IFEFFITread_data() というコマンドに任せています. IFEFFIT はファイルの中のどの部分が数字の列のデータでどの部分がそうでないかを認識することができます.以下では, read_data() コマンドがどのようにファイルを認識するか,次に,このコマンドおよび ATHENA のファイル認識機能の制限について説明します.また,データ読み込みの際に, ATHENA により実行可能なデータ操作の種類についても説明します

ATHENA は読み込まれるファイルの形式がいくつかあるうちの1つであることを期待しています."ほとんどの人が ATHENA に読み込もうとするデータは,エネルギー軸と実験中に測定されたスカラー値の列から成り立っているものでしょう.ATHENA のデータ選択画面は生データを μ(E) に変換するために使用されます. ATHENA はこの他にも,列に μ(E) あるいは χ(k) データを含んだものや xmu.dat あるいは chi.dat といった FEFF からの出力ファイルなどを読み込める場合があります.

ATHENA で読み込むことができるデータの例を以下に示します.上から順にヘッダー行,ハイフンだけの行,データ列の項目名を含む行,そしてデータ列を含む行が続いています.

# X15B  project: MT 9/23/04
# original file: STD1.001
# unpacked from original data as a sequence of 4-byte floats
# -----------------------------------------------------------
#   energy           I0          narrow        wide
    2400.0020    60183.3008       38.5000       83.0000
    2401.5088    60241.0508       41.5000       82.0000
    2403.0078    60347.5508       40.0000       83.7500
    2404.5039    60531.0508       42.2500       78.2500
  ... etc ...

この完璧に整ったファイルの例では,ヘッダー行,ハイフンの行,そして列の項目名の行の始めすべてにシャープ(#)が付きます.これにより,IFEFFIT はこれらをヘッダー行として認識することができます.IFEFFIT がヘッダー行を認識することで,ATHENA はデータと一緒にヘッダー行もプロジェクトの中に取り込みます.ハイフンの行の次にデータ列の項目名があるので,ATHENA はこれらの項目名をを列選択ダイアログで利用します.%* のようないくつかの他の記号もヘッダー行のマークと見なされます.

列の数値としては整数,小数 (1.234, -1.234, .1234 あるいは -.1234),指数 (1.23e45 あるいは -1.23E-45) を使うことができます.C 言語で数字として認識できるすべてのものは数字として扱われます.データ列は最下行まで続きます.その後に続くテキストはありません.

データが上記のような形式で記録されていれば,ATHENA によって,ヘッダー,データ列の項目名,およびデータはそれぞれ正しく,記録,表示,解釈されて読み込まれます.但し,ATHENA では,上記の形式とは異なる形式のデータを扱うこともできます.

  • ヘッダー行の最初に # や他の記号が付いていない場合,IFEFFIT はヘッダーやデータ列の項目名を認識できません.但し,データの後にテキストがない限り,列はデータの列として認識され,ATHENA で読み込むことができます.

  • ハイフンの列が無い場合,ヘッダーとデータ列の名称が認識されませんが,データ列は認識されます.

  • ファイルにヘッダーが無ければ,データ列は単にデータとして認識されます.

ATHENA では,データがエネルギーの関数として記録されており,列の1つがエネルギー値を含むことを期待しています.基本的には最初の列をエネルギーの列と見なしますが,列選択ダイアログで変更することもできます.ATHENA におけるエネルギーの標準の単位は eV です.データが keV で記録されている場合,列選択ダイアログのメニューの Energy units から適切な単位を選んで下さい.

データ読み込み時に,以下の操作を行うことができます.

  1. 多素子検出器からのデータをその場で合計することができます.

  2. 多素子検出器からのデータを検出器の各チャンネルごとのデータグループとして読み込むことができます.

  3. データは負の値であっても構いません.すなわち,-1 をかけたり,任意の定数を掛けることができます.

  4. 参照スペクトルも同じファイルから読み込むことができます.

  5. データに対して前処理を行うこともできます.すなわち,データの一部を切り取ったり,グリッチを除去したり,標準に対して整列させたり,パラメータを標準に対して束縛することもできます.

プラグイン機構 を使うと,以下の様な操作もできます.

  1. データを2次元あるいは1次元検出器のピクセル位置の関数として読み込めます.

  2. 波長からエネルギーへの変換.

  3. エンコーダの読み値やモーターステップからエネルギーへの変換.

  4. バイナリデータの変換.

  5. ファイルの測定値を用いた数え落とし補正.

  6. 分子,分母におけるデータ列の足し算だけでない,より複雑な数学的処理.例えば,もし本当に必要ならば If 列を 7 倍したものを I0 列を引数とする正弦関数で割るということができる.

データファイル形式の基準に合っていない場合,例えば,データ列の後にテキストが続いたり,まだサポートされていない処理を行ったりしたい場合には, ATHENA で読み込もうとする前に,何らかの処理が必要になります.

IFEFFIT で読み込みを行う前に,ATHENA がデータの加工を行う例を示します.例として挙げるのは,アメリカにある放射光施設 NSLS のビームライン X10C でのファイル形式です.このビームラインで得たファイルを IFEFFITread_data() コマンドで読み込むことはできません. ATHENA はそのようなファイルでも認識し,読み込む前に必要な処理を行います.他のビームラインで得られたデータでも同様の処理を行うことができます.もし,あなたがビームライン技術者やあるビームラインをよく使う方で,そのビームラインのデータファイル形式が read_data() で読み込めない場合は,ぜひ作者の Bruce まで連絡してください.

最後になりますが,ビームライン技術者やデータ取得ソフトを作成している方には,ユーザーのことを考えてデータファイル形式をデザインしていただけるようお願いしたいと思います.もちろん,ビームラインが ATHENA を利用する必要はありませんし,ましてやユーザーに対して ATHENA をお勧めする必要はありませんが, ATHENA は,XAS コミュニティにおいて,一般的なツールになりつつあります.ATHENA で読み込むことができる形式は,その他の様々な XAS 用ソフトウェア,グラフソフト,表計算ソフト,その他のソフトで読み込むことができます.この形式に従っていただければ,ユーザーにとってもメリットがあると考えています.





DEMETER is copyright © 2009-2016 Bruce Ravel – This document is copyright © 2016 Bruce Ravel

This document is licensed under The Creative Commons Attribution-ShareAlike License.

If DEMETER and this document are useful to you, please consider supporting The Creative Commons.