Skip to content

Commit f11675c

Browse files
authored
Merge branch 'master' into enh/transforms
2 parents ec2b9cd + 97447e2 commit f11675c

File tree

106 files changed

+4858
-888
lines changed

Some content is hidden

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

106 files changed

+4858
-888
lines changed

.mailmap

Lines changed: 38 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,37 +7,51 @@
77
#
88
# This file is up-to-date if the command git log --format="%aN <%aE>" | sort -u
99
# gives no duplicates.
10-
Michael Hanke <michael.hanke@gmail.com> <mhanke-guest@82381867-18eb-0310-98a2-9474e637aba2>
11-
Michael Hanke <michael.hanke@gmail.com> <michaelhanke@mvpa1.dartmouth.edu>
12-
Yaroslav Halchenko <debian@onerussian.com> <yoh-guest@82381867-18eb-0310-98a2-9474e637aba2>
10+
Alexandre Gramfort <alexandre.gramfort@inria.fr> Alexandre Gramfort <alexandre.gramfort@m4x.org>
11+
Ariel Rokem <arokem@gmail.com> arokem <arokem@gmail.com>
12+
B. Nolan Nichols <nolan.nichols@gmail.com> Nolan Nichols <nolan.nichols@gmail.com>
13+
Basile Pinsard <basile.pinsard@gmail.com> bpinsard <basile.pinsard@gmail.com>
14+
Basile Pinsard <basile.pinsard@gmail.com> bpinsard <bpinsard@imed.jussieu.fr>
15+
Ben Cipollini <ben.cipollini@gmail.com> Ben Cipollini <bcipolli@ucsd.edu>
1316
Bertrand Thirion <bertrand.thirion@inria.fr> bthirion <bertrand.thirion@inria.fr>
14-
Stephan Gerhard <git@unidesign.ch> Stephan Gerhard <git@github.com>
1517
Christian Haselgrove <christian.haselgrove@umassmed.edu> Christian Haselgrove <Christian.Haselgrove@umassmed.edu>
18+
Christopher J. Markiewicz <markiewicz@stanford.edu> Chris Johnson <effigies@bu.edu>
19+
Christopher J. Markiewicz <markiewicz@stanford.edu> Chris Markiewicz <effigies@gmail.com>
20+
Christopher J. Markiewicz <markiewicz@stanford.edu> Chris Markiewicz <markiewicz@stanford.edu>
21+
Christopher J. Markiewicz <markiewicz@stanford.edu> Christopher J. Markiewicz <effigies@bu.edu>
22+
Christopher J. Markiewicz <markiewicz@stanford.edu> Christopher J. Markiewicz <effigies@gmail.com>
1623
Cindee Madison <cindee@berkeley.edu> CindeeM <cindee@berkeley.edu>
1724
Cindee Madison <cindee@berkeley.edu> cindeem <cindee@berkeley.edu>
18-
Ian Nimmo-Smith <iannimmosmith@gmail.com> Ian Nimmo-Smith <ian.nimmo-smith@mrc-cbu.cam.ac.uk>
19-
Jean-Baptiste Poline <jbpoline@gmail.com> jbpoline <jbpoline@gmail.com>
25+
Demian Wassermann <demian@bwh.harvard.edu> Demian Wassermann <demian.wassermann@inria.fr>
26+
Dimitri Papadopoulos Orfanos <dimitri.papadopoulos@cea.fr> Dimitri Papadopoulos <DimitriPapadopoulos@users.noreply.github.com>
27+
Eric Larson <larson.eric.d@gmail.com> Eric89GXL <larson.eric.d@gmail.com>
28+
Eric Larson <larson.eric.d@gmail.com> larsoner <larson.eric.d@gmail.com>
29+
Fernando Pérez-García <fepegar@gmail.com> Fernando <fepegar@gmail.com>
2030
Félix C. Morency <felix.morency@gmail.com> Felix C. Morency <felix.c.morency@usherbrooke.ca>
2131
Félix C. Morency <felix.morency@gmail.com> Félix C. Morency <felix.c.morency@usherbrooke.ca>
22-
Krish Subramaniam <krish.subramaniam@gmail.com> Krish Subramaniam <krish@monster.nmr.mgh.harvard.edu>
23-
Eric Larson <larson.eric.d@gmail.com> Eric89GXL <larson.eric.d@gmail.com>
24-
Alexandre Gramfort <alexandre.gramfort@inria.fr> Alexandre Gramfort <alexandre.gramfort@m4x.org>
2532
Gael Varoquaux <gael.varoquaux@normalesup.org> GaelVaroquaux <gael.varoquaux@normalesup.org>
26-
Kevin S. Hahn <kevinshahn@gmail.com> Kevin S. Hahn <kshahn@stanford.edu>
27-
Basile Pinsard <basile.pinsard@gmail.com> bpinsard <basile.pinsard@gmail.com>
28-
Basile Pinsard <basile.pinsard@gmail.com> bpinsard <bpinsard@imed.jussieu.fr>
29-
Nguyen, Ly <nguyen60@seattleu.edu> lxn2 <lxn2@uw.edu>
30-
Ben Cipollini <ben.cipollini@gmail.com> Ben Cipollini <bcipolli@ucsd.edu>
31-
Chris Markiewicz <effigies@gmail.com> Christopher J. Markiewicz <markiewicz@stanford.edu>
32-
Chris Markiewicz <effigies@gmail.com> Christopher J. Markiewicz <effigies@bu.edu>
33-
Chris Markiewicz <effigies@gmail.com> Christopher J. Markiewicz <effigies@gmail.com>
34-
Chris Markiewicz <effigies@gmail.com> Chris Johnson <effigies@bu.edu>
33+
Gregory R. Lee <grlee77@gmail.com> Gregory R. Lee <gregory.lee@cchmc.org>
34+
Ian Nimmo-Smith <iannimmosmith@gmail.com> Ian Nimmo-Smith <ian.nimmo-smith@mrc-cbu.cam.ac.uk>
3535
Jaakko Leppäkangas <jaeilepp@student.jyu.fi> jaeilepp <jaeilepp@student.jyu.fi>
36-
Ariel Rokem <arokem@gmail.com> arokem <arokem@gmail.com>
37-
Oliver P. Hinds <ohinds@gmail.com> ohinds <ohinds@gmail.com>
38-
Marc-Alexandre Côté <marc.cote.19@gmail.com> Marc-Alexandre Cote <marc.cote.19@gmail.com>
39-
Satrajit Ghosh <satra@mit.edu> Satrajit Ghosh <satrajit.ghosh@gmail.com>
4036
Jasper J.F. van den Bosch <japsai@gmail.com> Jasper <japsai@gmail.com>
41-
Gregory R. Lee <grlee77@gmail.com> Gregory R. Lee <gregory.lee@cchmc.org>
42-
Demian Wassermann <demian@bwh.harvard.edu> Demian Wassermann <demian.wassermann@inria.fr>
37+
Jean-Baptiste Poline <jbpoline@gmail.com> jbpoline <jbpoline@gmail.com>
38+
Jon Haitz Legarreta <jon.haitz.legarreta@gmail.com> Jon Haitz Legarreta Gorroño <jon.haitz.legarreta@gmail.com>
39+
Kesshi Jordan <Kesshi.Jordan@ucsf.edu> kesshijordan <Kesshi.Jordan@ucsf.edu>
40+
Kevin S. Hahn <kevinshahn@gmail.com> Kevin S. Hahn <kshahn@stanford.edu>
41+
Konstantinos Raktivan <constracti@gmail.com> constracti <constracti@gmail.com>
42+
Krish Subramaniam <krish.subramaniam@gmail.com> Krish Subramaniam <krish@monster.nmr.mgh.harvard.edu>
43+
Marc-Alexandre Côté <marc.cote.19@gmail.com> Marc-Alexandre Cote <marc.cote.19@gmail.com>
44+
Mathias Goncalves <mathiasg@mit.edu> mathiasg <mathiasg@mit.edu>
45+
Matthew Cieslak <mattcieslak@gmail.com> Matt Cieslak <mattcieslak@gmail.com>
46+
Michael Hanke <michael.hanke@gmail.com> <mhanke-guest@82381867-18eb-0310-98a2-9474e637aba2>
47+
Michael Hanke <michael.hanke@gmail.com> <michaelhanke@mvpa1.dartmouth.edu>
48+
Ly Nguyen <nguyen60@seattleu.edu> lxn2 <lxn2@uw.edu>
49+
Oliver P. Hinds <ohinds@gmail.com> ohinds <ohinds@gmail.com>
4350
Paul McCarthy <pauldmccarthy@gmail.com> Paul McCarthy <pauld.mccarthy@gmail.com>
51+
Satrajit Ghosh <satra@mit.edu> Satrajit Ghosh <satrajit.ghosh@gmail.com>
52+
Serge Koudoro <skab12@gmail.com> skoudoro <skab12@gmail.com>
53+
Stephan Gerhard <git@unidesign.ch> Stephan Gerhard <git@github.com>
54+
Thomas Roos <thomasroos@live.nl> Roosted7 <thomasroos@live.nl>
55+
Venkateswara Reddy Reddam <R3DDY97@users.noreply.github.com> R3DDY97 <R3DDY97@users.noreply.github.com>
56+
Yaroslav O. Halchenko <debian@onerussian.com> <yoh-guest@82381867-18eb-0310-98a2-9474e637aba2>
57+
Yaroslav O. Halchenko <debian@onerussian.com> Yaroslav Halchenko <debian@onerussian.com>

