Skip to content

Commit e5a73b7

Browse files
committed
Merge remote-tracking branch 'upstream/master' into enh/FSLstd2imgcoords
2 parents 57d3a3b + 99d191a commit e5a73b7

File tree

720 files changed

+20049
-5373
lines changed

Some content is hidden

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

720 files changed

+20049
-5373
lines changed

.dockerignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.git/
2+
*.pyc
3+
*.egg-info
4+
__pycache__
5+
docker/nipype_*
6+
docker/test-*
7+
.coverage

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,7 @@ nipype/testing/data/von_errmap.nii.gz
2121
crash*.pklz
2222
.coverage
2323
htmlcov/
24+
__pycache__/
25+
*~
26+
.ipynb_checkpoints/
27+
.ruby-version

.noserc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
[nosetests]
22
verbosity=3
3+
logging-level=DEBUG
4+
with-doctest=1
5+
with-doctest-ignore-unicode=1
36

7+
with-xunit=1
48
with-coverage=1
59
cover-branches=1
610
cover-xml=1
7-
cover-xml-file=./coverage.xml
811
cover-min-percentage=50
9-
10-
11-
with-xunit=1

.travis.yml

Lines changed: 29 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -4,61 +4,46 @@ language: python
44
python:
55
- 2.7
66
- 3.4
7+
- 3.5
78
env:
89
- INSTALL_DEB_DEPENDECIES=true
910
- INSTALL_DEB_DEPENDECIES=false
11+
- INSTALL_DEB_DEPENDECIES=true DUECREDIT_ENABLE=yes
1012
before_install:
11-
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then wget http://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh
12-
-O miniconda.sh; else wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
13-
-O miniconda.sh; fi
14-
- chmod +x miniconda.sh
15-
- "./miniconda.sh -b"
16-
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then export PATH=/home/travis/miniconda2/bin:$PATH; else export PATH=/home/travis/miniconda3/bin:$PATH; fi
13+
- wget http://repo.continuum.io/miniconda/Miniconda${TRAVIS_PYTHON_VERSION:0:1}-latest-Linux-x86_64.sh
14+
-O /home/travis/.cache/miniconda.sh
15+
- bash /home/travis/.cache/miniconda.sh -b -p /home/travis/miniconda
16+
- export PATH=/home/travis/miniconda/bin:$PATH
1717
- if $INSTALL_DEB_DEPENDECIES; then sudo rm -rf /dev/shm; fi
1818
- if $INSTALL_DEB_DEPENDECIES; then sudo ln -s /run/shm /dev/shm; fi
1919
- bash <(wget -q -O- http://neuro.debian.net/_files/neurodebian-travis.sh)
20-
- sudo apt-get update
21-
- sudo apt-get install xvfb
22-
- if $INSTALL_DEB_DEPENDECIES; then travis_retry sudo apt-get install -qq --no-install-recommends
23-
fsl afni elastix; fi
24-
- if $INSTALL_DEB_DEPENDECIES; then travis_retry sudo apt-get install -qq fsl-atlases;
25-
fi
26-
- if $INSTALL_DEB_DEPENDECIES; then source /etc/fsl/fsl.sh; fi
27-
- if $INSTALL_DEB_DEPENDECIES; then source /etc/afni/afni.sh; fi
20+
- sudo apt-get -y update
21+
- sudo apt-get -y install xvfb fusefat
22+
- if $INSTALL_DEB_DEPENDECIES; then travis_retry sudo apt-get install -y -qq
23+
fsl afni elastix fsl-atlases; fi
24+
- if $INSTALL_DEB_DEPENDECIES; then
25+
source /etc/fsl/fsl.sh;
26+
source /etc/afni/afni.sh; fi
2827
- export FSLOUTPUTTYPE=NIFTI_GZ
29-
# Install vtk and fix numpy installation problem
30-
# Fix numpy problem: https://github.com/enthought/enable/issues/34#issuecomment-2029381
31-
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then travis_retry sudo apt-get install -qq libx11-dev swig;
32-
echo '[x11]' >> $HOME/.numpy-site.cfg;
33-
echo 'library_dirs = /usr/lib64:/usr/lib:/usr/lib/x86_64-linux-gnu' >> $HOME/.numpy-site.cfg;
34-
echo 'include_dirs = /usr/include:/usr/include/X11' >> $HOME/.numpy-site.cfg;
35-
fi
3628
install:
29+
- conda config --add channels conda-forge
3730
- conda update --yes conda
38-
- conda create -n testenv --yes pip python=$TRAVIS_PYTHON_VERSION
39-
- source activate testenv
40-
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then pip install ordereddict; fi
41-
- conda install --yes numpy scipy nose networkx dateutil
42-
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then conda install --yes traits; else pip install traits; fi
43-
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then conda install --yes vtk; fi
44-
- pip install python-coveralls
45-
- pip install nose-cov
46-
# Add tvtk (PIL is required by blockcanvas)
47-
# Install mayavi (see https://github.com/enthought/mayavi/issues/271)
48-
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then
49-
pip install http://effbot.org/downloads/Imaging-1.1.7.tar.gz;
50-
pip install -e git+https://github.com/enthought/etsdevtools.git#egg=etsdevtools;
51-
pip install -e git+https://github.com/enthought/blockcanvas.git#egg=blockcanvas;
52-
pip install -e git+https://github.com/enthought/etsproxy.git#egg=etsproxy;
53-
pip install https://github.com/dmsurti/mayavi/archive/4d4aaf315a29d6a86707dd95149e27d9ed2225bf.zip;
54-
pip install -e git+https://github.com/enthought/ets.git#egg=ets;
55-
fi
56-
- pip install -r requirements.txt # finish remaining requirements
57-
- python setup.py install
31+
- conda update --all -y python=$TRAVIS_PYTHON_VERSION
32+
# - if [[ "${INSTALL_DEB_DEPENDECIES}" == "true" && ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]]; then
33+
# conda install -y vtk mayavi; fi
34+
- conda install -y nipype
35+
- pip install python-coveralls coverage doctest-ignore-unicode
36+
- if [ ! -z "$DUECREDIT_ENABLE"]; then pip install duecredit; fi
37+
- rm -r /home/travis/miniconda/lib/python${TRAVIS_PYTHON_VERSION}/site-packages/nipype*
38+
- pip install -r requirements.txt
39+
- pip install -e .
40+
- export COVERAGE_PROCESS_START=$(pwd)/.coveragerc
41+
- export COVERAGE_DATA_FILE=$(pwd)/.coverage
42+
- echo "data_file = ${COVERAGE_DATA_FILE}" >> ${COVERAGE_PROCESS_START}
5843
script:
59-
- python -W once:FSL:UserWarning:nipype `which nosetests` --with-doctest --with-cov --cover-package nipype --cov-config .coveragerc --logging-level=INFO
44+
- python -W once:FSL:UserWarning:nipype `which nosetests` --with-doctest --with-doctest-ignore-unicode --with-cov --cover-package nipype --logging-level=DEBUG --verbosity=3
6045
after_success:
61-
- coveralls --config_file .coveragerc
46+
- coveralls --config_file ${COVERAGE_PROCESS_START}
6247
deploy:
6348
provider: pypi
6449
user: satra
@@ -68,4 +53,4 @@ deploy:
6853
tags: true
6954
repo: nipy/nipype
7055
branch: master
71-
distributions: "sdist bdist_wheel"
56+
distributions: "sdist"

CHANGES

Lines changed: 41 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,35 @@
1-
Next release
2-
============
1+
Upcoming release 0.13
2+
=====================
33

44
* ENH: Simple interface to FSL std2imgcoords (https://github.com/nipy/nipype/pull/1398)
5+
* FIX: Use builtins open and unicode literals for py3 compatibility (https://github.com/nipy/nipype/pull/1572)
6+
* TST: reduce the size of docker images & use tags for images (https://github.com/nipy/nipype/pull/1564)
7+
* ENH: Implement missing inputs/outputs in FSL AvScale (https://github.com/nipy/nipype/pull/1563)
8+
* FIX: Fix symlink test in copyfile (https://github.com/nipy/nipype/pull/1570, https://github.com/nipy/nipype/pull/1586)
9+
* ENH: Added support for custom job submission check in SLURM (https://github.com/nipy/nipype/pull/1582)
10+
11+
12+
Release 0.12.1 (August 3, 2016)
13+
===============================
14+
15+
* FIX: runtime profiling is optional and off by default (https://github.com/nipy/nipype/pull/1561)
16+
* TST: circle CI tests run with docker (https://github.com/nipy/nipype/pull/1541)
17+
* FIX: workflow export functions without import error (https://github.com/nipy/nipype/pull/1552)
18+
19+
20+
Release 0.12.0 (July 12, 2016)
21+
==============================
22+
23+
* ENH: New interface for Bruker to Nifti converter (https://github.com/nipy/nipype/pull/1523)
24+
* FIX: output file naming for FIRST outputs (https://github.com/nipy/nipype/pull/1524)
25+
* ENH: Adds `fslmaths -Tstd` to maths interfaces (https://github.com/nipy/nipype/pull/1518)
26+
* FIX: Selecting "gamma" in FSL Level1Design now does what the name says (https://github.com/nipy/nipype/pull/1500)
27+
* ENH: Added grad_dev input to fsl.dti.bedpostx5 interface(https://github.com/nipy/nipype/pull/1493)
28+
* ENH: ResourceMultiProc plugin to support resource allocation (https://github.com/nipy/nipype/pull/1372)
29+
* ENH: Added dcm2niix interface (https://github.com/nipy/nipype/pull/1435)
30+
* ENH: Add nipype_crash_search command (https://github.com/nipy/nipype/pull/1422)
31+
* ENH: Created interface for BrainSuite Cortical Surface Extraction command line tools (https://github.com/nipy/nipype/pull/1305)
32+
* FIX: job execution on systems/approaches where locale is undefined (https://github.com/nipy/nipype/pull/1401)
533
* FIX: Clean up byte/unicode issues using subprocess (https://github.com/nipy/nipype/pull/1394)
634
* FIX: Prevent crash when tvtk is loaded - ETS_TOOLKIT=null (https://github.com/nipy/nipype/pull/973)
735
* ENH: New interfaces in dipy: RESTORE, EstimateResponseSH, CSD and StreamlineTractography
@@ -24,9 +52,15 @@ Next release
2452
* ENH: New interfaces for interacting with AWS S3: S3DataSink and S3DataGrabber (https://github.com/nipy/nipype/pull/1201)
2553
* ENH: Interfaces for MINC tools (https://github.com/nipy/nipype/pull/1304)
2654
* FIX: Use realpath to determine hard link source (https://github.com/nipy/nipype/pull/1388)
55+
* FIX: Correct linking/copying fallback behavior (https://github.com/nipy/nipype/pull/1391)
56+
* ENH: Nipype workflow and interfaces for FreeSurfer's recon-all (https://github.com/nipy/nipype/pull/1326)
57+
* FIX: Permit relative path for concatenated_file input to Concatenate() (https://github.com/nipy/nipype/pull/1411)
58+
* ENH: Makes ReconAll workflow backwards compatible with FreeSurfer 5.3.0 (https://github.com/nipy/nipype/pull/1434)
59+
* ENH: Added interfaces for AFNI 3dDegreeCentrality, 3dECM, 3dLFCD, 3dClipLevel, 3dmask_tool, and 3dSeg
60+
(https://github.com/nipy/nipype/pull/1460)
2761

2862
Release 0.11.0 (September 15, 2015)
29-
============
63+
===================================
3064

3165
* API: Change how hash values are computed (https://github.com/nipy/nipype/pull/1174)
3266
* ENH: New algorithm: mesh.WarpPoints applies displacements fields to point sets
@@ -112,7 +146,7 @@ Release 0.11.0 (September 15, 2015)
112146
(https://github.com/nipy/nipype/pull/1142)
113147

114148
Release 0.10.0 (October 10, 2014)
115-
============
149+
=================================
116150

117151
* ENH: New miscelaneous interfaces: SplitROIs (mapper), MergeROIs (reducer)
118152
to enable parallel processing of very large images.
@@ -156,19 +190,19 @@ Release 0.10.0 (October 10, 2014)
156190
* FIX: Update for FSL 5.0.7 which deprecated Contrast Manager
157191

158192
Release 0.9.2 (January 31, 2014)
159-
============
193+
================================
160194

161195
* FIX: DataFinder was broken due to a typo
162196
* FIX: Order of DataFinder outputs was not guaranteed, it's human sorted now
163197
* ENH: New interfaces: Vnifti2Image, VtoMat
164198

165199
Release 0.9.1 (December 25, 2013)
166-
============
200+
=================================
167201

168202
* FIX: installation issues
169203

170204
Release 0.9.0 (December 20, 2013)
171-
============
205+
=================================
172206

173207
* ENH: SelectFiles: a streamlined version of DataGrabber
174208
* ENH: new tools for defining workflows: JoinNode, synchronize and itersource

CONTRIBUTING.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,22 @@
1010
* Pull Requests should be tested, if feasible:
1111
- bugfixes should include regression tests
1212
- new behavior should at least get minimal exercise
13-
* Use a descriptive prefix for your PR: ENH, FIX, TST, DOC, STY, REF (refactor), WIP (Work in progress)
14-
* After submiting the PR, include an update to the CHANGES file: prefix: description (URL of pull request)
15-
* `make specs`
16-
* do: `make check-before-commit` before submitting the PR. This will require you to either install or be in developer mode with: `python setup.py install/develop`.
13+
* Use a descriptive prefix for your PR: ENH (enhancement), FIX, TST, DOC, STY, REF (refactor), WIP (Work in progress)
14+
* The person who accepts/merges your PR will include an update to the CHANGES file: prefix: description (URL of pull request)
15+
* Run `make check-before-commit` before submitting the PR.
16+
This will require you to either install or be in developer mode with: `python setup.py install/develop`.
17+
* In general, do not catch exceptions without good reason.
18+
* catching non-fatal exceptions.
19+
Log the exception as a warning.
20+
* adding more information about what may have caused the error.
21+
Raise a new exception using ``raise_from(NewException("message"), oldException)`` from ``future``.
22+
Do not log this, as it creates redundant/confusing logs.
1723

1824
## Contributing issues
1925

2026
When opening a new Issue, please take the following steps:
2127

22-
1. Search GitHub and/or [Neurostars](neurostars.org) for your issue to avoid duplicate reports.
28+
1. Search GitHub and/or [Neurostars](http://neurostars.org) for your issue to avoid duplicate reports.
2329
Keyword searches for your error messages are most helpful.
2430
2. If possible, try updating to master and reproducing your issue,
2531
because we may have already fixed it.

Dockerfile

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Copyright (c) 2016, The developers of the Stanford CRN
2+
# All rights reserved.
3+
#
4+
# Redistribution and use in source and binary forms, with or without
5+
# modification, are permitted provided that the following conditions are met:
6+
#
7+
# * Redistributions of source code must retain the above copyright notice, this
8+
# list of conditions and the following disclaimer.
9+
#
10+
# * Redistributions in binary form must reproduce the above copyright notice,
11+
# this list of conditions and the following disclaimer in the documentation
12+
# and/or other materials provided with the distribution.
13+
#
14+
# * Neither the name of crn_base nor the names of its
15+
# contributors may be used to endorse or promote products derived from
16+
# this software without specific prior written permission.
17+
#
18+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21+
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22+
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23+
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25+
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26+
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27+
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28+
29+
FROM nipype/testnipypedata:latest
30+
MAINTAINER Stanford Center for Reproducible Neuroscience <[email protected]>
31+
32+
# Preparations
33+
RUN ln -snf /bin/bash /bin/sh
34+
35+
# Install this branch's code
36+
WORKDIR /root/src
37+
38+
# Install matplotlib, sphinx and coverage to build documentation
39+
# and run tests with coverage
40+
RUN source activate nipypetests-2.7 && \
41+
pip install matplotlib sphinx coverage && \
42+
source activate nipypetests-3.4 && \
43+
pip install matplotlib sphinx coverage && \
44+
source activate nipypetests-3.5 && \
45+
pip install matplotlib sphinx coverage
46+
47+
ADD . nipype/
48+
49+
# Install the checked out version of nipype, check that requirements are
50+
# installed and install it for each of the three environments.
51+
RUN cd nipype/ && \
52+
source activate nipypetests-2.7 && \
53+
pip install -r requirements.txt && \
54+
pip install -e .
55+
56+
RUN cd nipype/ && \
57+
source activate nipypetests-3.4 && \
58+
pip install -r requirements.txt && \
59+
pip install -e .
60+
61+
RUN cd nipype/ && \
62+
source activate nipypetests-3.5 && \
63+
pip install -r requirements.txt && \
64+
pip install -e .
65+
66+
WORKDIR /scratch
67+
68+
# Install entrypoints
69+
ADD docker/circleci/run_* /usr/bin/
70+
RUN chmod +x /usr/bin/run_*
71+
72+
# RUN echo 'source /etc/profile.d/nipype_tests.sh' >> /etc/bash.bashrc
73+
ENTRYPOINT ["/usr/bin/run_examples.sh"]
74+

LICENSE

Lines changed: 11 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,15 @@
1-
Copyright (c) 2009-2014, NIPY Developers
2-
All rights reserved.
1+
Copyright (c) 2009-2016, Nipype developers
32

4-
Redistribution and use in source and binary forms, with or without
5-
modification, are permitted provided that the following conditions are
6-
met:
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
76

8-
* Redistributions of source code must retain the above copyright
9-
notice, this list of conditions and the following disclaimer.
7+
http://www.apache.org/licenses/LICENSE-2.0
108

11-
* Redistributions in binary form must reproduce the above
12-
copyright notice, this list of conditions and the following
13-
disclaimer in the documentation and/or other materials provided
14-
with the distribution.
9+
Unless required by applicable law or agreed to in writing, software
10+
distributed under the License is distributed on an "AS IS" BASIS,
11+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
See the License for the specific language governing permissions and
13+
limitations under the License.
1514

16-
* Neither the name of the NIPY Developers nor the names of any
17-
contributors may be used to endorse or promote products derived
18-
from this software without specific prior written permission.
19-
20-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21-
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22-
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23-
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24-
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25-
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26-
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27-
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28-
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
15+
Prior to release 0.12, Nipype was licensed under a BSD license.

0 commit comments

Comments
 (0)