IGOR講座

 

基礎知識編

(0)Igorとは

Igor®は、Wavemetrics社の販売している、数値解析専門ソフトです。

大量の数値データを軽く解析するのに適したソフトです。シミュレーションよりも解析に適しています。(私は、解析はIgorで、シミュレーションはMatlabでやっています。)

プロ向けのソフトなので、慣れるまでは難しいのですが、自由度が高く解析能力が高い、良いソフトです。

 

Igorについての詳しいホームページ(生理研の井本先生のページ)

Igorのマニュアル(pdf)は、Igorをインストールするときに同時にインストールされます。

Windowsのスタート」→「すべてのプログラム」→「Igor Pro」→「Igor Manual

 

Igorのマクロは、フリーウェアでいろいろ落ちています。

ユーザーマクロの公式ページ

 

パッチのデータ(axon binary fileABF file) を取り込むマクロ

(元サイトのリンクが切れているのでマクロだけ)

 

Neurometricというマクロのページ (このマクロはIgor Pro version 5以上)

 

 

(1)Igorの画面とウィンドウ

(この講座はIgor Pro ver 3.13をベースにしています。Ver 5ではデザインやコマンドのある場所が若干違います。)

Igorの基本的な画面はこのような感じです。

 

 

@     コマンド・ウィンドウ

Igorの基本のWiondowです。赤い線の下の部分(コマンド・ライン)にコマンド(命令)を自分で打ち込んで、いろいろな解析を行います。赤い線の上の部分は、コマンドの履歴です。

A     メニュー・バー

Igorでは解析を行うときコマンドをコマンドラインに自分で打ち込むのですが、代表的な解析なら、メニュー・バーからダイアロッグボックスを使って解析を行うことができます。このとき、コマンドは自動的にコマンドラインに表示されます。

B     グラフ

データをグラフの形で表示できます。

C     テーブル

データを表の形で表示できます。


 

(2)waveについて

wave」というのはIgorでもっとも重要な概念です。「wave」とは、データ列を格納してものです。C言語での「配列」、Excelでの「一行(or 一列)のデータ」に相当します。

 

wave」にはユーザーが自分で名前を付けます。アルファベットと数字で2文字以上です。

 

Igorでの基本的な決まり事>

waveの名前はアルファベットと数字で2文字以上

wave上書きできない

大文字と小文字は区別されません

 

<数値ファイルからデータをロードして、waveとする場合>

1)「メニューバー」→「Data」→「Load waves」→「Load General Files」を選びます。

そのとき下図のようなダイアログ・ボックスがでてきます。

 

2)@のところにwaveの名前を入れます。データが2行の場合は、それぞれ1行ずつ名前を付けてやります。

3)もし、その行のデータをLoadする必要がないときは、Aの「Skip Column」を押します。

4)Load」ボタンを押します。

以上でwaveがロードされます。

 

<パッチのデータをロードする場合>

LoadAxonBinaryというマクロを使います。

ファイルはこちら。

Igorを立ち上げた後、このファイルをドラッグ&ドロップすると、マクロが使えるようになります。メニューバーの「Macro」のところに「Loadaxonfile」というメニューがでてくるはずです。


(3) FunctionOperation

 

waveを解析したり、表示させたりするのには「fuction」と「operation」を使います。

 

operation」はwaveそのものを何かするときに使います。

              例:waveをグラフに表示する、waveをスムージングする、など。

function」はwaveから何かの情報を引き出すときに使います。

              例:waveの平均値を計算する、など

 

operation

 

例1:waveをグラフに表示する

display wavename

 

例2:waveの中のデータをx1番目のデータからn個分削除する。

deletepoints wavename, x1, n

 

Igorで使えるoperationfunctionの一覧とその使い方は、「メニューバー」→「Misc」→「Operation Helpor Function Help」にあります。

 


 

代表的なoperationの一覧

<グラフ・表に関するもの>

displaywaveをグラフに表示する

メニュー

「メニューバー」→「Windows」→「New Graph

書式

waveをグラフに表示する

display wavename

wave1wave2を同じグラフに表示する

display wave1 , wave2

waveXをx軸、waveYをy軸にしてグラフを表示する

(このとき、waveXのデータ点数とwaveYのデータ点数は同じでなければいけません。)

display waveX vs waveY

 

appedtograph:いまあるグラフに、waveを新たに追加する

メニュー

「メニューバー」→「GraphGraphを選択したときだけ出てくる)」→「Append traces to graph

書式

・いまあるグラフに、waveを新たに追加する

appendtograph wavename

 

removefromgraph:いまあるグラフから、waveを削除する

メニュー

「メニューバー」→「GraphGraphを選択したときだけ出てくる)」→「Remove traces from graph

書式

・いまあるグラフから、waveを削除する

removefromgraph wavename

 

