Commit f10e2d9b authored by mayucel's avatar mayucel
Browse files

back to original band pass

parent bc77bd5b
Loading
Loading
Loading
Loading
+56 −88
Original line number Diff line number Diff line
% SYNTAX:
% [data2, Aux2] = hmrR_BandpassFilt(data, Aux, hpf, lpf, turnon_dod, turnon_aux )
% data2 = hmrR_BandpassFilt(data, hpf, lpf)
%
% UI NAME:
% Bandpass_Filter
@@ -8,64 +8,38 @@
% Perform a bandpass filter on time course data.
%
% INPUT:
% data - SNIRF data type containing data time course to filter, time
%       vector, and channels.
% Aux - auxilliary data
% data - SNIRF data type containing data time course to filter, time vector, and channels.
% hpf - high pass filter frequency (Hz)
%       Typical value is 0 to 0.02.
% lpf - low pass filter frequency (Hz)
%       Typical value is 0.5 to 3.
% turnon_dod - apply filter on dod when set to 1
% turnon_aux - apply filter on aux when set to 1
%
% OUTPUT:
% data2 - SNIRF data type containing the filtered data time course, time
%        vector, and channels.
% Aux2 - filtered aux
% data2 - SNIRF data type containing the filtered data time course data
%
% USAGE OPTIONS:
% Bandpass_Filter: [dod, Aux2] = hmrR_BandpassFilt(dod, Aux, hpf, lpf, turnon_dod, turnon_aux )
% Bandpass_Filter_OpticalDensity: dod = hmrR_BandpassFilt(dod, hpf, lpf)
% Bandpass_Filter_Auxiliary: aux = hmrR_BandpassFilt(aux, hpf, lpf)
%
% PARAMETERS:
% hpf: [0.010]
% lpf: [0.500]
% turnon_dod: 1
% turnon_aux: 1

function [data2, Aux2] = hmrR_BandpassFilt(data, Aux, hpf, lpf, turnon_dod, turnon_aux)

if turnon_dod && turnon_aux
    foo{1} = data;
    foo{2} = Aux;
    data2 = DataClass().empty();
    Aux2 = AuxClass().empty();
elseif turnon_dod
    foo{1} = data;
function [data2, ylpf] = hmrR_BandpassFilt( data, hpf, lpf )
if isa(data, 'DataClass')
    data2 = DataClass().empty();
    Aux2 = Aux;
elseif turnon_aux
    foo{1} = Aux;
    Aux2 = AuxClass().empty();
    data2 = data;
else
    data2 = data;
    Aux2 = Aux;
    return
elseif isa(data, 'AuxClass')
    data2 = AuxClass().empty();
end

for i = 1:size(foo,2)
ylpf = [];
    for ii=1:length(foo{i})
        if isa(foo{i}, 'DataClass')
            data2(ii) = DataClass(foo{i}(ii));
for ii=1:length(data)
    if isa(data, 'DataClass')
        data2(ii) = DataClass(data(ii));
    elseif isa(data, 'AuxClass')
        data2(ii) = AuxClass(data(ii));
    end
    y = data2(ii).GetDataTimeSeries();
    fs = data2(ii).GetTime();
        elseif isa(foo{i}, 'AuxClass')
            Aux2(ii) = AuxClass(foo{i}(ii));
            y = Aux2(ii).GetDataTimeSeries();
            fs = Aux2(ii).GetTime();
        end
        
    
    % convert t to fs
    % assume fs is a time vector if length>1
@@ -102,13 +76,7 @@ for i = 1:size(foo,2)
    else
        y2 = ylpf;
    end
        
        if isa(foo{i}, 'DataClass')
    data2(ii).SetDataTimeSeries(y2);
        elseif isa(foo{i}, 'AuxClass')
            Aux2(ii).SetDataTimeSeries(y2);
        end
    
end
end
 No newline at end of file