数値データの取得

適当に2次元配列を作成する... 1

matrix-srcに2次元配列をコピー... 2

選択した範囲の数値データ取得... 4

大規模の数値データの取得... 4

複雑な波形の作成... 6

 

 

適当に2次元配列を作成する

5×10の乱数配列を作成します。

(setq a (random-matrix 5 10))

Enterキーを押します。

作成した配列は

(print-array a)

で確認します。

Graph term#m((….)(…)…(…))という形式で表示されています。

乱数は01ではないようです。

(matrix-extent a)

範囲が表示されました。

a01に収まるようにします。

 

matrix-srcに2次元配列をコピー

matrix-srcを選択し、mtxという名前にします。

5×10では少ないので5×1001にします。

(setq a (random-matrix 5 1001))

(setq a (/ a (second (matrix-extent a))))

(set-resource (G-widget "mtx") :matrix a)

mtxdisplayを繋ぎます。

ScaleAutoscaleをクリックします。

サンプリング周波数を100Hz、単位を秒にし、mtxdisplayを繋ぎなおします。

(set-resource (G-widget “mtx”) :x-scale 0.01 :x-unit “s”)

Offset0.5にします。

(set-resource (G-widget "display") :offsets #m((0.5)(0.5)(0.5)(0.5)(0.5)))

 

選択した範囲の数値データ取得

任意の時間帯を選択し(ここでは白黒反転)、以下のコマンドを打ちます。

(setq b (get-selected-data :source (G-widget "display")))

(print-array b)

Graph termに数値データとして出力されています。

 

大規模の数値データの取得

Graph termで表示しきれない場合、fiffで保存してテキストファイルに変換します。

make-evoked-fileというコマンドを使います。コマンドの使い方は

(describe ‘make-evoked-file)

などとすると

こんな感じで教えてくれることがあります。

(make-evoked-file :source (G-widget "display") :selection (x-selection) :filename "test.fif")

test.fifという名前で保存します。ここでx-selectionは選択範囲の時間を出力します。

terminalを開き、

/neuro/bin/util/fiff2ascii test.fif

と入力するとtest.01.ascというファイルが作成されます。

geditで開いてみます。

数値データとして出力されました。

 

複雑な波形の作成

source-mtxは要らないので削除します。

(GtDeleteWidget (G-widget “mtx”))

test-source widgetを作成し、testという名前にします。

frequency 2とします。

testdisplayを繋ぎます。

Scale1にしています。modesinなので正弦波になっています。

同じようにnoiseという名前のtest-sourceを作成し、moderandomにします。

noisedisplayを繋ぎました。

randomamplitude1の筈なんですが、確かめてみます。

答えです。

このままいきます。

次にfmul1fmul2という名前のunary widgetをつくります。

fmul1fmul2functionfmularguments0.20.4です。

次にfadd1fadd2という名前のbinary widgetを作ります。

fadd1fadd2functionfaddです。

setという名前のselector widgetを作成します。

noisefmul1を繋ぎ、noisefmul2を繋ぎ、testfadd1fmul1fadd1を繋ぎ、testfadd2fmul2fadd2を繋ぎます。

fadd1selfadd2selを以下のコマンドを入力して繋ぎ、seldisplayを繋ぎます。

 (select-to (G-widget "sel")(fadd1 0)(fadd2 0))

scale1.5にし、ch-label-space100にしました。

(set-resource (G-widget "display") :scales #m((1.5)(1.5)) :ch-label-space 100)

上は正弦波に雑音を20%の振幅にして、下の波形は40%の振幅にして加算したものです。