54 lines
1.8 KiB
Matlab
54 lines
1.8 KiB
Matlab
function[sessions] = findAllfiles(obj, folder)
|
|
|
|
cd(folder);
|
|
files = dir;
|
|
i=1;
|
|
sessions = PDSession(''); % create empty session
|
|
for s =1:length(files)
|
|
if (strcmp(files(s).name, '.') || strcmp(files(s).name, '..'))
|
|
continue;
|
|
end
|
|
|
|
if files(s).isdir
|
|
new_sessions = obj.findAllfiles([folder filesep files(s).name]);
|
|
for i = 1:length(new_sessions)
|
|
if ((length(sessions) ==1) && isempty(sessions(1).datafile))
|
|
sessions(length(sessions)) = new_sessions(i);
|
|
else
|
|
sessions(i + length(sessions)) = new_sessions(i);
|
|
end
|
|
end
|
|
else
|
|
[base file ext] = fileparts(files(s).name);
|
|
|
|
if strcmp(lower(ext), '.asc')
|
|
display(sprintf('\tFile found for Subject: %s', file));
|
|
if ((length(sessions) ==1) && isempty(sessions(1).datafile))
|
|
sessions(1) = PDSession([folder filesep files(s).name]);
|
|
else
|
|
sessions(end+1) = PDSession([folder filesep files(s).name]);
|
|
end
|
|
i=i+1;
|
|
end
|
|
|
|
if strcmp(lower(ext), '.gazedata')
|
|
display(sprintf('\tFile found for Subject: %s', file));
|
|
if ((length(sessions) ==1) && isempty(sessions(1).datafile))
|
|
sessions(1) = PDSession([folder filesep files(s).name]);
|
|
else
|
|
sessions(end+1) = PDSession([folder filesep files(s).name]);
|
|
end
|
|
i=i+1;
|
|
end
|
|
|
|
end
|
|
end
|
|
%% do not return empty objects
|
|
|
|
if ((length(sessions) ==1) && isempty(sessions(1).datafile))
|
|
sessions = [];
|
|
end
|
|
|
|
|
|
|