.travis.yml

Lines changed: 52 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@
44
# for it to be on multiple physical lines, so long as you remember: - There
55
# can't be any leading "-"s - All newlines will be removed, so use ";"s
66

7+
dist: xenial
8+
sudo: true
79
language: python
810

9-
# Run jobs on container-based infrastructure, can be overridden per job
10-
sudo: false
11-
1211
cache:
1312
directories:
1413
- $HOME/.cache/pip
@@ -17,35 +16,41 @@ env:
1716
- DEPENDS="six numpy scipy matplotlib h5py pillow pydicom"
1817
- OPTIONAL_DEPENDS=""
1918
- INSTALL_TYPE="setup"
19+
- CHECK_TYPE="test"
2020
- EXTRA_WHEELS="https://5cf40426d9f06eb7461d-6fe47d9331aba7cd62fc36c7196769e4.ssl.cf2.rackcdn.com"
2121
- PRE_WHEELS="https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com"
2222
- EXTRA_PIP_FLAGS="--find-links=$EXTRA_WHEELS"
2323
- PRE_PIP_FLAGS="--pre $EXTRA_PIP_FLAGS --find-links $PRE_WHEELS"
2424
python:
25-
- 3.4
2625
- 3.5
2726
- 3.6
27+
- 3.7
2828
matrix:
2929
include:
30+
- python: 3.4
31+
dist: trusty
32+
sudo: false
33+
# Absolute minimum dependencies
3034
- python: 2.7
3135
env:
32-
- COVERAGE=1
36+
- DEPENDS="numpy==1.8"
3337
# Absolute minimum dependencies
3438
- python: 2.7
3539
env:
36-
- DEPENDS="numpy==1.7.1"
40+
- DEPENDS="numpy==1.8"
41+
- CHECK_TYPE="import"
3742
# Absolute minimum dependencies plus oldest MPL
3843
# Check these against:
3944
# nibabel/info.py
4045
# doc/source/installation.rst
4146
# requirements.txt
4247
- python: 2.7
4348
env:
44-
- DEPENDS="numpy==1.7.1 matplotlib==1.3.1"
49+
- DEPENDS="numpy==1.8 matplotlib==1.3.1"
4550
# Minimum pydicom dependency
4651
- python: 2.7
4752
env:
48-
- DEPENDS="numpy==1.7.1 pydicom==0.9.9 pillow==2.6"
53+
- DEPENDS="numpy==1.8 pydicom==0.9.9 pillow==2.6"
4954
# pydicom master branch
5055
- python: 3.5
5156
env:
@@ -58,10 +63,6 @@ matrix:
5863
- python: 3.5
5964
env:
6065
- EXTRA_PIP_FLAGS="$PRE_PIP_FLAGS"
61-
# Documentation doctests
62-
- python: 2.7
63-
env:
64-
- DOC_DOC_TEST=1
6566
- python: 2.7
6667
env:
6768
- INSTALL_TYPE=sdist
@@ -73,13 +74,17 @@ matrix:
7374
- INSTALL_TYPE=requirements
7475
- python: 2.7
7576
env:
76-
- STYLE=1
77+
- CHECK_TYPE="style"
7778
- python: 3.5
7879
env:
79-
- STYLE=1
80+
- CHECK_TYPE="style"
81+
# Documentation doctests
82+
- python: 2.7
83+
env:
84+
- CHECK_TYPE="doc_doctests"
8085
- python: 3.5
8186
env:
82-
- DOC_DOC_TEST=1
87+
- CHECK_TYPE="doc_doctests"
8388
# Run tests with indexed_gzip present
8489
- python: 2.7
8590
env:
@@ -88,20 +93,20 @@ matrix:
8893
env:
8994
- OPTIONAL_DEPENDS="indexed_gzip"
9095
before_install:
91-
- source tools/travis_tools.sh
92-
- python -m pip install --upgrade pip
93-
- pip install --upgrade virtualenv
96+
- travis_retry python -m pip install --upgrade pip
97+
- travis_retry pip install --upgrade virtualenv
9498
- virtualenv --python=python venv
9599
- source venv/bin/activate
96100
- python --version # just to check
97-
- pip install -U pip wheel # needed at one point
98-
- retry pip install nose flake8 mock # always
99-
- pip install $EXTRA_PIP_FLAGS $DEPENDS $OPTIONAL_DEPENDS
100-
- if [ "${COVERAGE}" == "1" ]; then
101-
pip install coverage;
102-
pip install coveralls;
103-
pip install codecov;
101+
- travis_retry pip install -U pip setuptools>=27.0 wheel
102+
- travis_retry pip install coverage
103+
- if [ "${CHECK_TYPE}" == "test" ]; then
104+
travis_retry pip install nose mock;
105+
fi
106+
- if [ "${CHECK_TYPE}" == "style" ]; then
107+
travis_retry pip install flake8;
104108
fi
109+
- travis_retry pip install $EXTRA_PIP_FLAGS $DEPENDS $OPTIONAL_DEPENDS
105110
# command to install dependencies
106111
install:
107112
- |
@@ -112,7 +117,6 @@ install:
112117
python setup_egg.py sdist
113118
pip install $EXTRA_PIP_FLAGS dist/*.tar.gz
114119
elif [ "$INSTALL_TYPE" == "wheel" ]; then
115-
pip install wheel
116120
python setup_egg.py bdist_wheel
117121
pip install $EXTRA_PIP_FLAGS dist/*.whl
118122
elif [ "$INSTALL_TYPE" == "requirements" ]; then
@@ -124,28 +128,35 @@ install:
124128
# command to run tests, e.g. python setup.py test
125129
script:
126130
- |
127-
if [ "${STYLE}" == "1" ]; then
131+
if [ "${CHECK_TYPE}" == "style" ]; then
128132
# Run styles only on core nibabel code.
129133
flake8 nibabel
130-
else
134+
elif [ "${CHECK_TYPE}" == "import" ]; then
135+
# Import nibabel without attempting to test
136+
# Allows us to check missing dependencies masked by testing libraries
137+
printf 'import nibabel\nprint(nibabel.__version__)\n' > import_only.py
138+
cat import_only.py
139+
coverage run import_only.py
140+
elif [ "${CHECK_TYPE}" == "doc_doctests" ]; then
141+
cd doc
142+
pip install -r ../doc-requirements.txt
143+
make html;
144+
make doctest;
145+
elif [ "${CHECK_TYPE}" == "test" ]; then
131146
# Change into an innocuous directory and find tests from installation
132147
mkdir for_testing
133148
cd for_testing
134-
if [ "${COVERAGE}" == "1" ]; then
135-
cp ../.coveragerc .;
136-
COVER_ARGS="--with-coverage --cover-package nibabel";
137-
fi
138-
if [ "$DOC_DOC_TEST" == "1" ]; then
139-
cd ../doc;
140-
pip install -r ../doc-requirements.txt
141-
make html;
142-
make doctest;
143-
else
144-
nosetests --with-doctest $COVER_ARGS nibabel;
145-
fi
149+
cp ../.coveragerc .
150+
nosetests --with-doctest --with-coverage --cover-package nibabel nibabel
151+
else
152+
false
146153
fi
147154
after_success:
148-
- if [ "${COVERAGE}" == "1" ]; then coveralls; codecov; fi
155+
- |
156+
if [ "${CHECK_TYPE}" == "test" ]; then
157+
travis_retry pip install codecov
158+
codecov
159+
fi
149160
150161
notifications:
151162
webhooks: http://nipy.bic.berkeley.edu:54856/travis

0 commit comments

Comments
 (0)