*beamformer関係:複数のバーチャルセンサーの座標を含んだ.ptsファイルを作る
* 逆(MEG head coordinate -> talairach)をしたいときはこちら
バーチャルセンサーの波形を取り出すのに座標を指定しないといけませんが、
目で見てbroadmann??とか個人毎に決めるのは面倒だろうと思うので、
(しかもたくさん見たい座標がある場合は特に)
talairachの座標からhead coordinateに変換した.ptsファイルを作れるように考えました。
必要なスクリプトは2つ
1. tal2headVE.m : スクリプト本体。読み込むファイルを指定して走らせると、.ptsとmemo.txtを出力します。
2. fGetTransfmMat.m : tal2headVE.mから参照します。変換行列をいくつかファイルから取り出してtalairach -> head coordinateの座標変換をします。
その他スクリプトを走らせるのに必要なファイル3つ
1. COR-??.fif (??には日付とかが入ることが多い)
mneの関係でCOR.fifを作った後MEGの計測データ(=polhemus=頭の座標を登録したデータ)でMRIとMEGの位置合わせをすると出力されるファイル。
MRI-> head coordinateの変換行列が含まれる。
2. orig.mgz
freesurferでMRIを処理すると途中で出力されるMRIのデータ。
MRI-> talairachの変換行列が含まれるらしい。ちょっと自信なし。
3. VE.txt(サンプル)
talairachの座標を列挙したファイル。
matlab上は座標の数は何個でもいけるが、beamformerの方で100個までと制限あり。
100以上は処理から外れるとのこと。
出力されるファイルは2つ
1. .pts (サンプル)
beamformerのバーチャルセンサーの座標を示したファイル。GRIDの項目で指定する。
2. memo.txt (サンプル)
読み込んだファイル、出力したファイル、各座標の名前、変換した前後の座標を示したファイル。
何個も処理してると違う被験者のデータとか読み込むミスなんかをしそうなので、ログ代わりに使ってください。
使用法
必要なファイルを用意して、
対応する部分をtal2headVE.mの中で書き換えて、
tal2headVEを走らせます。
エラー処理はないので困ったらわかりそうな人に尋ねましょう。