123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- function [ SelectedFiles ] = MMa_SelectFiles(OutputDir)
- %UNTITLED2 Summary of this function goes here
- % Detailed explanation goes here
- % FileNameDataBaseInfo
- clc;
- msg0 = 'Give a folder to read files from. Remember to add final \\ ! ';
- Folder = input(msg0, 's');
- Filenames = MMa_FetchFileNames(Folder);
- %save('C:\Users\meandvi\Desktop\HDF5\Results\finalfilenames.mat', 'Filenames');
- SelectedFiles = Filenames;
-
- msg1 = ['The search found ' num2str(length(Filenames))...
- ' MCD (.h5) and Axion files. Do you want to select a subset of files? (y/n): '];
- msg2 = ['Add criteria to your selection:' char(10)...
- '(0) Stop adding criteria' char(10)...
- '(1) Date selection' char(10)...
- '(2) Experimenter selection' char(10)...
- '(3) N number selection' char(10)...
- '(4) Cell line selection' char(10)...
- '(5) Text in the file name or path' char(10)...
- '(6) List selected files' char(10)...
- '(7) List all original files' char(10)...
- '(8) Save all the found files' char(10)];
- msg21 = 'Give the date selection in the format of yymmdd-yymmdd : ';
- msg22 = 'Give a 3 character experimenter ID : ';
- msg23 = 'Give a range of N numbers in the format of number-number : ';
- msg24 = 'Give a cell line identificator : ';
- msg25 = 'Enter text to be searched : ';
- msg26 = 'THE FILES IN THE DATABASE HAVE BEEN MOVED. DATABASE MUST BE UPDATED!';
-
- ansv1 = input(msg1,'s');
- clc;
-
- if strcmp(ansv1,'y')
- ansv2 = 1;
-
- parameters.dates = cell.empty();
- parameters.experimenters = cell.empty();
- parameters.nnumbers = cell.empty();
- parameters.celllines = cell.empty();
- parameters.texts = cell.empty();
-
- while ~(ansv2 == '0')
- ansv2 = input(msg2,'s');
- clc;
-
- if ansv2 == '1' % yymmdd-yymmdd 140516-140812
- ansv21 = input(msg21,'s');
- parameters.dates{length(parameters.dates)+1} = strsplit(ansv21,'-');
-
- elseif ansv2 == '2'
- ansv22 = input(msg22,'s');
- parameters.experimenters{length(parameters.experimenters)+1} = ansv22;
-
- elseif ansv2 == '3' % number-number
- ansv23 = input(msg23,'s');
- parameters.nnumbers{length(parameters.nnumbers)+1} = strsplit(ansv23,'-');
-
- elseif ansv2 == '4'
- ansv24 = input(msg24,'s');
- parameters.celllines{length(parameters.celllines)+1} = ansv24;
- elseif ansv2 == '5'
- ansv25 = input(msg25,'s');
- parameters.texts{length(parameters.texts)+1} = ansv25;
-
- elseif ansv2 == '6'
- disp(SelectedFiles);
-
- elseif ansv2 == '7'
- disp(Filenames);
-
- elseif ansv2 == '8'
- filedates = cellfun(@dir, SelectedFiles);
- filedates = {filedates(:).date}';
- nnumbrs = cellfun(@findMEAID, SelectedFiles, 'UniformOutput', false);
- xlswrite(strcat(OutputDir, '_SelectedFiles_', MMa_timestamp(), '.xls'), [nnumbrs, filedates, SelectedFiles]);
- end
-
- if str2num(ansv2) < 7
- SelectedFiles = MMa_StrSelection(parameters, Filenames);
- disp([char(10) 'The analysis now includes ' num2str(length(SelectedFiles)) ' files.' char(10)]);
- end
-
- end % end parametrien kysely loppuu t?h?n
- save(strcat(OutputDir,'file_selection_parameters_',MMa_timestamp(),'.mat'), 'parameters');
-
- end
-
- try
- % datenums are only used if the filename is missing date
- % information
- fndates = cellfun(@findMEAdate, SelectedFiles, 'UniformOutput', false);
- fileinfos = cellfun(@dir, SelectedFiles); %, 'UniformOutput', false);
-
- % if filename is missing date information that file
- % modification date is used as date
- for r = 1:length(fndates)
- if fndates{r} == 0
- fndates{r} = str2num(datestr(fileinfos(r).date,'yymmdd'));
- end
- end
-
- fileinfos = {fileinfos(:).datenum}';
- SelectedFiles = [SelectedFiles fndates fileinfos];
-
- catch err
- disp(msg26);
- SelectedFiles = [];
- end
- end
- % isdir
|