params = init_physmon_params(config); Initializes parameter structure for reading physiological monitoring files. config - specifies a particular physiological monitoring system/configuration. See also README_physio.txt
0001 function p = init_physmon_params(config) 0002 % params = init_physmon_params(config); 0003 % 0004 % Initializes parameter structure for reading physiological monitoring files. 0005 % 0006 % config - specifies a particular physiological monitoring system/configuration. 0007 % 0008 % See also README_physio.txt 0009 0010 % 1/10/02 PJ 0011 % 05/27/04 PJ Added .is_event_trig_pos and .is_button_trig_pos fields 0012 % 10/25/04 PJ Added .neg_trig_thresh_key 0013 % 07/20/06 PJ Modified to handle multiple acquisition systems 0014 0015 p.source = config; 0016 p.loaddata = 1; 0017 p.savedata = 0; 0018 p.outsuffix = ''; 0019 p.savefixed = 0; % save data after it has been adjusted 0020 % for dropped volumes, etc. 0021 0022 switch config 0023 case 'keithley' 0024 p.Fs = 250; % sampling rate (Hz) 0025 p.bipolar = 0; % are event marker pulses bipolar? 0026 p.pos_trig_thresh = 2; 0027 p.neg_trig_thresh = -2; 0028 p.neg_trig_thresh_key = -4; % threshold for key press events 0029 p.is_event_trig_pos = 1; 0030 p.is_button_trig_pos = 1; 0031 0032 % if markers are bipolar, this is the window within which negative/positive transition should occur 0033 p.event_window_ms = 30; 0034 0035 % time from EPI start to first stimulus marker 0036 p.epi_start_to_first_stim = 17500; 0037 0038 % tolerance for marker locations 0039 p.event_slop = 2; 0040 0041 % for finding runs based on receiver unblank maximum duration of a run, in seconds) 0042 p.slice_diff_thresh = 100; 0043 0044 % Channel assignments 0045 p.cardiac_chan = 1; 0046 p.respir_chan = 2; 0047 p.slice_chan = 3; 0048 p.button_chan = 4; 0049 p.event_chan = 5; 0050 0051 % Removal of mean from event channels prior to locating trigger evenets 0052 p.remove_dc = 1; 0053 0054 % Slice timing channel parameters 0055 p.TR = 3; 0056 p.nslice_per_vol = 27; % number of slices per volume 0057 0058 % number of dummy volumes at the beginning of each run 0059 p.ndummy_vol = 2; 0060 0061 % Physiological channel post-processing 0062 0063 % cutoff frequency for filtering respiratory data. Leave empty if no filtering is desired 0064 p.low_pass_cutoff = 5; 0065 0066 case 'mate' 0067 0068 % Scanner trigger related variables 0069 p.trig_thresh = -2.5; 0070 p.trig_dir = 'neg'; 0071 p.Fs_trig = 100; 0072 p.trig_slop_sec = 0.02; 0073 p.trig_is_vol = 1; % volume or slice triggers 0074 0075 p.pulse_thresh = -2.5; 0076 p.pulse_dir = 'neg'; 0077 p.Fs_pulse = 50; 0078 p.Fs_resp = 50; 0079 0080 case 'biopac' 0081 p.thresh = 2.5; 0082 p.dir = 'pos'; 0083 0084 % cutoff frequency for filtering respiratory data. Leave empty if no filtering is desired 0085 p.low_pass_cutoff = 5; 0086 0087 otherwise 0088 fprintf('Unknown configuration: %s\n', config) 0089 end