ET_PDToolkit/PDToolkit/@PDTrial/correct_for_baseline.m

29 lines
821 B
Matlab

function[obj] = correct_for_baseline(obj, settings)
%% correction for baseline measure
% The actual baseline is calculated in getBaseline
eyes = fieldnames(obj.data);
for e = 1:length(eyes)
eye = eyes{e};
signals = fieldnames(obj.data.(eye).uncorrected);
baseline = getBaseline(obj, settings);
obj.baseline = baseline;
for i = 1:length(signals)
signal = getfield(obj.data.(eye).uncorrected, signals{i});
if (~isnan(baseline))
%% apply the correction
corrected_signal = (signal - baseline) / baseline;
else
%% no correction is applied
corrected_signal = signal;
end
obj.data.(eye).baseline_corrected = setfield(obj.data.(eye).baseline_corrected, signals{i}, corrected_signal);
end
end