実践的 Igor メモ 2019

関数への当てはめに関わって:トリミングとノイズ除去など

実験データを関数に当てはめるにあたっては、まず当てはめる領域を指定し、 実験につきものの種々のノイズを除く必要がある。 たとえば光照射をやめる前後での吸光度変化を測定した右図の結果から、 光照射を止めた後の吸光度の回復過程を指数関数に当てはめることを考えよう。 この場合、データへの関数の当てはめの前に、まず光照射停止までのデータを当てはめる区間から外し(トリミング)、 また外部から光が射し込んだ(迷光)ことによるとみられる 16 s 付近のノイズを除くことが必要になる。

トリミングだけであれば比較的簡単に行える。 グラフでメニューから「Graph」-「Show Info」(ショートカットキーCtrl+I)で現れるカーソルを利用するのが直観的で便利である。 まず当てはめる区間を、カーソルのA(○)とB(□)で挟み込む。 次いでメニューから「Analysis」-「Curve Fitting…」で出てくる窓のタブの「Data Option」を開く。 この中のRangeの部分で「Cursors」をこづくと、当てはめ領域としてカーソル位置が設定される。 この状態で関数への当てはめを行えばよい。 この方法は、トリミング領域を変更しての試行錯誤が容易に行えるが、領域の中間に現れるノイズの消去には使えない。

邪魔なデータの除去で、たぶん最も直観的で簡便な方法は、不要な点を消去してから関数への当てはめを行うことだろう。 このためにはまず実験データのコピーを「Duplicate Waves」を使って作成してから仕事を始める (オリジナルのデータの wave に変更を加えないのが原則)。 作成した作業用の時間の wave を TX、吸光度の wave を AX としよう。 次に横軸に TX 縦軸に AX を取ってデータ点をマーカーで表示したグラフを作成し、 別に Table を作って時間 TX と吸光度 AX を表示させる。 グラフを見ながら不要なデータ点に「NaN」(Not-a-Numberの略。「nan」「nAn」なども可)と入力する(TX でも AX でもよい)。 するとその点は Igor の中の処理では無視され、グラフ上にも表示されなくなる。 こうして不要なデータを除いた後、メニューの「Analysis」-「Curve Fitting…」から操作に移ればよい。

この不要な点の除去にあたっては、たとえば Command Window で

ax = (ax > 0.5) ? NaN : ax↵

とすれば吸光度が0.5以上のデータ点に対応するデータ点を除去できることになる。

「↵」は Enter(Return)キー。 「(Z) ? (X) : (Y)」 は C 言語などでお馴染みの条件式で、Z が成立する時 X を、成立しない時 Y を与える関数。

不要な点の消去には、メニューから「Data」-「Delete Points…」 (あるいはマウスの右ボタンのメニューから「Delete Points」)を行うという手もある。 ただしこの操作は直前の削除についてもやり直しがきかず、 一定間隔のデータとして取り扱っている場合には(対応するwaveに「_calculated_」を使用) 使えないのでお薦めできない。

なおすでに実践したところであると思われるが、1つの wave について領域ごとに当てはめた結果を図示したい時には、 当てはめ結果の名前を変更した後、次の領域の当てはめに進めばよい。 右図の滴定曲線の場合であれば、まず「Data Option」で Range の部分を設定して当てはめ結果を得た後、 デフォルト設定であれば自動的に生成される「fit_****」というwaveの名前を適当に変更し、 次いでパラメーターのテキストボックスのコピーを作る (ダブルクリックして「Modify Annotation」を開き、「Duplicate Textbox」を押し「Do It」)。 その後区間を変更して当てはめを実行すればよい。



表紙のページへ