Skip to content

Commit fc0dba5

Browse files
committed
polishing snirf toolbox, handling root object names
1 parent f8ebf4c commit fc0dba5

4 files changed

Lines changed: 23 additions & 6 deletions

File tree

loadjsnirf.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
end
4545

4646
if(~isempty(regexp(filename,'\.[Ss][Nn][Ii][Rr][Ff]$', 'once')) || ~isempty(regexp(filename,'\.[Hh]5$', 'once')))
47-
jnirs=loadsnirf(filename);
47+
jnirs=loadsnirf(filename,varargin);
4848
elseif(regexp(filename,'\.[Jj][Nn][Ii][Rr][Ss]$'))
4949
jnirs=loadjson(filename,varargin{:});
5050
elseif(regexp(filename,'\.[Bb][Nn][Ii][Rr][Ss]$'))

loadsnirf.m

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,18 @@
3636
error('you must provide a file name');
3737
end
3838

39-
opt=varargin2struct(varargin{:});
4039
data=loadh5(fname);
41-
data=snirfdecode(data,'snirf');
40+
41+
opt=struct;
42+
43+
if(length(varargin)==1)
44+
data=snirfdecode(data,varargin{:});
45+
elseif(length(varargin)>=2)
46+
opt=varargin2struct(varargin{:});
47+
data=snirfdecode(data,varargin{:});
48+
else
49+
data=snirfdecode(data);
50+
end
4251

4352
outfile=jsonopt('FileName','',opt);
4453
if(~isempty(outfile))

savesnirf.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ function savesnirf(data, outfile,varargin)
2020
%
2121
% example:
2222
% data=loadsnirf('test.snirf');
23-
% snirfdata(data,'newfile.snirf');
23+
% savesnirf(data,'newfile.snirf');
2424
%
2525
% this file is part of JSNIRF specification: https://github.com/fangq/jsnirf
2626
%
@@ -33,7 +33,7 @@ function savesnirf(data, outfile,varargin)
3333

3434
opt=varargin2struct(varargin{:});
3535
if(~isfield(opt,'root'))
36-
opt.root=inputname(1);
36+
opt.root='';
3737
end
3838

3939
if(isfield(data,'SNIRFData'))

snirfdecode.m

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,15 @@
3737

3838
data=regrouph5(root, varargin{:});
3939

40-
if(isfield(data,'nirs') && isfield(data,'formatVersion') && ~isfield(data,'SNIRFData'))
40+
issnirf=1;
41+
42+
if(~isempty(varargin))
43+
if(ischar(varargin{1}) && strcmpi(varargin{1},'jsnirf'))
44+
issnirf=0;
45+
end
46+
end
47+
48+
if(issnirf==0 && isfield(data,'nirs') && isfield(data,'formatVersion') && ~isfield(data,'SNIRFData'))
4149
data.SNIRFData=data.nirs;
4250
if(iscell(data.nirs))
4351
for i=1:length(data.nirs)

0 commit comments

Comments
 (0)