[Igor Pro] Loadwaveの使い方、パスを指定して読み込む

Igor Proのコマンドの使い方についてまとめます。

Loadwaveコマンドの使い方です。Loadwaveはデータを読み込むだけのコマンドですが、様々なデータの読み込み方を指定できてとても役に立ちます。ですが、できることが多い分、フラグの種類もそれなりにあるので、使い方を少しずつまとめて行きたいと思います。

それでは、タイトルにあるように、フォルダのパスを指定してファイルを読み込む方法です。

フラグは「/P=pathName」を使います。

まずはじめにうまく動作するスクリプトを載せておきます。

Newpath/O pName, "hd:Users:Jack:Documents"
LoadWave/P=pName

実はこのpathNameの指定方法が少し曲者です。なんとなく、pathNameのところに適当な形式でファイルのパスを書けばいいと思って実行してみるとうまく行かないのです。

例えば、下記のようにしてみます。

LoadWave/P=$"hd:Users:Jack:Documents" (シンボリックパスがない、と怒られる)

LoadWave/P="hd:Users:Jack:Documents" (コンパイルを通らない)

LoadWave/P=hd:Users:Jack:Documents  (コンパイルを通らない)

どうやらシンボリックパスを設定してやる必要がありそうです。
そこで下記のようにNewPathコマンドでシンボリックパスを設定します。

Newpath/O pName, "hd:Users:Jack:Documents"

これでpNameに""内のパスが格納されます。またMisc→NewPath...からダイアログを使って指定することもできます。

このあとで下記のようにします。

LoadWave/P=pName

LoadWave/P=$"pName"

これで指定のフォルダが開いて、ファイルを選択できるようになったと思います。またこのあとに続けてファイル名を記載すれば、指定のファイル名を読み込めるようになります。

Newpath/O pName, "hd:Users:Jack:Documents"
LoadWave/P=pName "data.txt"

またはファイル名をString変数にしておけば下記のようにもできます。

String fName =  "data.txt"
Newpath/O pName, "hd:Users:Jack:Documents"
LoadWave/P=Pname fName

ちなみにシンボリックパスについてはマニュアル内には下記のように記載がありました。

A symbolic path is an Igor object that associates a short name with a folder on a disk drive. You can use this short name instead of a full path to specify a folder when you load, open or save a file. We recommend using symbolic paths instead of full paths when possible because they are more easily changed if your disk organization changes or if you want to access another location on disk.

シンボリックパス自体は、よくあるフォルダパスを収めるオブジェクトのようですが、マニュアル上は、このシンボリックパスの使用を勧めているようです。今のところ、LoadWaveコマンドのパスの指定方法に、シンボリックパスを使わないやり方があるのかは不明です。

最後にパスの記載方法を書いておきます。

hd:Users:Jack:Documents (Macintosh)

C:Users:Jack:Documents (Windows)

フォルダパスが不明な場合は、フォルダのプロパティを見るか、macの場合などはそのフォルダ上でターミナルを呼び出してpwdと打ち込んで見ましょう。

昔、上記のことがわからず、結構苦労した覚えがあります。他の使い方に関しても少しずつ書いてみたいと思います。ではでは。

いいなと思ったら応援しよう!