Skip to content

Commit 8d530d3

Browse files
committed
Merge remote-tracking branch 'upstream/master' into fix/1933
2 parents 2c684f1 + c26b3de commit 8d530d3

29 files changed

+400
-159
lines changed

.circle/tests.sh

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,27 @@ fi
1717
# They may need to be rebalanced in the future.
1818
case ${CIRCLE_NODE_INDEX} in
1919
0)
20-
docker run --rm=false -it -e FSL_COURSE_DATA="/data/examples/nipype-fsl_course_data" -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_pytests.sh && \
20+
docker run --rm=false -it -e FSL_COURSE_DATA="/data/examples/nipype-fsl_course_data" -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py36 /usr/bin/run_pytests.sh && \
2121
docker run --rm=false -it -e FSL_COURSE_DATA="/data/examples/nipype-fsl_course_data" -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py27 /usr/bin/run_pytests.sh && \
22-
docker run --rm=false -it -v $WORKDIR:/work -w /src/nipype/doc nipype/nipype:py35 /usr/bin/run_builddocs.sh && \
23-
docker run --rm=false -it -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh test_spm Linear /data/examples/ workflow3d && \
24-
docker run --rm=false -it -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh test_spm Linear /data/examples/ workflow4d
22+
docker run --rm=false -it -v $WORKDIR:/work -w /src/nipype/doc --entrypoint=/usr/bin/run_builddocs.sh nipype/nipype:py36 /usr/bin/run_builddocs.sh && \
23+
docker run --rm=false -it -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py36 /usr/bin/run_examples.sh test_spm Linear /data/examples/ workflow3d && \
24+
docker run --rm=false -it -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py36 /usr/bin/run_examples.sh test_spm Linear /data/examples/ workflow4d
2525
exitcode=$?
2626
;;
2727
1)
28-
docker run --rm=false -it -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh fmri_spm_dartel Linear /data/examples/ level1 && \
29-
docker run --rm=false -it -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh fmri_spm_dartel Linear /data/examples/ l2pipeline
28+
docker run --rm=false -it -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py36 /usr/bin/run_examples.sh fmri_spm_dartel Linear /data/examples/ level1 && \
29+
docker run --rm=false -it -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py36 /usr/bin/run_examples.sh fmri_spm_dartel Linear /data/examples/ l2pipeline
3030
exitcode=$?
3131
;;
3232
2)
3333
docker run --rm=false -it -e NIPYPE_NUMBER_OF_CPUS=4 -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py27 /usr/bin/run_examples.sh fmri_spm_nested MultiProc /data/examples/ level1 && \
34-
docker run --rm=false -it -e NIPYPE_NUMBER_OF_CPUS=4 -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh fmri_spm_nested MultiProc /data/examples/ l2pipeline
34+
docker run --rm=false -it -e NIPYPE_NUMBER_OF_CPUS=4 -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py36 /usr/bin/run_examples.sh fmri_spm_nested MultiProc /data/examples/ l2pipeline
3535
exitcode=$?
3636
;;
3737
3)
38-
docker run --rm=false -it -e NIPYPE_NUMBER_OF_CPUS=4 -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh fmri_spm_nested MultiProc /data/examples/ level1 && \
39-
docker run --rm=false -it -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh fmri_fsl_feeds Linear /data/examples/ l1pipeline && \
40-
docker run --rm=false -it -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh fmri_fsl_reuse Linear /data/examples/ level1_workflow
38+
docker run --rm=false -it -e NIPYPE_NUMBER_OF_CPUS=4 -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py36 /usr/bin/run_examples.sh fmri_spm_nested MultiProc /data/examples/ level1 && \
39+
docker run --rm=false -it -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py36 /usr/bin/run_examples.sh fmri_fsl_feeds Linear /data/examples/ l1pipeline && \
40+
docker run --rm=false -it -v $HOME/examples:/data/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py36 /usr/bin/run_examples.sh fmri_fsl_reuse Linear /data/examples/ level1_workflow
4141
exitcode=$?
4242
;;
4343
esac

