Skip to content

Commit 7e1b9b9

Browse files
authored
Merge branch 'master' into FIX_notebook_kernel
2 parents 148cc05 + 7a448c6 commit 7e1b9b9

14 files changed

+266
-66
lines changed

CODE_OF_CONDUCT.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
## Our Standards
8+
9+
Examples of behavior that contributes to creating a positive environment include:
10+
11+
* Using welcoming and inclusive language
12+
* Being respectful of differing viewpoints and experiences
13+
* Gracefully accepting constructive criticism
14+
* Focusing on what is best for the community
15+
* Showing empathy towards other community members
16+
17+
Examples of unacceptable behavior by participants include:
18+
19+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
20+
* Trolling, insulting/derogatory comments, and personal or political attacks
21+
* Public or private harassment
22+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
23+
* Other conduct which could reasonably be considered inappropriate in a professional setting
24+
25+
## Our Responsibilities
26+
27+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28+
29+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30+
31+
## Scope
32+
33+
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34+
35+
## Enforcement
36+
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [email protected]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38+
39+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40+
41+
## Attribution
42+
43+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44+
45+
[homepage]: http://contributor-covenant.org
46+
[version]: http://contributor-covenant.org/version/1/4/

CONTRIBUTING.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Contributing to `nipype_tutorial`
2+
3+
Welcome to the `nipype_tutorial` repository! We're excited you're here and want to contribute.
4+
5+
These guidelines are designed to make it as easy as possible to get involved.
6+
If you have any questions that aren't discussed below, please let us know by opening an [issue][link_issues]!
7+
8+
Before you start you'll need to set up a free [GitHub][link_github] account and sign in.
9+
Here are some [instructions][link_signupinstructions] on how to do just that!
10+
11+
### Labels
12+
13+
The current list of labels are [here][link_labels] and include:
14+
15+
* [![Help Wanted](https://img.shields.io/badge/-help%20wanted-159818.svg)][link_helpwanted]
16+
*These issues contain a task that a member of the team has determined we need additional help with.*
17+
18+
If you feel that you can contribute to one of these issues, we especially encourage you to do so!
19+
20+
* [![Bug](https://img.shields.io/badge/-bug-fc2929.svg)][link_bugs]
21+
*These issues point to problems in the project.*
22+
23+
If you find new a bug, please give as much detail as possible in your issue, including steps to recreate the error.
24+
If you experience the same bug as one already listed, please add any additional information that you have as a comment.
25+
26+
* [![Enhancement](https://img.shields.io/badge/-enhancement-84b6eb.svg)][link_feature]
27+
*These issues are asking for enhancements to be added to the project.*
28+
29+
Please try to make sure that your requested feature is distinct from any others that have already been requested or implemented.
30+
If you find one that's similar but there are subtle differences please reference the other request in your issue.
31+
32+
## Making a change
33+
34+
We appreciate all contributions to `nipype_tutorial`, but those accepted fastest will follow a workflow similar to the following:
35+
36+
**1. Comment on an existing issue or open a new issue referencing your addition.**
37+
38+
This allows other members of the `nipype_tutorial` development team to confirm that you aren't overlapping with work that's currently underway and that everyone is on the same page with the goal of the work you're going to carry out.
39+
40+
[This blog][link_pushpullblog] is a nice explanation of why putting this work in up front is so useful to everyone involved.
41+
42+
**2. [Fork][link_fork] the [`nipype_tutorial` repository][link_nipype_tutorial] to your profile.**
43+
44+
This is now your own unique copy of `nipype_tutorial`.
45+
Changes here won't effect anyone else's work, so it's a safe space to explore edits to the code!
46+
47+
Make sure to [keep your fork up to date][link_updateupstreamwiki] with the original repository.
48+
49+
**3. Make the changes you've discussed.**
50+
51+
Try to keep the changes focused.
52+
If you feel tempted to "branch out" then please make a [new branch][link_branches].
53+
54+
**4. Submit a [pull request][link_pullrequest].**
55+
56+
A member of the development team will review your changes to confirm that they can be merged into the main codebase.
57+
58+
## Recognizing contributions
59+
60+
We welcome and recognize all contributions from documentation to testing to code development.
61+
You can see a list of our current contributors in the [contributors tab][link_contributors].
62+
63+
## Thank you!
64+
65+
You're awesome. :wave::smiley:
66+
67+
<br>
68+
69+
*&mdash; Based on contributing guidelines from the [STEMMRoleModels][link_stemmrolemodels] project.*
70+
71+
[link_github]: https://github.com/
72+
[link_nipype_tutorial]: https://github.com/rmarkello/nipype_tutorial
73+
[link_signupinstructions]: https://help.github.com/articles/signing-up-for-a-new-github-account
74+
[link_react]: https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments
75+
[link_issues]: https://github.com/rmarkello/nipype_tutorial/issues
76+
[link_labels]: https://github.com/rmarkello/nipype_tutorial/labels
77+
[link_discussingissues]: https://help.github.com/articles/discussing-projects-in-issues-and-pull-requests
78+
79+
[link_bugs]: https://github.com/rmarkello/nipype_tutorial/labels/bug
80+
[link_helpwanted]: https://github.com/rmarkello/nipype_tutorial/labels/help%20wanted
81+
[link_feature]: https://github.com/rmarkello/nipype_tutorial/labels/enhancement
82+
83+
[link_pullrequest]: https://help.github.com/articles/creating-a-pull-request/
84+
[link_fork]: https://help.github.com/articles/fork-a-repo/
85+
[link_pushpullblog]: https://www.igvita.com/2011/12/19/dont-push-your-pull-requests/
86+
[link_branches]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/
87+
[link_updateupstreamwiki]: https://help.github.com/articles/syncing-a-fork/
88+
[link_contributors]: https://github.com/rmarkello/nipype_tutorial/graphs/contributors
89+
[link_stemmrolemodels]: https://github.com/KirstieJane/STEMMRoleModels

Dockerfile

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,11 @@ RUN apt-get update -qq \
6363

6464
RUN sed -i '$isource /etc/fsl/fsl.sh' $ND_ENTRYPOINT
6565

66+
ENV LD_LIBRARY_PATH="/opt/miniconda-latest/envs/neuro/lib"
67+
6668
ENV FORCE_SPMMCR="1" \
67-
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu:/opt/matlabmcr-2018b/v95/runtime/glnxa64:/opt/matlabmcr-2018b/v95/bin/glnxa64:/opt/matlabmcr-2018b/v95/sys/os/glnxa64:/opt/matlabmcr-2018b/v95/extern/bin/glnxa64" \
68-
MATLABCMD="/opt/matlabmcr-2018b/v95/toolbox/matlab"
69+
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu:/opt/matlabmcr-2010a/v713/runtime/glnxa64:/opt/matlabmcr-2010a/v713/bin/glnxa64:/opt/matlabmcr-2010a/v713/sys/os/glnxa64:/opt/matlabmcr-2010a/v713/extern/bin/glnxa64" \
70+
MATLABCMD="/opt/matlabmcr-2010a/v713/toolbox/matlab"
6971
RUN apt-get update -qq \
7072
&& apt-get install -y -q --no-install-recommends \
7173
bc \
@@ -77,19 +79,25 @@ RUN apt-get update -qq \
7779
&& apt-get clean \
7880
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
7981
&& echo "Downloading MATLAB Compiler Runtime ..." \
80-
&& curl -fsSL --retry 5 -o /tmp/mcr.zip https://ssd.mathworks.com/supportfiles/downloads/R2018b/deployment_files/R2018b/installers/glnxa64/MCR_R2018b_glnxa64_installer.zip \
81-
&& unzip -q /tmp/mcr.zip -d /tmp/mcrtmp \
82-
&& /tmp/mcrtmp/install -destinationFolder /opt/matlabmcr-2018b -mode silent -agreeToLicense yes \
82+
&& curl -sSL --retry 5 -o /tmp/toinstall.deb http://mirrors.kernel.org/debian/pool/main/libx/libxp/libxp6_1.0.2-2_amd64.deb \
83+
&& dpkg -i /tmp/toinstall.deb \
84+
&& rm /tmp/toinstall.deb \
85+
&& apt-get install -f \
86+
&& apt-get clean \
87+
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
88+
&& curl -fsSL --retry 5 -o /tmp/MCRInstaller.bin https://dl.dropbox.com/s/zz6me0c3v4yq5fd/MCR_R2010a_glnxa64_installer.bin \
89+
&& chmod +x /tmp/MCRInstaller.bin \
90+
&& /tmp/MCRInstaller.bin -silent -P installLocation="/opt/matlabmcr-2010a" \
8391
&& rm -rf /tmp/* \
8492
&& echo "Downloading standalone SPM ..." \
85-
&& curl -fsSL --retry 5 -o /tmp/spm12.zip http://www.fil.ion.ucl.ac.uk/spm/download/restricted/utopia/dev/spm12_latest_Linux_R2018b.zip \
93+
&& curl -fsSL --retry 5 -o /tmp/spm12.zip http://www.fil.ion.ucl.ac.uk/spm/download/restricted/utopia/previous/spm12_r7219_R2010a.zip \
8694
&& unzip -q /tmp/spm12.zip -d /tmp \
87-
&& mkdir -p /opt/spm12-dev \
88-
&& mv /tmp/spm12/* /opt/spm12-dev/ \
89-
&& chmod -R 777 /opt/spm12-dev \
95+
&& mkdir -p /opt/spm12-r7219 \
96+
&& mv /tmp/spm12/* /opt/spm12-r7219/ \
97+
&& chmod -R 777 /opt/spm12-r7219 \
9098
&& rm -rf /tmp/* \
91-
&& /opt/spm12-dev/run_spm12.sh /opt/matlabmcr-2018b/v95 quit \
92-
&& sed -i '$iexport SPMMCRCMD=\"/opt/spm12-dev/run_spm12.sh /opt/matlabmcr-2018b/v95 script\"' $ND_ENTRYPOINT
99+
&& /opt/spm12-r7219/run_spm12.sh /opt/matlabmcr-2010a/v713 quit \
100+
&& sed -i '$iexport SPMMCRCMD=\"/opt/spm12-r7219/run_spm12.sh /opt/matlabmcr-2010a/v713 script\"' $ND_ENTRYPOINT
93101

94102
RUN useradd --no-user-group --create-home --shell /bin/bash neuro
95103
USER neuro
@@ -204,9 +212,15 @@ RUN echo '{ \
204212
\n "source /etc/fsl/fsl.sh" \
205213
\n ], \
206214
\n [ \
215+
\n "env", \
216+
\n { \
217+
\n "LD_LIBRARY_PATH": "/opt/miniconda-latest/envs/neuro/lib" \
218+
\n } \
219+
\n ], \
220+
\n [ \
207221
\n "spm12", \
208222
\n { \
209-
\n "version": "dev" \
223+
\n "version": "r7219" \
210224
\n } \
211225
\n ], \
212226
\n [ \

Singularity

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -69,19 +69,25 @@ apt-get install -y -q --no-install-recommends \
6969
apt-get clean
7070
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
7171
echo "Downloading MATLAB Compiler Runtime ..."
72-
curl -fsSL --retry 5 -o /tmp/mcr.zip https://ssd.mathworks.com/supportfiles/downloads/R2018b/deployment_files/R2018b/installers/glnxa64/MCR_R2018b_glnxa64_installer.zip
73-
unzip -q /tmp/mcr.zip -d /tmp/mcrtmp
74-
/tmp/mcrtmp/install -destinationFolder /opt/matlabmcr-2018b -mode silent -agreeToLicense yes
72+
curl -sSL --retry 5 -o /tmp/toinstall.deb http://mirrors.kernel.org/debian/pool/main/libx/libxp/libxp6_1.0.2-2_amd64.deb
73+
dpkg -i /tmp/toinstall.deb
74+
rm /tmp/toinstall.deb
75+
apt-get install -f
76+
apt-get clean
77+
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
78+
curl -fsSL --retry 5 -o /tmp/MCRInstaller.bin https://dl.dropbox.com/s/zz6me0c3v4yq5fd/MCR_R2010a_glnxa64_installer.bin
79+
chmod +x /tmp/MCRInstaller.bin
80+
/tmp/MCRInstaller.bin -silent -P installLocation="/opt/matlabmcr-2010a"
7581
rm -rf /tmp/*
7682
echo "Downloading standalone SPM ..."
77-
curl -fsSL --retry 5 -o /tmp/spm12.zip http://www.fil.ion.ucl.ac.uk/spm/download/restricted/utopia/dev/spm12_latest_Linux_R2018b.zip
83+
curl -fsSL --retry 5 -o /tmp/spm12.zip http://www.fil.ion.ucl.ac.uk/spm/download/restricted/utopia/previous/spm12_r7219_R2010a.zip
7884
unzip -q /tmp/spm12.zip -d /tmp
79-
mkdir -p /opt/spm12-dev
80-
mv /tmp/spm12/* /opt/spm12-dev/
81-
chmod -R 777 /opt/spm12-dev
85+
mkdir -p /opt/spm12-r7219
86+
mv /tmp/spm12/* /opt/spm12-r7219/
87+
chmod -R 777 /opt/spm12-r7219
8288
rm -rf /tmp/*
83-
/opt/spm12-dev/run_spm12.sh /opt/matlabmcr-2018b/v95 quit
84-
sed -i '$iexport SPMMCRCMD=\"/opt/spm12-dev/run_spm12.sh /opt/matlabmcr-2018b/v95 script\"' $ND_ENTRYPOINT
89+
/opt/spm12-r7219/run_spm12.sh /opt/matlabmcr-2010a/v713 quit
90+
sed -i '$iexport SPMMCRCMD=\"/opt/spm12-r7219/run_spm12.sh /opt/matlabmcr-2010a/v713 script\"' $ND_ENTRYPOINT
8591

8692
useradd --no-user-group --create-home --shell /bin/bash neuro
8793
su - neuro
@@ -198,9 +204,15 @@ echo '{
198204
\n "source /etc/fsl/fsl.sh"
199205
\n ],
200206
\n [
207+
\n "env",
208+
\n {
209+
\n "LD_LIBRARY_PATH": "/opt/miniconda-latest/envs/neuro/lib"
210+
\n }
211+
\n ],
212+
\n [
201213
\n "spm12",
202214
\n {
203-
\n "version": "dev"
215+
\n "version": "r7219"
204216
\n }
205217
\n ],
206218
\n [
@@ -313,9 +325,10 @@ echo '{
313325
export LANG="en_US.UTF-8"
314326
export LC_ALL="en_US.UTF-8"
315327
export ND_ENTRYPOINT="/neurodocker/startup.sh"
328+
export LD_LIBRARY_PATH="/opt/miniconda-latest/envs/neuro/lib"
316329
export FORCE_SPMMCR="1"
317-
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu:/opt/matlabmcr-2018b/v95/runtime/glnxa64:/opt/matlabmcr-2018b/v95/bin/glnxa64:/opt/matlabmcr-2018b/v95/sys/os/glnxa64:/opt/matlabmcr-2018b/v95/extern/bin/glnxa64"
318-
export MATLABCMD="/opt/matlabmcr-2018b/v95/toolbox/matlab"
330+
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu:/opt/matlabmcr-2010a/v713/runtime/glnxa64:/opt/matlabmcr-2010a/v713/bin/glnxa64:/opt/matlabmcr-2010a/v713/sys/os/glnxa64:/opt/matlabmcr-2010a/v713/extern/bin/glnxa64"
331+
export MATLABCMD="/opt/matlabmcr-2010a/v713/toolbox/matlab"
319332
export CONDA_DIR="/opt/miniconda-latest"
320333
export PATH="/opt/miniconda-latest/bin:$PATH"
321334

generate.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ generate_docker() {
1111
git-annex-standalone vim emacs-nox nano less ncdu \
1212
tig git-annex-remote-rclone octave netbase \
1313
--add-to-entrypoint "source /etc/fsl/fsl.sh" \
14-
--spm12 version=dev \
14+
--env LD_LIBRARY_PATH="/opt/miniconda-latest/envs/neuro/lib" \
15+
--spm12 version=r7219 \
1516
--user=neuro \
1617
--miniconda miniconda_version="4.3.31" \
1718
conda_install="python=3.6 pytest jupyter jupyterlab jupyter_contrib_nbextensions
@@ -49,7 +50,8 @@ generate_singularity() {
4950
git-annex-standalone vim emacs-nox nano less ncdu \
5051
tig git-annex-remote-rclone octave netbase \
5152
--add-to-entrypoint "source /etc/fsl/fsl.sh" \
52-
--spm12 version=dev \
53+
--env LD_LIBRARY_PATH="/opt/miniconda-latest/envs/neuro/lib" \
54+
--spm12 version=r7219 \
5355
--user=neuro \
5456
--miniconda miniconda_version="4.3.31" \
5557
conda_install="python=3.6 pytest jupyter jupyterlab jupyter_contrib_nbextensions

notebooks/advanced_spmmcr.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"outputs": [],
1717
"source": [
1818
"from nipype.interfaces import spm\n",
19-
"matlab_cmd = '/opt/spm12-dev/run_spm12.sh /opt/matlabmcr-2018b/v95/ script'\n",
19+
"matlab_cmd = '/opt/spm12-r7219/run_spm12.sh /opt/matlabmcr-2010a/v713/ script'\n",
2020
"spm.SPMCommand.set_mlab_paths(matlab_cmd=matlab_cmd, use_mcr=True)"
2121
]
2222
},

notebooks/basic_debug.ipynb

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,13 @@
2121
" config.enable_debug_mode()\n",
2222
" ```\n",
2323
"\n",
24-
" as the first import of your nipype script. To enable debug logging use:\n",
25-
"\n",
26-
" ```python\n",
27-
" from nipype import logging\n",
28-
" logging.update_logging(config)\n",
29-
" ```\n",
24+
" as the first import of your nipype script.\n",
25+
" \n",
26+
" **Note:**\n",
27+
" - Turning on debug will rerun your workflows and will rerun them after debugging is turned off.\n",
28+
" - Turning on debug mode will also override log levels specified elsewhere, such as in the nipype configuration. \n",
29+
" - `workflow`, `interface` and `utils` loggers will all be set to level `DEBUG`.\n",
3030
" \n",
31-
" **Note:** Turning on debug will rerun your workflows and will rerun them after debugging is turned off.\n",
3231
"\n",
3332
"- There are several configuration options that can help with debugging.\n",
3433
" See [Configuration File](config_file.ipynb) for more details:\n",

notebooks/basic_error_and_crashes.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@
451451
"\n",
452452
"```python\n",
453453
"from nipype.interfaces.matlab import MatlabCommand\n",
454-
"MatlabCommand.set_default_paths('/opt/spm12-dev/spm12_mcr/spm/spm12')\n",
454+
"MatlabCommand.set_default_paths('/opt/spm12-r7219/spm12_mcr/spm12')\n",
455455
"```"
456456
]
457457
},

notebooks/basic_execution_configuration.ipynb

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,8 @@
276276
"metadata": {},
277277
"outputs": [],
278278
"source": [
279-
"from nipype import config, logging\n",
280-
"config.enable_debug_mode()\n",
281-
"logging.update_logging(config)"
279+
"from nipype import config\n",
280+
"config.enable_debug_mode()"
282281
]
283282
},
284283
{
@@ -296,8 +295,23 @@
296295
"source": [
297296
"config.set('execution', 'stop_on_first_crash', 'true')\n",
298297
"config.set('execution', 'remove_unnecessary_outputs', 'false')\n",
298+
"config.set('execution', 'keep_inputs', 'true')\n",
299299
"config.set('logging', 'workflow_level', 'DEBUG')\n",
300-
"config.set('logging', 'interface_level', 'DEBUG')"
300+
"config.set('logging', 'interface_level', 'DEBUG')\n",
301+
"config.set('logging', 'utils_level', 'DEBUG')"
302+
]
303+
},
304+
{
305+
"cell_type": "markdown",
306+
"metadata": {},
307+
"source": [
308+
"The primary loggers (`workflow`, `interface` and `utils`) are also reset to level `DEBUG`.\n",
309+
"\n",
310+
"You may wish to adjust these manually using:\n",
311+
"```python\n",
312+
"from nipype import logging\n",
313+
"logging.getLogger(<logger>).setLevel(<level>)\n",
314+
"```"
301315
]
302316
},
303317
{

notebooks/basic_interfaces.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@
118118
"cell_type": "markdown",
119119
"metadata": {},
120120
"source": [
121-
"Perfect! Exactly what we want. Hmm... what else could we want from BET? Well, it's actually a fairly complicated program. As is the case for all FSL binaries, just call it with no arguments to see all its options."
121+
"Perfect! Exactly what we want. Hmm... what else could we want from BET? Well, it's actually a fairly complicated program. As is the case for all FSL binaries, just call it with the help flag `-h` to see all its options."
122122
]
123123
},
124124
{

notebooks/example_normalize.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@
351351
"# Smoothing withds used during preprocessing\n",
352352
"fwhm = [4, 8]\n",
353353
"\n",
354-
"template = '/opt/spm12-dev/spm12_mcr/spm/spm12/tpm/TPM.nii'"
354+
"template = '/opt/spm12-r7219/spm12_mcr/spm12/tpm/TPM.nii'"
355355
]
356356
},
357357
{

0 commit comments

Comments
 (0)