editwaveを表に表示する

メニュー

「メニューバー」→「Windows」→「New Table

書式

waveを表に表示する

edit wavename

wave1wave2を同じ表に表示する

edit wave1 , wave2

 

<解析に関するもの>

smoothwaveにスムージングをかける

メニュー

「メニューバー」→「Analysis」→「Smooth

Smoothの種類

Binominal:ガウス関数でスムージングをかけます。

Savitzky-Golay:サビツキ・ゴレイ法でスムージングをかけます。高周波ノイズが消えます。2次と4次のサビツキゴレイがあります。スムースをかけるデータ点数は奇数で、3から25の間の値でないといけません。

Box:矩形波でスムージングをかけます。つまり、スムースをかけるデータ点数の区間の平均そのものです。スムースをかけるデータ点数は奇数でないといけません。

書式

waveに2次のサビツキ・ゴレイ法でスムースデータ点数25点のスムースをかける

smooth/S=2  25,wavename

wave 矩形波でスムースデータ点数101点のスムースをかける

smooth/B  101,wavename

 

differentiatewaveを微分する

メニュー

「メニューバー」→「Analysis」→「Differentiate

書式

waveを微分する

differentiate wavename

 


 

waveの作成、複製、削除>

makewaveの作成

メニュー

「メニューバー」→「Data」→「Make Waves

書式

・データ点数100点でwavenameという名前のwaveを作成する

make/N=100 wavename

 

duplicatewaveの複製

メニュー

「メニューバー」→「Data」→「Duplicate Waves

書式

wavename1という名前のwavewavename2というwaveに複製する

duplicate wavename1, wavename2

 

killwaveswaveの削除

メニュー

「メニューバー」→「Data」→「Kill Waves

書式

wavename1という名前のwaveを削除する

killwaveswavename1

注意:グラフやテーブルに表じされているwaveは削除することができません。いったんグラフやテーブルを閉じてから、実行してください。

 

waveの変更>

 

renamewaveの名前を変更する

「メニューバー」→「Data」→「Rename

 

deletepointswaveのデータの点を削除する

「メニューバー」→「Data」→「Delete points

 


 

waveのカーブフィット>

curvefitwaveのカーブフィット

メニュー

「メニューバー」→「Analysis」→「Curve Fitting

書式

 

 

例:X軸が「waveX」、Y軸が「waveY」というデータに対して、カーブフィットを行う。

 

@     まず、グラフに表示させておくとわかりやすい。

Display waveY vs waveX

 

A     つぎに、waveYを複製しておく。(これが後にFitしたwaveになる。名前を「Fitwave」とする)

Duplicate waveY , Fitwave

 

B     つぎに、カーブフィットのダイアロッグを開く。

「メニューバー」→「Analysis」→「Curve Fitting


(1)   Fittingする関数の形を選びます。

(2)   Y軸のwaveを選びます。

(3)   X軸のwaveを選びます。(これを選ばない場合は、X軸は1点間隔になります。)

(4)   Fitしたあとのwaveに書き換えられます。(オプション)

(5)   Fittingに重みをつけることができます。(オプション)

(6)   ある区間だけFittingを行うことができます。(オプション)

(7)   Fittingする関数の形がでてきます。

(8)   書式がでてきます。

必要なところを書き込んで「Do it」をおすと、Fittingが実行されます。

 

C     ここで、したのような画面が出てくるので、「OK」を押します。値をメモっておくと後で便利です。


この値は、ここにもでてきます。

 

この値は何かというと、たとえば、ガウス関数の場合、Fitting関数は、

K0+K1*exp(-(x-K2)/K3)^2)

という関数なのですが、この変数(K0からK3まで)の、具体的な値なのです。

 

D     実際にFittingしたカーブを表示してみます。

Appedtograph fitwave vs waveX

 

テーブルに表示するには、

edit waveX, waveY, fitwave

 


 

waveのヒストグラムを作成する>

histogramwaveのヒストグラムを作成する

メニュー

「メニューバー」→「Analysis」→「Curve Fitting

書式

 

 

例:「wave1」というデータに対して、ヒストグラムを作成する。

 

@ まず、wave1を複製しておく。(これが後にhistogramしたwaveになる。名前を「histowave」とする


Duplicate waveY , Fitwave

 

A つぎに、カーブフィットのダイアロッグを開く。

「メニューバー」→「Analysis」→「Histogram

 

 

(1) Histogramのもとのwaveを選ぶ。

(2) Histogramの結果をいれるwaveを選ぶ。

(3) bin(ひとつのバーの区間)を自分で選ぶか自動で選ぶかを決める。

(4) 自分で選ぶ場合、数値を入力する。

Bin start:ヒストグラムを作成する際の最小値

Bin width:ひとつのbinの間隔

Number of binsbinの数