306xN配列のFIFF file化
Graphで直接binary dataが扱えるかもしれませんが、現状では以下のようにしています。
(setq max-evoked-data-size 1000000)
と入力し、目的とするfiff fileの制限を大きめにしておきます。
average dataの場合はringbuffer widgetはあってもなくても構いませんが、raw dataの場合はないとGraphの反応が遅くなります。
pick widgetの名前をmegとし、namesをMEG*とします。
matrix-src widgetを作成し、名前をMTXとします。
unary widgetを作成し、名前をfmulとします。
fT/cmまたはfT単位のものはT/mになるようfunctionをfmul、argumentsを(1e-13)などとします。
準備ができたら、fileをダブルクリックして目的とするfiff fileを読みます
次に目的とする306xNの配列をlsp fileにします。
(setq ABC (matrix
(1行目1列 1行目N列)
(2行目1列 2行目N列)
(306行目1列 306行目N列)
)
(set-resource (G-widget "MTX") :matrix ABC)
というテキストファイルを作成し、abc.lspという名前で保存します。
Graphで
(require '...../abc)
で呼び出し、megとMTXをリンクさせます。
これで元のfiff fileのチャンネル、標本化周波数などの属性が継承できます。
最後に
(make-evoked-file :filename "/neuro/data/test.fif" :source (G-widget "display"))
とすれば306xN配列がtest.fifという名前のfiff fileになります。