.github/ISSUE_TEMPLATE.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,17 @@
66

77
### How to replicate the behavior
88

9+
### Script/Workflow details
10+
11+
Please put URL to code or code here (if not too long).
12+
913
### Platform details:
10-
please paste the output of: `python -c "import nipype; print(nipype.get_info()); print(nipype.__version__)"`
14+
15+
Please paste the output of: `python -c "import nipype; print(nipype.get_info()); print(nipype.__version__)"`
16+
17+
### Execution environment
18+
19+
Choose one
20+
- Container [Tag: ???]
21+
- My python environment inside container [Base Tag: ???]
22+
- My python environment outside container

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ python:
66
- 2.7
77
- 3.4
88
- 3.5
9+
- 3.6
910
env:
1011
- INSTALL_DEB_DEPENDECIES=true NIPYPE_EXTRAS="doc,tests,fmri,profiler"
1112
- INSTALL_DEB_DEPENDECIES=false NIPYPE_EXTRAS="doc,tests,fmri,profiler"

CHANGES

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ Upcoming Release
22
=====================
33

44
* FIX: Ensure build fails in Circle when tests fail (https://github.com/nipy/nipype/pull/1981)
5+
* ENH: Add interface to antsAffineInitializer (https://github.com/nipy/nipype/pull/1980)
56
* ENH: AFNI motion parameter support for FrameWiseDisplacement (https://github.com/nipy/nipype/pull/1840)
67
* ENH: Add ANTs KellyKapowski interface (https://github.com/nipy/nipype/pull/1845)
78
* FIX: AFNI interface bug setting OMP_NUM_THREADS to 1 (https://github.com/nipy/nipype/pull/1728)

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ ENV PATH=/usr/local/miniconda/bin:$PATH \
5050
# only use one thread - nipype will handle parallelization
5151

5252
# Installing precomputed python packages
53-
ARG PYTHON_VERSION_MINOR=5
53+
ARG PYTHON_VERSION_MINOR=6
5454
RUN conda config --add channels conda-forge; sync && \
5555
conda config --set always_yes yes --set changeps1 no; sync && \
5656
conda install -y python=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} \

circle.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ dependencies:
3838
- if [ "$CIRCLE_TAG" != "" ]; then sed -i -E "s/(__version__ = )'[A-Za-z0-9.-]+'/\1'$CIRCLE_TAG'/" nipype/info.py; fi
3939
# - e=1 && for i in {1..5}; do docker build -f docker/base.Dockerfile --rm=false -t nipype/base:latest . && e=0 && break || sleep 15; done && [ "$e" -eq "0" ] :
4040
# timeout: 21600
41-
- e=1 && for i in {1..5}; do docker build --rm=false -t nipype/nipype:latest -t nipype/nipype:py35 --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` --build-arg VCS_REF=`git rev-parse --short HEAD` --build-arg VERSION=$CIRCLE_TAG . && e=0 && break || sleep 15; done && [ "$e" -eq "0" ] :
41+
- e=1 && for i in {1..5}; do docker build --rm=false -t nipype/nipype:latest -t nipype/nipype:py36 --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` --build-arg VCS_REF=`git rev-parse --short HEAD` --build-arg VERSION=$CIRCLE_TAG . && e=0 && break || sleep 15; done && [ "$e" -eq "0" ] :
4242
timeout: 6000
4343
- e=1 && for i in {1..5}; do docker build --rm=false -t nipype/nipype:py27 --build-arg PYTHON_VERSION_MAJOR=2 --build-arg PYTHON_VERSION_MINOR=7 --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` --build-arg VCS_REF=`git rev-parse --short HEAD` --build-arg VERSION=$CIRCLE_TAG-py27 . && e=0 && break || sleep 15; done && [ "$e" -eq "0" ] :
4444
timeout: 6000
45-
- docker save -o $HOME/docker/cache.tar nipype/base:latest nipype/nipype:py35 nipype/nipype:py27 :
45+
- docker save -o $HOME/docker/cache.tar nipype/base:latest nipype/nipype:py36 nipype/nipype:py27 :
4646
timeout: 6000
4747

4848
test:

doc/devel/testing_nipype.rst

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -109,16 +109,17 @@ Testing Nipype using Docker
109109

110110
As of :code:`nipype-0.13`, Nipype is tested inside Docker containers. First, install the
111111
`Docker Engine <https://docs.docker.com/engine/installation/>`_.
112-
Nipype has one base docker image called nipype/nipype, and several additional test images
112+
Nipype has one base docker image called nipype/base:latest, and several additional test images
113113
for various Python versions.
114114

115-
The base nipype/nipype image is built as follows::
115+
The base nipype image is built as follows::
116116

117117
cd path/to/nipype/
118-
docker build -t nipype/nipype .
118+
docker build -t nipype/base:latest -f docker/base.Dockerfile .
119+
120+
This base image contains several useful tools (FreeSurfer, AFNI, FSL, ANTs, etc.),
121+
but not nipype.
119122

120-
This base image contains several useful tools (FreeSurfer, AFNI, FSL, ANTs, etc.) and
121-
a nipype installation, all in Python 3.5.
122123
It is possible to fetch a built image from the latest master branch of nipype
123124
using::
124125

@@ -128,26 +129,15 @@ using::
128129
The docker run command will then open the container and offer a bash shell for the
129130
developer.
130131

131-
The additional test images have several test scripts installed. For instance,
132-
to build and run all tests on Python 2.7::
133-
134-
cd path/to/nipype/
135-
docker build -f docker/Dockerfile_py27 -t nipype/nipype_test:py27 .
136-
docker run -it --rm -e FSL_COURSE_DATA="/root/examples/nipype-fsl_course_data" \
137-
-v ~/examples:/root/examples:ro \
138-
-v ~/scratch:/scratch \
139-
-w /root/src/nipype \
140-
nipype/nipype_test:py27 /usr/bin/run_pytests.sh
141-
142-
For running nipype in Python 3.5::
132+
For building a continer for running nipype in Python 3.6::
143133

144134
cd path/to/nipype/
145-
docker build -f docker/Dockerfile_py35 -t nipype/nipype_test:py35 .
135+
docker build -f Dockerfile -t nipype/nipype_test:py36 .
146136
docker run -it --rm -e FSL_COURSE_DATA="/root/examples/nipype-fsl_course_data" \
147137
-v ~/examples:/root/examples:ro \
148138
-v ~/scratch:/scratch \
149139
-w /root/src/nipype \
150-
nipype/nipype_test:py35 /usr/bin/run_pytests.sh
140+
nipype/nipype_test:py36 /usr/bin/run_pytests.sh
151141

152-
The last two examples assume that the example data is downladed into ~/examples and
142+
The last examples assume that the example data is downladed into ~/examples and
153143
the ~/scratch folder will be created if it does not exist previously.

doc/documentation.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,13 @@ Documentation
1111

1212
Previous versions: `0.12.0 <http://nipype.readthedocs.io/en/0.12.0/>`_ `0.11.0 <http://nipy.org/nipype/0.11.0>`_
1313

14+
1415
.. container:: doc2
1516

17+
.. admonition:: Michael Notter's Nipype guide
18+
19+
Be sure to read `Michael's excellent tutorials <https://miykael.github.io/nipype_tutorial/>`_.
20+
1621
.. admonition:: Guides
1722

1823
.. hlist::

doc/links_names.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,7 @@
7474
.. _pythonxy: https://python-xy.github.io/
7575
.. _EPD: http://www.enthought.com/products/epd.php
7676
.. _Traits: http://code.enthought.com/projects/traits/
77-
.. _Anaconda: https://www.continuum.io/downloads
78-
.. _Canopy: https://www.enthought.com/products/canopy/
77+
.. _Miniconda: https://conda.io/miniconda.html
7978

8079
.. Python imaging projects
8180
.. _PyMVPA: http://www.pymvpa.org

doc/quickstart.rst

Lines changed: 13 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,34 +11,30 @@ Downloading and installing
1111
:maxdepth: 1
1212

1313
users/install
14-
users/vagrant
1514

1615
Beginner's guide
1716
================
1817

19-
Beginner's tutorials (IPython Notebooks). `Available here`__
18+
Michael Notter's Nipype tutorial. `Available here`__
2019

21-
Michael Notter's Nipype guide. `Available here`__
20+
__ https://miykael.github.io/nipype_tutorial/
2221

23-
Dissecting Nipype Workflows. `Available here`__
22+
Nipype workshop materials
23+
=========================
2424

25-
Introductory slides [older]. `Available here`__
25+
Self-assessment questionnaire with links to learning about each piece. `Available here`__
2626

27-
__ https://github.com/mwaskom/nipype_concepts
28-
__ http://miykael.github.com/nipype-beginner-s-guide/index.html
29-
__ http://slideviewer.herokuapp.com/url/raw.github.com/nipy/nipype/master/examples/nipype_tutorial.ipynb?theme=sky
30-
__ http://satra.github.com/intro2nipype
27+
Lecture slides `Available here`__
3128

32-
User guides
33-
===========
29+
__ http://nipy.org/workshops/2017-03-boston/review.html
30+
__ http://nipy.org/workshops/2017-03-boston/index.html
3431

35-
.. toctree::
36-
:maxdepth: 1
32+
`Docker containers <https://hub.docker.com/r/nipype/workshops/tags/>`_
33+
34+
`Github project for lectures <https://github.com/nipy/workshops/tree/gh-pages/2017-03-boston>`_
35+
`Github project for dockerfiles + notebooks <https://github.com/nipy/workshops/tree/master/170327-nipype>`_
3736

38-
users/interface_tutorial
39-
users/pipeline_tutorial
40-
users/plugins
41-
users/debug
37+
`All notebooks visualized <http://nbviewer.jupyter.org/github/nipy/workshops/tree/master/170327-nipype/notebooks/>`_
4238

4339
Developer guides
4440
================
@@ -47,16 +43,6 @@ Developer guides
4743
:maxdepth: 1
4844

4945
devel/writing_custom_interfaces
50-
devel/gitwash/index
5146

5247
.. include:: links_names.txt
5348

54-
Useful links for beginners
55-
===========================
56-
57-
Getting started with Python - Tutorials. `Available here`__
58-
59-
Python for Beginners `Available here`__
60-
61-
__ http://www.codecademy.com/en/tracks/python
62-
__ https://www.python.org/about/gettingstarted/

doc/users/index.rst

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,12 @@
1111
:maxdepth: 2
1212

1313
install
14-
vagrant
1514

16-
interface_tutorial
1715
caching_tutorial
1816

1917
.. toctree::
2018
:maxdepth: 1
2119

22-
pipeline_tutorial
2320
plugins
2421
config_file
2522
debug

doc/users/install.rst

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,17 @@ This page covers the necessary steps to install Nipype.
99
Nipype for users
1010
----------------
1111

12-
Using conda
13-
~~~~~~~~~~~
14-
15-
Installing nipype from the conda-forge channel can be achieved by adding conda-forge to your channels with::
16-
17-
conda config --add channels conda-forge
12+
Using docker
13+
~~~~~~~~~~~~
1814

15+
You can follow the `Nipype tutorial <https://miykael.github.io/nipype_tutorial/>`_
1916

20-
Once the conda-forge channel has been enabled, nipype can be installed with::
17+
Using conda
18+
~~~~~~~~~~~
2119

22-
conda install nipype
20+
Installing nipype from the conda-forge channel can be achieved by::
2321

22+
conda install --channel conda-forge nipype
2423

2524
It is possible to list all of the versions of nipype available on your platform with::
2625

@@ -36,18 +35,23 @@ The installation process is similar to other Python packages.
3635

3736
If you already have a Python environment set up, you can do::
3837

39-
easy_install nipype
40-
41-
or::
42-
4338
pip install nipype
4439

45-
4640
If you want to install all the optional features of ``nipype``,
47-
use the following command (only for ``nipype>=0.13``)::
41+
use the following command::
4842

4943
pip install nipype[all]
5044

45+
While `all` installs everything, one can also install select components as
46+
listed below::
47+
48+
'doc': ['Sphinx>=1.4', 'matplotlib', 'pydotplus'],
49+
'tests': ['pytest-cov', 'codecov'],
50+
'nipy': ['nitime', 'nilearn', 'dipy', 'nipy', 'matplotlib'],
51+
'profiler': ['psutil'],
52+
'duecredit': ['duecredit'],
53+
'xvfbwrapper': ['xvfbwrapper'],
54+
5155

5256
Debian and Ubuntu
5357
~~~~~~~~~~~~~~~~~
@@ -59,11 +63,14 @@ manager.
5963
Mac OS X
6064
~~~~~~~~
6165

62-
The easiest way to get nipype running on Mac OS X is to install Anaconda_ or
63-
Canopy_ and then add nipype by executing::
66+
The easiest way to get nipype running on Mac OS X is to install Miniconda_ and
67+
follow the instructions above. If you have a non-conda environment you can
68+
install nipype by typing::
6469

65-
easy_install nipype
70+
pip install nipype
6671

72+
Note that the above procedure may require availability of gcc on your system
73+
path to compile the traits package.
6774

6875
From source
6976
~~~~~~~~~~~
@@ -79,47 +86,42 @@ If you downloaded the source distribution named something
7986
like ``nipype-x.y.tar.gz``, then unpack the tarball, change into the
8087
``nipype-x.y`` directory and install nipype using::
8188

82-
python setup.py install
89+
pip install .
8390

8491
**Note:** Depending on permissions you may need to use ``sudo``.
8592

8693

8794
Testing the install
8895
-------------------
8996

90-
The best way to test the install is checking nipype's version ::
97+
The best way to test the install is checking nipype's version and then running
98+
the tests::
9199

92100
python -c "import nipype; print(nipype.__version__)"
93-
101+
python -c "import nipype; nipype.test()"
94102

95103
Installation for developers
96104
---------------------------
97105

98106
Developers should start `here <../devel/testing_nipype.html>`_.
99107

100-
101108
Recommended Software
102-
------------
109+
--------------------
103110

104111
Strong Recommendations
105112
~~~~~~~~~~~~~~~~~~~~~~
106113

107-
IPython_ 0.10.2 - 1.0.0
108-
Interactive python environment. This is necessary for some parallel
109-
components of the pipeline engine.
114+
IPython_
115+
Interactive python environment.
110116

111-
Matplotlib_ 1.0 - 1.2
117+
Matplotlib_
112118
Plotting library
113119

114-
`RDFLib <http://rdflib.readthedocs.org/en/latest/>`_ 4.1
115-
RDFLibrary required for provenance export as RDF
116-
117120
Sphinx_ 1.1
118121
Required for building the documentation
119122

120123
`Graphviz <http://www.graphviz.org/>`_
121-
Required for building the documentation. The python wrapper package (``graphviz``)
122-
and the program itself both need to be installed.
124+
Required for building the documentation.
123125

124126
Interface Dependencies
125127
~~~~~~~~~~~~~~~~~~~~~~
@@ -148,7 +150,7 @@ Slicer_
148150
3.6 or later
149151

150152
Nipy_
151-
0.1.2+20110404 or later
153+
0.4 or later
152154

153155
Nitime_
154156
(optional)

0 commit comments

Comments
 (0)