6.2. グループのマーク¶
データを ATHENA に読み込むと,データグループリストに追加されます.リスト中のそれぞれの項目はデータセットの名前を含んでおり,項目名のテキストをクリックすると,その解析パラメータがメインウィンドウに表示されます.それぞれの項目はグループに対して マーク するための小さなチェックボックスを持っています.ATHENA はマークされたグループを元に機能することが多いです.例えば,マークされたグループは紫色のプロットボタンをクリックしたときにプロットされますし,マージはマークされたグループのセットに対して行われ,多くのデータ処理やデータ解析がマークされたグループに対して行われます.
ATHENA では,簡単にマークするためのいくつかのツールを提供しています.下に示すように,Mark メニューにある機能は,キーボードショートカットからも操作することもでき,Alt-a で全てのグループをマークする,Alt-u は全てのグループのマークを外し,Alt-i は全てのグループのチェックを反転します.グループリストの上にある3個のボタンでも,全てチェック,全てのチェックを外す,全てのチェックを反転の操作が可能です.
6.2.1. 正規表現を利用したグループのマーク¶
マークの選択にはより強力で柔軟な使い方ができるツールがあります.Mark メニューの最後には,Mark regexp というツールがあり,これは,Alt-r というショートカットに関連づけられています.
ところで,regex は何か分かりますか?
Regex は 正規表現(regular expression) の省略形で,いくらか形式的な意味で “pattern matching” を指しています.“mark regex” を使うと,ATHENA ウィンドウの下のエコーエリアに文字列を入力するように促されます.このプロンプトは,グループラベル名の変更 の時と同じようなものです.入力された文字列がデータグループリストにあるすべてのグループの名前と比較され,文字列と一致した場合はマークされ,一致しなかった場合はマークが外れます.例えば,数種類のバナジウム標準試料を含むプロジェクトファイルで,データグループリストは,

図 6.8 数種類のバナジウム標準試料のプロジェクトファイルを読み込んだ画面.この正規表現は,数字の “1” で終わるすべての文字列に一致します.よって,拡張子が “.1” になっているすべてのグループがマークされます.
また,この数字はバナジウムの酸化状態を表しています.最後の項目は未知試料ですが,他の5つの試料の線形結合で表現することができます.これらはそれぞれ2回ずつ測定されたので,ラベルに .1
や .2
と示されています.
任意のスペクトルを組み合わせてプロットするには,対応するチェックを付けたり外したりするとよいです.正規表現を使うと,早く簡単に行うことができます.まずは,シンプルな例から紹介しましょう.バナジウム箔のスペクトルだけをマークしたい時は,Alt-r を押し,テキストボックスに foil と入力して下さい.V2O3 と V2O5 だけをチェックしたい時は,Alt-r を押し, V2 と入力して下さい.
実際には,perl の正規表現がすべて利用できます.(詳細は CPAN にある正規表現の文書 を参照して下さい).つまり,文字列の概念的な表現であるシンボル,メタ文字,を使うこともできます.例を紹介しましょう.
V2O3 と VO2 のファイルだけチェックしたい時:
O[23]
.ATHENA は,ラベル名が O の次に 2 か 3 がくるグループをチェックします.各試料の最初の測定だけチェックしたい時:
1$
.メタ文字の$
は単語の終わりを表すので,ラベル名が箔と未知試料だけをチェックしたい時:
foil|unknown
.メタ文字の|
は “or” を意味するので,この正規表現はラベル名に foil あるいは unknown を含むグループに一致します.このプロジェクトファイルの場合は正規表現はもっと短く,[fu]
やf|u
のように入力しても同じ結果が得られるでしょう.
正規表現は応用範囲が広く,興味深い技法ですが,この文章のスコープを超えてしまいます.詳細は Wikipeia の正規表現 の記事を参照してください.Jeffrey Freidl による 正規表現を覚えよう という本もおすすめです.
perl で利用可能な正規表現が,ATHENA でグループにマークする際にも使えます.適切でない正規表現を入力すると,ATHENA はエラーを表示します.正規表現は,特に多数のデータを扱う時に役立ちます.
ご用心
入力された正規表現は,直接 perl の正規表現エンジンを使って処理されます.すなわち,perl の正規表現エンジンの力のすべてを使うことができるということです.もし,(?{ code })
が何を意味しているのか知っていて,よくないことをしたとしても,私は知りません!
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.