ET_PDToolkit/PDToolkit/@PDSubject/findAllfiles.m
Jan-Bernard Marsman d2cf032fab init
2018-06-12 14:49:55 +02:00

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