PREPROCESSINGは,MEGおよび/あるいはEEGデータを,ユーザが特定したtrialによって読み込み,いくつかのユーザが特定したpreprocessingステップをシグナルに応用する.これは,
[data] = preprocessing(cfg)
あるいは,
[data] = preprocessing(cfg, data)
という形でおこなう.cfgは構造体であり,データセットのファイルネーム,trialsとpreprocessing オプションの全ての詳細を含む.Preprocessingは,ファイルから読み出すためのデータの断片を定義した
後にだけできる.データ中にトリガの発生を基盤にして行うことを例にしている.
もしPREPROCESSINGを最初の入力変数としての構造体だけを呼び,かつデータがファイルから読まれなければならないときは,
cfg.dataset = ファイルネームの文字列; %cfg.dataset = 'filename'のように,シングルクオーテーションで囲みます.
cfg.trl = N×3のマトリクス.%トライアルの定義による.definetrialをすれば出力されます.また,このファイルをみたところ,(トリガベースによる切り出しの場合は,そのトリガが立った時点)|(次のトリガが立った時点)|不明.durationかな?*イベント分の行,という形で構成されていましたので,トリガを建ててない場合は,適当なN×3のマトリクス行列を作ってあげればそれを元に読み出してくれると思われます.
cfg.padding = 個々のトライアルの長さがフィルタリングのために引き延ばされる(padded). ?
cfg.continuous = 'yes'か'no' %ファイルが連続データかどうか.デフォルトでは自動的に決まる.
を設定するようです.
データセットを特定する代わりに,ヘッダ情報を含むファイルの名前と,データを含むファイルの名前を特定することもできる.
cfg.datafile = 'filename'
cfg.headerfile = 'filename'
で良いらしい.これだと楽ですね.
もしPREPROCESSINGを,"data"変数の二度目の入力をして呼び出したとすれば,前のPREPROCESSINGの呼び出しにおけるファイルから既に呼び出されたファイルを含むことになる.この場合にのみ,構造体のオプションは次のようになる.
読まれるであろう,そして/あるいはpreprocessをされるであろうチャンネルを,
cfg.channel = チャンネルのselectionとしてのN×1セル配列 (デフォルトでは'all').; %CHANNELSELECTIONを見れば詳細がある.
他のオプションとしては,フィルタ関係で,
cfg.lpfilter = 'no' or 'yes' lowpass filter
cfg.hpfilter = 'no' or 'yes' highpass filter
cfg.bpfilter = 'no' or 'yes' bandpass filter
cfg.bsfilter = 'no' or 'yes' bandstop filter
cfg.dftfilter = 'no' or 'yes' %フーリエ変形の分離を用いた線形のノイズ除去
cfg.medianfilter = 'no' or 'yes' %medianフィルタの保護をジャンプする
cfg.lpfreq = lowpass frequency in Hz
cfg.hpfreq = highpass frequency in Hz
cfg.bpfreq = bandpass frequency range, specified as [low high] in Hz
cfg.bsfreq = bandstop frequency range, specified as [low high] in Hz
cfg.dftfreq = line noise frequencies for DFT filter, default [50 100 150] Hz
cfg.lpfiltord = lowpass filter order
cfg.hpfiltord = highpass filter order
cfg.bpfiltord = bandpass filter order
cfg.bsfiltord = bandstop filter order
cfg.lpfilttype = digital filter type, 'but' (default) or 'fir'
cfg.hpfilttype = digital filter type, 'but' (default) or 'fir'
cfg.bpfilttype = digital filter type, 'but' (default) or 'fir'
cfg.bsfilttype = digital filter type, 'but' (default) or 'fir'
cfg.lpfiltdir = filter direction, 'twopass' (default), 'onepass' or 'onepass-reverse'
cfg.hpfiltdir = filter direction, 'twopass' (default), 'onepass' or 'onepass-reverse'
cfg.bpfiltdir = filter direction, 'twopass' (default), 'onepass' or 'onepass-reverse'
cfg.bsfiltdir = filter direction, 'twopass' (default), 'onepass' or 'onepass-reverse'
cfg.medianfiltord = length of median filter
cfg.blc = 'no' or 'yes'
cfg.blcwindow = [begin end] in seconds, the default is the complete trial
cfg.detrend = 'no' or 'yes', this is done on the complete trial
cfg.polyremoval = 'no' or 'yes', this is done on the complete trial
cfg.polyorder = polynome order (default = 2)
cfg.derivative = 'no' (default) or 'yes', computes the first order derivative of the data
cfg.hilbert = 'no', 'abs', 'complex', 'real', 'imag', 'absreal', 'absimag' or 'angle' (default = 'no')
cfg.rectify = 'no' or 'yes'
cfg.precision = 'single' or 'double' (default = 'double')
使うところだけ参考にします….解説は良くわからないところもあるのでいずれ!かならずや!
EEGデータのみに使えるPREPROCESSINGのオプションは,
cfg.reref = 'no' or 'yes' (default = 'no') %リファレンスを変えるときに使うっぽい
cfg.refchannel = cell-array with new EEG reference channel(s)%どこを新しいリファレンスにするか
cfg.implicitref = 'label' or empty, add the implicit EEG reference as zeros (default = [])
implicitなEEG referenceをゼロにする?
cfg.montage = 'no' or a montage structure (default = 'no') 二階目の"data"変数入力のときにだけ使えるPREPROCESSINGオプションは,
cfg.trials = 'all' or a selection given as a 1xN vector (default = 'all')
である.
まとめると,Preprocessingをする前にどういうフィルタをかけるかを決めて,cfg.xxfilter, cfg.xxfreq,とかでその種類と範囲を指定する.+EEGの場合,リファレンスチャンネルを変更するならその設定をする,というあたりのようですね.
[0回]
PR