Skip to content

Commit 93b0cce

Browse files
committed
Merge branch 'master' of https://github.com/adhusch/PaCER
2 parents 9a5b053 + ff6fe43 commit 93b0cce

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1923
-152
lines changed

.artenolis.yml

+17-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ script:
77
# set the environment variable CURRENT_DIR
88
- CURRENT_DIR=`pwd`
99

10+
# update the data repository
11+
- cd $PACER_DATA_PATH
12+
- git checkout develop
13+
- git pull origin develop
14+
1015
# change to the current directory
1116
- cd $CURRENT_DIR
1217

@@ -16,6 +21,15 @@ script:
1621
after_success:
1722

1823
# submit coverage report
19-
#- if [[ "$MATLAB_VER" == "R2018b" && "$ARCH" == "Linux" ]]; then
20-
# bash <(curl -s https://codecov.io/bash) -f "!*.lst";
21-
# fi
24+
- if [[ "$MATLAB_VER" == "R2018b" && "$ARCH" == "Linux" ]]; then
25+
bash <(curl -s https://codecov.io/bash) -f "!*.lst";
26+
fi
27+
28+
# deploy documentation
29+
- if [[ "$MATLAB_VER" == "R2018b" && "$ARCH" == "Linux" && "$JENKINS_PULL_REQUEST" != "True" ]]; then
30+
export PATH="/home/jenkins/.local/bin":$PATH;
31+
pip install --upgrade --user -r docs/requirements.txt;
32+
export GIT_LOCAL_BRANCH=${GIT_BRANCH##origin/};
33+
echo $GIT_LOCAL_BRANCH;
34+
python -c "from documenter.deploy import Documentation; doc = Documentation('github.com/adhusch/PaCER', local_upstream='$(pwd)', ci='jenkins'); doc.deploy()";
35+
fi

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
coverage.json
2+
coverage_html/
13
*.asv
24
*.m~
35
*.mex*
@@ -6,3 +8,4 @@ pacer_sample_dataset/
68
exampledata/
79
.DS_Store
810
docs/build
11+
*.log

README.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ PaCER |br| Precise and Convenient Electrode Reconstruction for DBS
1212

1313
<br>
1414
<a href="https://adhusch.github.io/PaCER/"><img src="https://img.shields.io/badge/PaCER-docs-blue.svg?maxAge=0"></a>
15-
&nbsp;&nbsp;&nbsp;<a href="https://prince.lcsb.uni.lu/jenkins/job/PaCER-branches-auto-linux/"><img src="https://prince.lcsb.uni.lu/jenkins/job/PaCER-branches-auto-linux/badge/icon"></a>
15+
&nbsp;&nbsp;&nbsp;<a href="https://prince.lcsb.uni.lu/jenkins/job/PaCER-branches-auto-linux/"><img src="https://prince.lcsb.uni.lu/jenkins/buildStatus/icon?job=PaCER-pr-auto-linux"></a>
1616
<br><br>
1717

1818
..
@@ -31,7 +31,7 @@ PaCER |br| Precise and Convenient Electrode Reconstruction for DBS
3131
.. raw:: html
3232

3333
<p align="center">
34-
<img alt="Image of a PaCER electrode reconstruction at two different time points of resolving brain shift." class="readme_main" src="https://prince.lcsb.uni.lu/userContent/mainPacer.png" height="400px"/>
34+
<img alt="Image of a PaCER electrode reconstruction at two different time points of resolving brain shift." class="readme_main" src="https://prince.lcsb.uni.lu/PaCER/img/mainPacer.png" height="400px"/>
3535
</p>
3636

3737

@@ -207,4 +207,4 @@ for providing the `ARTENOLIS infrastructure <http://artenolis.lcsb.uni.lu>`__ an
207207

208208
.. |br| raw:: html
209209

210-
<br>
210+
<br>

SETUP_PACER.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
%% RUN this file once (F5) to automatically make sure all PaCER files (including subdirectories) are in your MATLAB path!
1010
pacerDir = fileparts(mfilename('fullpath'));
1111
addpath(genpath(pacerDir));
12-
savepath();
12+
savepath();

codecov.yml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
coverage:
2+
status:
3+
project:
4+
default:
5+
threshold: 15
6+
patch: off

docs/.documenter.enc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBbHNzWkQ4NFNXVUJKd09SS0xjN1Z6R0NWTThBSk1XcFk3N055MzR1QVJTTStTMi9PCldVbm0xNjY3dldnSndmMkdPblBqdGFnTVJBZUxwdk8zcklZQ2J5YUNPQ1dmUzNzNmtXeEg3U2U1UW0vSVp2NzQKakpXNDFyazdhcnUwUzFVUHNLclNUUXpOM252N0FvUjlDbXdndmM0cGVEZTJSSDdKRVljb2JrbDJvRGltYzNObApLUmtHaHN1VG1yTTlyM2oxVXMwbFRkK2E0VEVDdTR4NzVvdzhmZ1U2NHN3YWk2WnZESHhJRXgrQ3QxVjhYV2ZnCk1ia0NaS29PWmU1MjlZVzB3S2hXTVFWcDhPSkkxWXZRcHcxd0cwcmtvZXdHbXd1eVFjamZ3NWVKcHFTeXBRMEoKeG1Zbk1KZnFnZEVaaDUzaWVGNndZcWJrUjNDUXNyVEw5K3lscW90dXdPQjFuYTB1WkRkbjVnWEZ3VHBSd09xMApBd1FnYWtndUFKeUlOR3EwUVpFU1FWL1MvN3h3WDJaL3BmMTJvbjBRbmkrVjdnSEgrUXE4dzY3TnRjY0d4dTl0CmtwbGhQRStIZHZmRTlycVdVSFFtSHgzY1dTdHFmK0pYZ1ozVExCbUdwYVRUVzF0UDlUS3cxOU9YTGU2aERlQzgKRGgybXJWc2lJcEFGVzZsQkJoVVoyVE1WdytpZ3RjMjZZNHFRcm54eFNPbTdHbWcwbFlVaW13cXZQOU5SZEFncQpBcmtxemtsbE5pWjFCcnpNVWY0dGMvUzNjSWtlQkhNeDI4T3NJWDh5YXhJTlBleksrU3NvS1VSVE5ucE81SVEvCkU2T1h4NlhwQWRQa25nYUhNTEsyTmNYZU5USFhWL216bFZNeWUzSkVEK25OSnlIOGJiaW5WZ013dzRVQ0F3RUEKQVFLQ0FnQngvR3loYWVDczNzL2hvNi8vR0k2OHczV0ZmUEIyRGpIVVlBM0J0YTNzbFV1TnNxS0ZGRHdQWmVJOAp0dHhKYTk5L2FBTUZXbGFMUmpqbXB1eDgyWUFWalVKNk50WkhOSXQ5U2lERXdIWm1KaUdTMmNJQVkxMHAwek42CjV4RE9zU24vSGVHQ3BOOHFBd1luVFFkSVRad2lYaWt5MnNwSTFKNGhSYzNtTUZvZm16TVhxbThadGZVZEI5NDMKM3E0T2Fwem5Ubk9ZZmlLUmYzN1ZUc2lKNmhBQUl1djBiTnpVRzZkdUJMUm00RGJyWnc5dmZBb1pEQVVuR3ZWdgpUK2RVaVJHdFlKSm0wL1RWUmZoUWxEUFJVM01lN21vTmpHRWg2cUdBNE50aytyUHU2Q2l5WXp5MFlKdlhPNzdsCkNxOEZ1TzlzbGdjM1MzamNGOWNKZjJsL3E3OCtGcVp0RHM4M29GR0ZDZmZOVURPTFhkczYwTWVvU2h2MU5Ud0YKenlOZXFoRUVGS0pGa2xQQ0pjS1ZIZnVEbnJ2WWRlV2FjMlRlSU44QnorUk5wNXlwRHgvREFpTXJMN3FhV3RFeQpHcE1QTEpnbitJMVZrcFo2a2ZZR2lsUC9IeEd1UXpBTmpldUNZVXVoRXJnQU1nMjFFR3hUZlpMc1R0WW5MZ0Z0Cjlwam5aVVFNQ0oydXliLys1dzduUkQrL21FWkJzZzRjckM2ejM4dS9FQzNpWCtwSUU3ZE9vb0R1N1dycysvSDkKa2t2M0dlYVRJVHNXbzVTQ1kyVVhjcTBMWS9zV3dVT3BocngzNjlPY0w2TnVuUmU4dlJvdEE4Nkg0QnNBZGlkcQpscURvcFZkdEJwY2dXamNjbnYyVlVOVkVzMUFOYVVLYXVXdkw4djJIUnRIU2g3bnZNUUtDQVFFQXZ1eUs4cDQ2ClFobW14TUNVTHVMMEI1R1VpMytoL05sVWQzM1lqcy9SeTlYdWd6cldsVjQ2MlhKVy9jMVBwVksrbGRVd01lczEKZ1JIOVU3QkdPbmNjbExJSnhFM0habWRqNTFHaHY0QVJGcnFNRDVEbnhxM25FSHJJdGxWK2t1QjZEWlFsb0VYNQpuRWhPSERyeDNZR00xNDdCV3dMUG1icFhDWnJOdmdHSHVoTWQxOHBzN1B6Wk5GdWtITTVNb3oxa0w5WE1vTE1pCnVMblY4MjNCY1dHUm9NMFNQbGJtWlVjT1F3MFJFMnJ1TnBCYmpwQU5aT01wZ3QyeW05cWZRT0dwT29mZytKUkkKa1dKYllYK0Q2b3Z6VWtWeWhuak9rWHdEekY0eEg2dEw0amV1ZnpHcjRlTXZLaEFCRlE1d1B3VXkxYkVxK0llWQpVejhnV1N4NHVjS0Rhd0tDQVFFQXlqRGdCSGxKQVJRWG5TQmVMZkc2Ung0NEY0SDRJNDJkaDRKbHpMb25UM25iCk9Iak1aR3ZibUdrY0wvbDBmWTVUT1VnenQyN2t0UkFDTmc1WHBpN0l3b0JNOWdMajEvb0ZSbEJENk9QQ1JuUVYKS3hKYzhLTHYwYU1NR3BIZVpqNTNKeU1pRlJVNWYwc2JuUzdobHRqaVd3SFRRdWU0ditVeUQrc2JPNi9MR00vWgo2V0ZvdUxMeWtGQ25McDlpSDBwa1VrV2cwWHBsc3lrbC9YOFlLSHQzQkxITmlGZ0RMajFkRDlaVURtRjJHL1hTCnpUZnp2dllxbFRBcFhzVG16cDN1bjY5aDdNdEExODNiMSt4VVBQNU1LZ3dwclVROFJiVDljNWo5dTlWSDhKZnMKdEVWNnUzMlB5VUs5SFlRYklpcXM2c29sVHluS2JUWEJtWG1JMTFtQXp3S0NBUUExZHFleUtQekhaY2Q5Y1RBTgpzU0FFdm8rS1FNTnJ1ckFjaGZFT2pNT0RBUFU1YWxDTW8wWjNmYjArZFMvSWE5TlN3ZEF0S21CaE5GaHNCd0NqCmZwZFNURWpQMzdmbXhTMEVxYWRScU5zZ01qem1YdjJJZFVvdkl6THhYQitGb2JhTDl1QlNjVVhrclpxeDdRK3QKcDRsNUUxQ3gyNmVtdExlS3lQNjBKbG1Ma2E3WnJxV3g5MXdiZlU0SGd2MlMrSzRGZHlsR0Z1T3lOdGZpd3VsWQpocW54RFh2K1dQZExoUXBKWEc5YnNLWGtRYWhoMDVUc20zQVVaV0NPcERuVVFWelNOeHFZZ1cyUXlLb3VNemNOCmh3TXNGcVpyWVlqMjFITjcxeVNLYWIxbUs1R0JyTGNsR2lrcTdqQmZaUnVwaWhzaUcrcWNqZHZwODlOckpUanAKUzc3aEFvSUJBUUNGcDQxT0o4YUVlZjJxRmsxclhaRmZsYkJLaWRXMzJ0TTVVbzlzcDlsNGhmck45N3hVM1orSgp2bUd0ck42K2FLakhBdDE4OGtjcEVXNEV3YkphM2k1RHRJQXJWM201dVVKbldvT3BuWFU5RVZzMDM2eWtQWEQrClNTT2xKS3U1TnEyWkozWk9MWHVXazlXckwrUmJ6UDdFWGc2QytaNTg2MHNPanNHdjBPTVdnYjl3c0wyQzZuZkIKd2k3aGVPWnAvTWtZUVlLdk5wT252Um1wMnF2amhzb0VSbXl4Smt6ajhoaGtjYSthMmY0ek9XcWgwY3pFZlFGbApJVE1YdkYwK1U5UDdwdm02aUJsVERuZTI0amhGSVd6RGxzcXVDSjgzRFE5RnJPcDlrZDArUTQ5ckUwcXdTYTRVCndwTTB3YkVXQXRQUFdOVVU0WEU0aEFKNEs0aXpvaXl0QW9JQkFFbGs4TjR3eStPMWNBalVmVzRYZnRHTUc5OE8KL3BLZS9JNFpEM2p1SmhxNXhLaWdkRmVDL0UzODhsbkhxVDJ4OFhBZndMZFBTUVllNFdzcndUM0IzeU1kbEpyWApHTFQ3RnNzd01CMGtwRWZmTFU5VWFCbmxnS3I0OXQwYWJIL1NXdksyVnhXVnVHZDlVSVpWaGR5QlE3aUpHMFBxCjdlYkJEVVJ4cEZjTHNpNi9yZDgrOUZWOHJDUmh4cVZhSlp4Umt6N0UyT3pnbk1FSUJTMEQrVEdtOWwxWkhPN00KWHp2WXVBRHppVmNTdmtSeTlvdzJSeUp5MHEzVUhKUkhlb2NNM3FBQi92T2VxelVxMzFOV0FwYUFEazVmbUs4cwpuUTJCNXVUS01laVVNVUFDNHVZOUg0eVA5NGE5dE53NmlOWWFEMlZHM3EvOHlwYU4wcE5Kd1gvK2p5dz0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0=

docs/requirements.txt

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
git+https://github.com/uni-lu/sphinx.git@develop#egg=sphinx
1+
git+https://github.com/LCSB-BioCore/sphinx.git@develop#egg=sphinx
22
sphinx_rtd_theme
3-
git+https://github.com/uni-lu/sphinx_julia_theme.git@develop#egg=sphinx_julia_theme
3+
git+https://github.com/LCSB-BioCore/sphinx_julia_theme.git@develop#egg=sphinx_julia_theme
44
git+https://github.com/syarra/Documenter.py@develop#egg=documenter
5+
git+https://github.com/LCSB-BioCore/sphinxcontrib-napoleon.git@develop#egg=sphinxcontrib_napoleon
6+
git+https://github.com/syarra/sphinxcontrib-matlabdomain#egg=sphinxcontrib-matlabdomain
7+
sphinxcontrib-fulltoc

docs/source/conf.py

+5
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
sys.path.insert(0, os.path.abspath(os.path.join('..', '..', '..')))
2525
# sys.path.insert(0, os.path.abspath('.'))
2626

27+
matlab_src_dir = os.path.abspath(os.path.join('..', '..'))
28+
2729
# -- General configuration ------------------------------------------------
2830

2931
# If your documentation needs a minimal Sphinx version, state it here.
@@ -34,6 +36,9 @@
3436
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
3537
# ones.
3638
extensions = [
39+
'sphinx.ext.autodoc',
40+
'sphinxcontrib.napoleon',
41+
'sphinxcontrib.matlab',
3742
'sphinxcontrib.fulltoc']
3843

3944
# remove path in function names

docs/source/contents.rst

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ PaCER
66

77
Home <index>
88
gettingStarted
9+
modules/index
910
literature
1011
help
1112
acknowledgments
+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
.. _functions:
2+
3+
4+
Functions
5+
---------
6+
7+
.. automodule:: src.Functions
8+
:members:

docs/source/modules/index.rst

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
.. _modules_functions:
2+
3+
Source code
4+
===========
5+
6+
.. toctree::
7+
8+
functions/index

external/rdir/LICENSE.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
Copyright (c) 2014, Thomas Vanaret
2+
Copyright (c) 2009, Gus Brown
3+
All rights reserved.
4+
5+
Redistribution and use in source and binary forms, with or without
6+
modification, are permitted provided that the following conditions are
7+
met:
8+
9+
* Redistributions of source code must retain the above copyright
10+
notice, this list of conditions and the following disclaimer.
11+
* Redistributions in binary form must reproduce the above copyright
12+
notice, this list of conditions and the following disclaimer in
13+
the documentation and/or other materials provided with the distribution
14+
15+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18+
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
19+
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21+
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22+
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23+
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24+
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25+
POSSIBILITY OF SUCH DAMAGE.

external/rdir/README.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Recursive directory listing
2+
3+
Original version is
4+
[here](https://nl.mathworks.com/matlabcentral/fileexchange/19550-recursive-directory-listing?requestedDomain=true).
5+
6+
The script has been adapted for `opencobra` repositories, such as [the COBRA
7+
Toolbox](https://github.com/opencobra/cobratoolbox) and [the
8+
MATLAB.devTools](https://github.com/opencobra/MATLAB.devTools).

external/rdir/enhanced_rdir.m

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
%% RDIR Enhanced - Examples of use
2+
%
3+
% This script demonstrates how to use the different abilities of the
4+
% enhanced |rdir| function.
5+
%
6+
% Examples are based on |matlabroot| directory content. Results may vary
7+
% depending on your version of Matlab.
8+
%
9+
10+
%% Standard use
11+
rdir([matlabroot, '\*.txt'])
12+
13+
%% Using double wildcard **
14+
% List |".m"| files whose name contains |"tmpl"| in all subdirectories of
15+
% |matlabroot|
16+
rdir([matlabroot, '\**\*tmpl*.m'])
17+
18+
%% RDIR output
19+
d = rdir([matlabroot, '\**\*tmpl*.m'])
20+
21+
%%
22+
disp(d(1))
23+
24+
25+
%% Using 3rd argument to shorten output names
26+
% Remove |"C:\Program Files\"| in returned names
27+
rdir([matlabroot, '\*.txt'], '', 'C:\Program Files\')
28+
29+
%%
30+
% Remove |matlabroot| in returned names
31+
rdir([matlabroot, '\*.txt'], '', true)
32+
33+
%%
34+
% Optional 2nd |rdir| output indicates common path removed from each output
35+
% name
36+
[d, p] = rdir([matlabroot, '\*.txt'], '', true);
37+
38+
fprintf('Common path : \n%s\n\n', p)
39+
40+
disp( d(1) )
41+
42+
%% Using a filter with "regexp"
43+
% List |".mat"| files, then select those whose name match regular expression
44+
% |'data\d'| (ie |"data"| followed by a numeric digit)
45+
rdir([matlabroot '\toolbox\**\*.mat'], 'regexp(name, ''data\d'')', true)
46+
47+
%% Using a function handle as filter
48+
49+
fun = @(d) ~isempty(regexp(d.name, 'data\d')) && (d.bytes < 10*1024)
50+
51+
rdir([matlabroot '\toolbox\**\*.mat'], fun, true)
52+
53+
%% Specific display - No item matching filter
54+
% When some items match input path, but none match filter, a specific
55+
% message is displayed.
56+
rdir(matlabroot, 'strcmp(name, ''unknowtoolbox'')', 1)
57+
58+
59+
%% Specific display - Wrong filter
60+
% A warning is displayed after the non-filtered result list if entered
61+
% filter is wrong.
62+
rdir(matlabroot, 'wrong filter', 1)
63+
64+
65+
% EOF

0 commit comments

Comments
 (0)