Commit 1752244e authored by Jay's avatar Jay
Browse files

v1.19.3

-- Provide working skeleton for hmrR_tCCA.m that shows how to write the help section and extract data from SINRF variables
-- Add methods to AuxClass to be able to extract time and datatimeseries variables
-- Rename SNIRF DataClass method AppendD to the much clearer AppendDataTimeSeries
parent 590e8c93
Loading
Loading
Loading
Loading
+38 −3
Original line number Diff line number Diff line
@@ -16,8 +16,12 @@ classdef AuxClass < FileLoadSaveClass
            
            obj.timeOffset = 0;
            if nargin==1
                if isa(varargin{1}, 'AuxClass')
                    obj = varargin{1}.copy();
                elseif ischar(varargin{1})
                    obj.filename = varargin{1};
                    obj.Load();
                end
            elseif nargin==3
                obj.dataTimeSeries    = varargin{1};
                obj.time = varargin{2};
@@ -95,8 +99,17 @@ classdef AuxClass < FileLoadSaveClass
        end
        
        
        % ---------------------------------------------------------
        function SetDataTimeSeries(obj, val)
            if ~exist('val','var')
                return;
            end
            obj.dataTimeSeries = val;
        end
        
        
        % -------------------------------------------------------
        function d = GetData(obj)
        function d = GetDataTimeSeries(obj)
            d = obj.dataTimeSeries;
        end
        
@@ -107,6 +120,28 @@ classdef AuxClass < FileLoadSaveClass
        end
        
        
        % -------------------------------------------------------
        function val = GetTime(obj)
            val = obj.time;
        end
        
        
        % ----------------------------------------------------------------------------------
        function Copy(obj, obj2)
            if isempty(obj)
                obj = DataClass();
            end
            if ~isa(obj2, 'DataClass')
                return;
            end
            for ii=1:length(obj2.measurementList)
                obj.measurementList(ii) = obj2.measurementList(ii).copy();      % shallow copy ok because MeasListClass has no handle properties
            end
            obj.dataTimeSeries = obj2.dataTimeSeries;
            obj.time = obj2.time;
        end
        
        
        % -------------------------------------------------------
        function B = eq(obj, obj2)
            B = false;
+1 −9
Original line number Diff line number Diff line
@@ -648,7 +648,7 @@ classdef SnirfClass < AcqDataClass & FileLoadSaveClass
                return;
            end
            for ii=1:length(obj.aux)
                datamat(:,ii) = obj.aux(ii).GetData();
                datamat(:,ii) = obj.aux(ii).GetDataTimeSeries();
            end
        end
        
@@ -881,14 +881,6 @@ classdef SnirfClass < AcqDataClass & FileLoadSaveClass
        end
        
        
        % ----------------------------------------------------------------------------------
        function aux = Get_aux(obj)
            aux = [];
            for ii=1:size(obj.aux,2)
                aux(:,ii) = obj.aux(ii).GetData();
            end
        end
        
        
        % ----------------------------------------------------------------------------------
        function s = Get_s(obj, iBlk)
+2 −2
Original line number Diff line number Diff line
@@ -104,7 +104,7 @@ for iBlk = 1:length(yAvgSubjs{1})
                    end
                end
                if iSubj == nSubj                
                    yAvgOut(iBlk).AppendD(yAvg);
                    yAvgOut(iBlk).AppendDataTimeSeries(yAvg);
                end
            end
            
@@ -154,7 +154,7 @@ for iBlk = 1:length(yAvgSubjs{1})
                    end
                end
                if iSubj == nSubj
                    yAvgOut(iBlk).AppendD(yAvg);
                    yAvgOut(iBlk).AppendDataTimeSeries(yAvg);
                end
            end
            
+10 −3
Original line number Diff line number Diff line
@@ -28,11 +28,18 @@
%

function [data2, ylpf] = hmrR_BandpassFilt( data, hpf, lpf )

if isa(data, 'DataClass')
    data2 = DataClass().empty();
elseif isa(data, 'AuxClass')
    data2 = AuxClass().empty();
end
ylpf = [];
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();
    
+6 −9
Original line number Diff line number Diff line
@@ -59,9 +59,6 @@ for kk=1:length(data)
    
    datatype = data(kk).GetDataTypeLabel();  % Get the input data type
    y = data(kk).GetDataTimeSeries('reshape');    % Get the data vector 
%     if strncmp(datatype{1},'Hb',2)
%         y = reshape(y, size(y,1), 3, size(y,2)/3);
%     end
    t = data(kk).GetTime();    % Get the time vector 
    dt = t(2)-t(1);
    nPre = round(trange(1)/dt);
@@ -129,9 +126,9 @@ for kk=1:length(data)
            end
            
            % Snirf stuff: set data vectors
            data_avg(kk).AppendD(yavg(:,:,:,iC));
            data_std(kk).AppendD(ystd(:,:,:,iC));
            data_sum2(kk).AppendD(ysum2(:,:,:,iC));
            data_avg(kk).AppendDataTimeSeries(yavg(:,:,:,iC));
            data_std(kk).AppendDataTimeSeries(ystd(:,:,:,iC));
            data_sum2(kk).AppendDataTimeSeries(ysum2(:,:,:,iC));
        elseif strcmp(datatype{1}, 'dOD')
            yTrials(iC).yblk = yblk(:,:,1:nBlk);
            yavg(:,:,iC) = mean(yblk(:,:,1:nBlk),3);
@@ -155,9 +152,9 @@ for kk=1:length(data)
            end
            
            % Snirf stuff: set data vectors
            data_avg(kk).AppendD(yavg(:,:,iC));
            data_std(kk).AppendD(ystd(:,:,iC));
            data_sum2(kk).AppendD(ysum2(:,:,iC));
            data_avg(kk).AppendDataTimeSeries(yavg(:,:,iC));
            data_std(kk).AppendDataTimeSeries(ystd(:,:,iC));
            data_sum2(kk).AppendDataTimeSeries(ysum2(:,:,iC));
        end
    end
    
Loading