DMA_collectdir.m 2.86 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function DMA_collectdir(dirs)

% pick up defaults
param = DMA_labconfig;

% parse arguments
if nargin == 0
    param.dir = uigetdir(pwd, 'Which directory do you wish to process?');
elseif ischar(dirs)
    param.dir = dirs;
else
    param = dirs;
end


% full name of parameter file in dir
pname = fullfile(param.dir, 'DMAlab_param.m');
% pick up local settings
if exist(pname, 'file')
    run(pname);
else
    warning('file %s not found, using defaults throughout.\n', pname)
end

if isempty(param.dir), param.dir = pwd; end % JiC
if param.paramcheck > 0, param = DMA_checkparam(param); end


fprintf('* Collecting results in %s/%s\n', param.dir, param.odir);
for s = 1:numel(param.collect)
    
    list = dir(fullfile(param.dir, param.odir, ...
        strcat('*.', param.collect{s})));
    fid = fopen(fullfile(param.dir, strcat('all', param.collect{s}, ...
        '.csv')), 'w+');
    for l = 1:numel(list)
        fprintf('\t ** parsing %s\n', list(l).name)
        
        fprintf(fid, '%% %s\n', list(l).name);
        data = load(fullfile(param.dir, param.odir, list(l).name));
        if strcmp(param.collect{s}, 'ncel')
            fprintf(fid, ['%i, %i, %i, %i, %i, %i, %i, %i, %i, ', ...
                '%i, %i, %i, %i, %i, %i, %i, %i, %i, %i, %i, %i, ', ...
                '%i, %i, %i, %i, %i, %i, %i, %i, %i, %i, %i, %i\n'], ...
                data');
        elseif strcmp(param.collect{s}, 'dcel')
            fprintf(fid, ['%i, %i, %i, %i, %i, %i, %i, %i, %i, ', ...
                '%i, %i, %i\n'], data');
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
        elseif strcmp(param.collect{s}, 'fluo')
            fprintf(fid, ['%1.4e, %1.4e, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%1.4e, %1.4e, %1.4e, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%1.4e, %1.4e, %1.4e, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%1.4e, %1.4e, %1.4e, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%1.4e, %1.4e, %1.4e, %1.4e, %1.4e, %1.4e\n'], data');
        elseif strcmp(param.collect{s}, 'bf')
            fprintf(fid, ['%i, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%i, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%i, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%i, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%i, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%i, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%i, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%i, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%i, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%i, %1.4e, %1.4e, %1.4e, %1.4e, ', ...
                '%i, %1.4e, %1.4e, %1.4e, %1.4e\n'], data');
67
68
69
70
71
72
73
74
75
76
        end
    end
    fclose(fid);
    fprintf('\t * %s results written to %s\n', param.collect{s}, ...
        fullfile(param.dir, strcat('all', param.collect{s}, '.csv')));
end
fprintf('* Done collecting results in %s/%s\n', param.dir, param.odir);

% part of DMAlab: https://gitlab.tue.nl/STEM/DMAlab
end