Commit 222f6e09 authored by jayd1860's avatar jayd1860
Browse files

v1.73.0

-- Separate ApplicationName into ApplicationName and Version when exporting processing stream to JSON file.
-- Change default for config parameter Export Processing Stream Functions from No to Yes.
-- Add library version numbers to JSON file generated by export processing stream utility
-- Add utility updateVersions.m to Utils/submodules to automatically generate new version numbers for main application and shared library depedencies
-- Fix issue with copying probe in NirsClass.CopyProbe when concerting from .nirs to .snirf. Also use NirsClass constructor rather than load() to load .nirs data when converting from .nirs to .snirf.
parent 16a3aae8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -472,7 +472,7 @@ classdef DataFilesClass < handle
                if obj.files(ii).isdir
                    continue;
                end
                filename = [obj.rootdir, obj.files(ii).name];
                filename = [obj.rootdir, obj.files(ii).name]; %#ok<NASGU>
                eval( sprintf('o = %s(filename);', constructor) );
                if  o.GetError() < 0
                    obj.logger.Write('DataFilesClass.ErrorCheck - ERROR: In file "%s" %s. File will not be added to data set\n', obj.files(ii).name, o.GetErrorMsg());
+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ for ii=1:length(nirsfiles)
    fprintf('Converting %s to %s\n', src, dst);
    waitbar_improved(ii/length(nirsfiles), h, sprintf('Converting %s to SNIRF: %d of %d', nirsfiles(ii).name, ii, length(nirsfiles)));

    nirs = load(src,'-mat');
    nirs = NirsClass(src);
    
    if DEBUG==false
        snirf(ii) = SnirfClass(nirs);
+13 −9
Original line number Diff line number Diff line
@@ -1063,7 +1063,7 @@ classdef NirsClass < AcqDataClass & FileLoadSaveClass
                'xmax',0, ...
                'ymin',0, ...
                'ymax',0, ...
                'auxChannels',[] ...
                'auxChannels',{{}} ...
                );
        end
        
@@ -1162,7 +1162,7 @@ classdef NirsClass < AcqDataClass & FileLoadSaveClass
        
        
        % ----------------------------------------------------------------------------------
        function CopyProbe(obj, SD)            
        function CopyProbe(obj, SD)             %#ok<INUSD>
            fields = propnames(obj.SD);
            for ii = 1:length(fields)
                if eval( sprintf('isfield(SD, ''%s'')', fields{ii}) )
@@ -1170,7 +1170,11 @@ classdef NirsClass < AcqDataClass & FileLoadSaveClass
                        eval( sprintf('obj.SD.%s = SD.%s;', fields{ii}, fields{ii}) );
                    elseif eval( sprintf('isnumeric(obj.SD.%s)  &&  iscell(SD.%s)', fields{ii}, fields{ii}) )
                        if eval( sprintf('~isempty(SD.%s)', fields{ii}) )
                            eval( sprintf('obj.SD.%s = cell2array(SD.%s);', fields{ii}, fields{ii}) );
                            for kk = 1:length(eval( sprintf('SD.%s', fields{ii}) ))
                                if eval( sprintf('isnumeric(SD.%s{kk}) && (length(SD.%s{kk})==1)', fields{ii}, fields{ii}) )
                                    eval( sprintf('obj.SD.%s(kk) = SD.%s{kk};', fields{ii}, fields{ii}) );
                                end
                            end
                        end
                    elseif eval( sprintf('isscalar(obj.SD.%s)  &&  isscalar(SD.%s)', fields{ii}, fields{ii}) )
                        eval( sprintf('obj.SD.%s = SD.%s;', fields{ii}, fields{ii}) );
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ No
SNIRF

% Export Processing Stream Functions # Yes, No
No
Yes

% Export Stim To TSV File # Yes, Yes_Delete_Old, No
No
+21 −5
Original line number Diff line number Diff line
@@ -407,15 +407,18 @@ classdef ProcStreamClass < handle
            if isempty(temp)
                return;
            end
            [p,f] = fileparts(temp); 
            [p,f,e] = fileparts(temp); 
            fname = [filesepStandard(p), f, '_processing.json'];
            if obj.ExportProcStreamFunctions()==true
                logger.Write('Saving processing stream  %s:\n', fname);
                appname = sprintf('%s, (v%s)', getNamespace(), getVernum(getNamespace()));
                appname = sprintf('%s', getNamespace());
                vernum  = sprintf('v%s', getVernum(appname));
                dt      = sprintf('%s', char(datetime(datetime, 'Format','MMMM d, yyyy,   HH:mm:ss')));
                mlActManCompressed = obj.CompressMlActMan();
                tIncManCompressed = obj.CompresstIncMan();
                jsonstruct = struct('ApplicationName',appname, 'DateTime',dt, 'tIncMan',tIncManCompressed, 'mlActMan',mlActManCompressed, 'FunctionsCalls',{fcalls});
                jsonstruct = struct('ProcessingElement',f, 'ApplicationName',appname, 'Version',vernum, ...
                                    'Dependencies',obj.ExportProcStreamDependencies(), 'DateTime',dt, 'tIncMan',tIncManCompressed, ...
                                    'mlActMan',mlActManCompressed, 'FunctionCalls',{fcalls});
                jsonStr = savejson('Processing', jsonstruct);
                fid = fopen(fname, 'w');
                fwrite(fid, jsonStr, 'uint8');
@@ -432,6 +435,19 @@ classdef ProcStreamClass < handle
        end
        
        
        
        
        % ----------------------------------------------------------------------------------
        function depStruct = ExportProcStreamDependencies(obj)
            depStruct = struct();
            [d, v] = dependencies();
            for ii = 1:length(d)
                eval( sprintf('depStruct.%s_Library_Version = ''v%s'';', d{ii}, v{ii}) );
            end
        end

        
        
        % ----------------------------------------------------------------------------------
        function nbytes = MemoryRequired(obj)
            nbytes(1) = obj.input.MemoryRequired();
Loading