Unverified Commit 758aa4fa authored by stephen scott tucker's avatar stephen scott tucker Committed by GitHub
Browse files

Export current element to SNIRF (#118)

* Bug in StimEditGUI in no stim conditions

* Removed export to script, add export to SNIRF option in File menu

* added *.asv to gitignore

* GetAllData method for proc result class returns non-empty DataClass properties

* GetAllData returns misc contents

* Don't call save on nonexistant Snirf subobjects

* Remove 'SnirfDraft = '3'' from mdt defaults

* ;

* Add GetProbe interface. TODO add warnings. Remove faulty setter.

* ExportSnirfGUI

* Update ExportSnirfGUI.m

* Avoid crash on empty misc
parent 4cbc6e00
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2,3 +2,4 @@
LastCheckForUpdates.dat
FuncRegistry/UserFunctions/Registry.mat
*.snirf
*.asv
 No newline at end of file
+0 −1
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ classdef MetaDataTagsClass < FileLoadSaveClass
            obj.tags.TimeUnit = 'unknown';
            obj.tags.FrequencyUnit = 'unknown';
            obj.tags.AppName  = 'snirf-homer3';
            obj.tags.SnirfDraft = '3';
            
            if nargin==1
                obj.SetFilename(varargin{1});
+12 −2
Original line number Diff line number Diff line
@@ -424,6 +424,7 @@ classdef SnirfClass < AcqDataClass & FileLoadSaveClass
        end
        
        
        
        % -------------------------------------------------------
        function err = LoadStim(obj, fileobj)
            err = 0;
@@ -596,8 +597,10 @@ classdef SnirfClass < AcqDataClass & FileLoadSaveClass
        
        % -------------------------------------------------------
        function SaveMetaDataTags(obj, fileobj)
            if ~isempty(obj.metaDataTags)
                obj.metaDataTags.SaveHdf5(fileobj, [obj.location, '/metaDataTags']);
            end
        end
        
        
        
@@ -627,8 +630,10 @@ classdef SnirfClass < AcqDataClass & FileLoadSaveClass
        
        % -------------------------------------------------------
        function SaveProbe(obj, fileobj)
            if ~isempty(obj.probe)
                obj.probe.SaveHdf5(fileobj, [obj.location, '/probe']);
            end
        end
        
        
        % -------------------------------------------------------
@@ -1122,6 +1127,11 @@ classdef SnirfClass < AcqDataClass & FileLoadSaveClass
        end
        
        
        % ---------------------------------------------------------
        function probe = GetProbe(obj)
           probe = obj.probe; 
        end
        
        
        % ---------------------------------------------------------
        function SD = GetSDG(obj,option)
+15 −0
Original line number Diff line number Diff line
@@ -831,6 +831,21 @@ classdef GroupClass < TreeNodeClass
    methods
        
        
        % ----------------------------------------------------------------------------------
        function probe = GetProbe(obj)
            probe = obj.subjs(1).GetProbe();
%             for subj = obj.subjs
%                 for sess = subj.sess
%                    for run = sess.runs
%                         if ~(probe == run.GetProbe()) 
%                             warning(['Probe ', run.name, ' differs from ', obj.subjs(1).sess(1).runs(1).name]) 
%                         end
%                    end   
%                 end
%             end
        end
        
        
        % ----------------------------------------------------------------------------------
        function SD = GetSDG(obj,option)
            if exist('option','var')
+32 −0
Original line number Diff line number Diff line
@@ -362,6 +362,38 @@ classdef ProcResultClass < handle
    
    methods

        % ----------------------------------------------------------------------------------
        function [keys, values] = GetAllData(obj)
            % Returns names and references to all non-empty DataClass objects available as
            % properties of the ProcResultClass instance or of the misc list
            props = properties(obj);
            keys = {};
            values = {};
            for i = 1:length(props)
                val = eval(sprintf('obj.%s', props{i}));
                if isa(val, 'DataClass')
                    if ~isempty(val.dataTimeSeries) && ~isempty(val.time) && ~isempty(val.measurementList)
                        keys{end + 1} = props{i}; %#ok<AGROW>
                        values{end + 1} = val; %#ok<AGROW>
                    end
                end
            end
            try
                miscnames = fields(obj.misc);
            catch
                return
            end
            for i = 1:length(miscnames)
                val = eval(sprintf('obj.misc.%s', miscnames{i}));
                if isa(val, 'DataClass')
                    if ~isempty(val.dataTimeSeries) && ~isempty(val.time) && ~isempty(val.measurementList)
                        keys{end + 1} = miscnames{i}; %#ok<AGROW>
                        values{end + 1} = val; %#ok<AGROW>
                    end
                end
            end
        end
        
        % ----------------------------------------------------------------------------------
        function SetTHRF(obj, t)
            obj.tHRF = t;
Loading