Skip to content

Commit d879587

Browse files
committed
Merge branch 'master' of git://github.com/nipy/nipype into fix/realign
2 parents 7100768 + ae7af2d commit d879587

Some content is hidden

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

73 files changed

+3864
-374
lines changed

.circle/tests.sh

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,35 @@ 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
25+
exitcode=$?
2526
;;
2627
1)
27-
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 && \
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/ 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
30+
exitcode=$?
2931
;;
3032
2)
3133
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 && \
32-
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
35+
exitcode=$?
3336
;;
3437
3)
35-
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 && \
36-
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 && \
37-
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
41+
exitcode=$?
3842
;;
3943
esac
4044

4145
cp ${WORKDIR}/tests/*.xml ${CIRCLE_TEST_REPORTS}/tests/
46+
47+
# Exit with error if any of the tests failed
48+
if [ "$exitcode" != "0" ]; then exit 1; fi
4249
codecov -f "coverage*.xml" -s "${WORKDIR}/tests/" -R "${HOME}/nipype/" -F unittests -e CIRCLE_NODE_INDEX
4350
codecov -f "smoketest*.xml" -s "${WORKDIR}/tests/" -R "${HOME}/nipype/" -F smoketests -e CIRCLE_NODE_INDEX
51+

.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: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
Upcoming Release
22
=====================
33

4+
* 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)
46
* ENH: AFNI motion parameter support for FrameWiseDisplacement (https://github.com/nipy/nipype/pull/1840)
57
* ENH: Add ANTs KellyKapowski interface (https://github.com/nipy/nipype/pull/1845)
68
* 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

0 commit comments

Comments
 (0)