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