forked from Nirstorm/nirstorm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
nst_install.m
71 lines (66 loc) · 2.75 KB
/
nst_install.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
function nst_install(mode, extra)
%NST_INSTALL Installation of NIRSTORM plugin for Brainstorm (linux and windows).
% NST_INSTALL(MODE) install NIRSTORM processes to brainstorm user folder:
% - linux: $HOME/.brainstorm/process
% - windows: C:\Documents and Settings\username\.brainstorm
% It backups existing scripts in brainstorm user folder.
%
% IMPORTANT: assume brainstorm has been installed and its functions are
% available in matlab's path.
%
% If MODE == 'copy' then all processes are copied to the installation
% folder. This is recommended for an end-user installation (no frequent
% code updates).
% If MODE == 'link' (linux only) then symbolink links pointing to scripts
% in the source folder are created in the installation folder.
% This is recommeded when source code needs to be updated often.
% Any modification in the source folder will be available in brainstorm.
% IMPORTANT: for *new scripts*, installation has to be run again to create
% new symbolic links.
% NST_INSTALL(MODE, EXTRA)
% Install extra scripts that override some brainstorm functions.
% WARNING: these are mostly in-dev features so they may be unstable.
% They are strongly dependent on the current version of
% brainstorm, so it's better to have the most up-to-date
% version.
% DO NOT install these scripts unless you know what you're doing ;)
% EXTRA can be a string or cell of string corresponding to extra
% installation scenarios. Files specified in MANIFEST.<extra> will then
% be installed.
% For instance 'debug' will install debuging scripts: bst_call.m and bst_process.m.
% They enable bypassing Brainstorm exception handling.
% IMPORTANT: 'debug' is needed to run unit tests.
%
% To cleanly uninstall nirstorm, run nst_uninstall() (see nst_unsintall.m)
%
if nargin < 1
mode = 'copy';
end
if nargin < 2
extra = {};
elseif ~iscellstr(extra)
if ~ischar(extra)
error('Argument "extra" must be a string');
end
extra = {extra};
end
if nargin < 4
dry = 0;
end
%% Check Brainstorm installation
try
bst_folder = bst_get('BrainstormUserDir');
catch
msg = ['Could not find Brainstorm installation. '...
'Check that matlab path contains Brainstorm folders'];
throw(MException('Nirstorm:Installation', msg));
end
bst_process_folder = fullfile(bst_folder, 'process');
if ~exist(bst_process_folder, 'dir')
display(['Could not find Brainstorm process folder "' ...
bst_process_folder '". Check brainstorm installation']);
return;
end
addpath(fullfile(pwd, 'dist_tools'));
%install_package('brainentropy', 'best_fork', bst_folder, mode, {}, dry);
install_package('nirstorm', 'bst_plugin', bst_process_folder, mode, extra, dry);