はじめに説明しておくべきだった事(初級)
はじめに説明しておくべきだった事(初級)
これまで、IGOR Proにおけるデータの作成方法、読み込み方法、簡単な計算、グラフの書き方などについて解説してきた。その一方で、データやグラフ、表などの結果の保存方法およびその概念について詳しく説明していなかった。MatLab, Originなどのソフトを使い慣れた人にとっては、ちょっと戸惑うところもあるようなので、今回は原点に返って基本的な部分を解説する。
■ IGOR Proを使った一日の仕事を終えて、一番手をかけた部分はどこだっただろう?
(1)データを作成もしくは外部テキストを読み込んで苦労して行った解析
(2)既存のデータをうまく人に見せるために工夫を凝らして作ったグラフ
(3)複雑な解析を可能にする巧妙なコード、もしくは解析を迅速化するクールなインターフェイスを有するプログラム
など人それぞれだろう。いずれのケースにしても、File メニューの Save Experiment As … を選べば、データ、プログラム、表、グラフなどのすべての結果が一つのファイルに保存される。Mac と Windows でファイルを共有するつもりなら、拡張子としてファイル名の最後にpxpを付け加えるとよい。(当然だが、上記のように保存しないとすべての結果は消える。次回、IGOR Proを起動したときに続きからはじまるような事はないので注意が必要だ。)
さて、上記のようにSave Experiment で保存すればおおかた事は済むのだが、もう少し詳しくIGORの「保存」に対する概念について解説してみよう。
■以下の命令、
Make/O/D/N=100 aaa=gnoise(1)
をコマンドラインに入力すれば100個のランダム変数をIGORが作成する事は以前に解説した。
グラフを作成するには、
display aaa
をコマンドラインに入力すればよい。
以下の解説のために、
ModifyGraph mode=4,marker=19,msize=2,opaque=1
ModifyGraph fSize=12,ZisZ=1,standoff=0,font=”Times New Roman”
も実行しておいて欲しい。以下のようなグラフが表示されていればオッケーだ。
さて、このグラフ(Graph0: aaa)が不要である場合、ウインドウのクローズボックスをクリックするのだが(どのソフトでも共通)、このとき悩ましいダイアログが出現する。
不要だからウインドウを消去しようしたが、「保存しますか?(1)保存する(2)保存しない(3)ヘルプ(4)キャンセル」とはどういう事か?ヘルプをクリックして理解できる人は以下の解説を読む必要はないが、そうでない人は続きを読んで欲しい。
■グラフマクロ
IGOR Proには、グラフマクロというグラフ描画に関する便利な機能がある。(1)一度描いたグラフは、プログラムとして丸ごと保存でき、次回は再作成しなくても一発で呼び出せる。(また「違うデータ」でも、同じスタイルで別のグラフを新たに作成したい場合には、やはりマクロを作成できるが、これは後日詳しく述べる。)上で述べた「保存しますか?」とは、作成したグラフを「グラフマクロとして保存するか?(グラフマクロのプログラムを作成するか?)」という意味なのだ。不要なグラフの場合、答えは「No」でいいだろう。ここで、このグラフを消去し、質問にもNoと答えたからと言って、aaa という データ(wave)が消去されるわけではない。
■ wave を消去する
作成した aaa という wave をやっぱり消去したい場合にはどうしたらいいだろうか?
答えは Killwavesコマンドだ。
Killwaves aaa
とタイプすれば aaa が消去される。消去されたがどうかは、Data メニューの Data Browserで確認できる。
このブラウザーは、現在のエクスペリメントファイル(pxpパッケージファイル)中に存在するwave, variable, stringを一望できる。
ここで、一つ注意点がある。Killwaves のコマンドは、aaa が使用されていない場合には有効だが、aaa がグラフとして描画されている場合、「使用中のデータは消去できません」というエラーが起こる。
グラフやテーブル(ちなみにFunctionも)に使われていない事を確認してから実行する必要がある。裏技として、Killwaves/Z とタイプするとエラーは表示されないが、使用中のWaveは消去されない。/Zは、プログラミングでは有効なフラッグだ。
■プログラム
IGOR Pro には高度なプログラミング環境が搭載されているが、プログラムを書く場所は、Windows メニューのProcedure Window だ。ウインドウの下の方にあるコンパイルボタンで書いたプログラムがIGOR に認識されるようになる。
通常は自動コンパイルになっているので、Procedure Window を閉じるだけでコンパイルされる。逆に、Procedure Window を閉じてプログラムが消えるという心配は不要だ。
自分の書いたプログラムをサブルーチンとして頻繁に利用し、一つのエクスペリメントファイルだけでなく、どのファイルでもそのプログラムを共有したいたい場合、そのプログラムを別途テキストで保存することも可能だ。IGOR Pro フォルダーのUser Procedure にプログラムを保存すれば、IGOR Proの起動時に読み込む事ができる。利点は、前述のようにどのファイルからでもプログラムにアクセスできることで、欠点は、他の人がファイルを読む場合に、その人のIGOR Proフォルダーにも別途Procedureをインストールしなければならない点だ。後者の場合、単純に一つのエクスペリメントファイルにグラフもデータもプログラムも一緒に入れておくのが得策といえる。
■まとめとして、すべての結果は、Save Experiment コマンドで保存する。Save Experiment は上書き保存、Save Experiment As … はコピーを別名で保存だ。
この環境の中で、
・グラフ、表、レイアウトで不要なものはクローズボックスで閉じる。Macroを作るかの質問は通常は NO
・グラフは消えても、データは消えない。必要があればKillwavesで別途消す
・プログラムは、Procedure Windowで書き、Procedure Windowを閉じても消えない。むしろ、コンパイルされて実行可能な状態になる。