-
Notifications
You must be signed in to change notification settings - Fork 32
/
addAutomagicPaths.m
executable file
·109 lines (101 loc) · 4.15 KB
/
addAutomagicPaths.m
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
function addAutomagicPaths()
% addAutomagicPaths Add all the necessary paths to start up Automagic
% This is specially recommended over `addpath(genpath(path/to/automagic))`
% as it will avoid to add conflicting functions of EEGLAB.
%
% Copyright (C) 2018 Amirreza Bahreini, [email protected]
%
% This program is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this program. If not, see <http://www.gnu.org/licenses/>.
% strings below correspond to current folders of Automagic
automagic = 'automagic';
libName = 'matlab_scripts';
srcFolder = 'src';
guiFolder = 'gui';
preproFolder = 'preprocessing';
pluginFolder = 'eeglab_plugin';
automagicPath= fileparts(mfilename('fullpath'));
addpath(automagicPath)
if ~strcmp(automagicPath(end), filesep)
automagicPath = strcat(automagicPath, filesep);
end
automagicPath = regexp(automagicPath, ['.*' automagic '.*?' filesep], 'match');
automagicPath = automagicPath{1};
if ~strcmp(automagicPath(end), filesep)
automagicPath = strcat(automagicPath, filesep);
end
addpath(automagicPath);
addpath([automagicPath srcFolder filesep])
addpath([automagicPath guiFolder filesep])
addpath([automagicPath preproFolder filesep])
addpath([automagicPath libName filesep])
addpath([automagicPath pluginFolder filesep])
pathCheck{1}=automagicPath;
pathCheck{2}=[automagicPath srcFolder filesep];
pathCheck{3}=[automagicPath guiFolder filesep];
pathCheck{4}=[automagicPath preproFolder filesep];
pathCheck{5}=[automagicPath libName filesep];
pathCheck{6}=[automagicPath pluginFolder filesep];
matlabPaths = matlabpath;
parts = strsplit(matlabPaths, pathsep);
Index = contains(parts, pathCheck);
if sum(Index)<5
warning('You need to include Automagic in your matlab path');
end
disp('Checking required toolbooxes...')
% Check that user has the Signal Processing Toolbox installed.
hasIPT = license('test', 'Signal_Toolbox');
if ~hasIPT
% User does not have the toolbox installed.
message = sprintf(['Sorry, but you do not seem to have the Signal Processing Toolbox.' ...
'\nSome important functions might be missing which will result in error.' ...
'\nDo you want to try to continue anyway?']);
reply = questdlg(message, 'Toolbox missing', 'Yes', 'No', 'Yes');
if strcmpi(reply, 'No')
% User said No, so exit.
return;
end
else
disp('Signal Processing Toolbox installed...')
end
% Check that user has the Statistics and Machine Learning Toolbox installed.
hasIPT = license('test', 'Statistics_Toolbox');
if ~hasIPT
% User does not have the toolbox installed.
message = sprintf(['Sorry, but you do not seem to have the Statistics and Machine Learning Toolbox.' ...
'\nSome important functions might be missing which will result in error.' ...
'\nDo you want to try to continue anyway?']);
reply = questdlg(message, 'Toolbox missing', 'Yes', 'No', 'Yes');
if strcmpi(reply, 'No')
% User said No, so exit.
return;
end
else
disp('Statistics and Machine Learning Toolbox installed...')
end
% Check that user has the Parallel Computing Toolbox installed.
hasIPT = license('test', 'Distrib_Computing_Toolbox');
if ~hasIPT
% User does not have the toolbox installed.
message = sprintf(['Sorry, but you do not seem to have the Parallel Computing Toolbox.' ...
'\nSome preprocessing steps might take longer.' ...
'\nDo you want to try to continue anyway?']);
reply = questdlg(message, 'Toolbox missing', 'Yes', 'No', 'Yes');
if strcmpi(reply, 'No')
% User said No, so exit.
return;
end
else
disp('Parallel Computing Toolbox installed...')
end
disp('Starting Automagic... First time takes longer...')