FieldTrip 使用教學

處理 fif 檔案

ft_preprocessing 官方文件: http://www.fieldtriptoolbox.org/reference/ft_preprocessing/

% % 預先處理訊號
cfg = []; %% 清除設定
cfg.dataset    = 'exp2shortrun1_sss.fif'; %% 設定選擇的資料
cfg.channel    =  'ECG004'; %% 設定訊號通道,這裡用ECG004的通道資料
data = ft_preprocessing(cfg); %% 儲存處理好的訊號到data變數裡
ecg_data= data.trial{1, 1}; %% 取出訊號資料

偵測訊號事件

透過ft_read_event能夠尋找事件的觸發位置

這項動作有助於處理病患測量時

刪除起始的雜訊和最後的雜訊

ft_read_event官方文件:http://www.fieldtriptoolbox.org/reference/ft_read_event/

%% 清除設定
cfg = []; 
%% 設定選擇的資料
cfg.dataset = fname;
%% 資料預處理
data_orig = ft_preprocessing(cfg);
%% 偵測訊號事件位置
event = ft_read_event(cfg.dataset);
%% 找到起始事件位置
sample_onset = [event(find(strcmp('STI001', {event.type}))).sample]';
%% 找到最後事件位置
sample_offset = [event(find(strcmp('STI002', {event.type}))).sample]';
%% 清除設定
cfg = [];
%% 選擇訊號長度(這裡單位為秒)
%% 原始資料長度為 1 ~ 349 秒
%% 底下擷取長度為 24 ~ 340 秒
cfg.toilim = [(sample_onset+20000)/data_orig.fsample sample_offset/data_orig.fsample]; 
%% 根據上方設定的訊號長度,重新調整訊號長度
data_new = ft_redefinetrial(cfg, data_orig);

重新取樣訊號

ft_resampledata 官方文件: http://www.fieldtriptoolbox.org/reference/ft_resampledata/

必須先進行 ft_preprocessing 的動作,才能進行重新取樣的動作

% % 預先處理訊號
cfg = [];
cfg.dataset    = 'exp2shortrun1_sss.fif';
cfg.channel    =  'MISC001'; %%設定訊號通道,這裡用MEG資料
data = ft_preprocessing(cfg); %%儲存處理好的訊號到data變數裡
%% downSample to 500
cfg = [];
cfg.dataset    = 'exp2shortrun1_sss.fif';
cfg.channel    =  'MISC001'; %%設定訊號通道,這裡用MEG資料
cfg.resamplefs = 500;  %%重新取樣至500
re_data = ft_resampledata(cfg, data);

讀取訊號資訊

主要可以用來預先讀取資料,而不進行處理的動作

ft_read_header 官方文件: http://www.fieldtriptoolbox.org/reference/ft_read_header/

hdr = ft_read_header('exp2shortrun1_sss.fif');

%% 讀取結果
>> hdr
hdr =
  struct with fields:
          label: {334×1 cell}
         nChans: 334
             Fs: 1000
           grad: [1×1 struct]
       nSamples: 342000
    nSamplesPre: 0
        nTrials: 1
           orig: [1×1 struct]
       chantype: {334×1 cell}
       chanunit: {334×1 cell}
Last modification:December 1st, 2019 at 09:14 pm