Skip to content

Commit 51c42fd

Browse files
committed
Merge remote-tracking branch 'upstream/master' into fix/ants_mask_file
2 parents a5853e9 + 201a13f commit 51c42fd

File tree

86 files changed

+1500
-388
lines changed

Some content is hidden

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

86 files changed

+1500
-388
lines changed

.circleci/config.yml

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
_machine_kwds: &machine_kwds
2-
image: circleci/classic:201808-01
2+
image: ubuntu-2004:202107-02
33

44
_store_artifacts_kwds: &store_artifacts_kwds
55
path: /home/circleci/work/tests
@@ -43,15 +43,15 @@ _get_base_image: &get_base_image
4343
exit 1
4444
fi
4545
46-
_build_main_image_py36: &build_main_image_py36
47-
name: Build main image (py36)
46+
_build_main_image_py38: &build_main_image_py38
47+
name: Build main image (py38)
4848
no_output_timeout: 60m
4949
command: |
5050
tools/retry_cmd.sh -n 5 -s 15 \
5151
docker build \
5252
--rm=false \
5353
--tag nipype/nipype:latest \
54-
--tag nipype/nipype:py36 \
54+
--tag nipype/nipype:py38 \
5555
$(test -z "${CIRCLE_TAG}" || echo --tag nipype/nipype:"${CIRCLE_TAG}") \
5656
--build-arg BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")" \
5757
--build-arg VCS_REF="$(git rev-parse --short HEAD)" \
@@ -146,7 +146,7 @@ jobs:
146146
- run: *generate_dockerfiles
147147
- run: *modify_nipype_version
148148
- run: *get_base_image
149-
- run: *build_main_image_py36
149+
- run: *build_main_image_py38
150150
- run: *_get_codecov
151151
- run: *_download_test_data
152152
- run: *prepare_working_directory
@@ -165,8 +165,8 @@ jobs:
165165
if [ "$CIRCLE_BRANCH" = "master" -a -z "$CIRCLE_PULL_REQUEST" ]; then
166166
docker save nipype/nipype:base \
167167
nipype/nipype:latest \
168-
nipype/nipype:py36 | gzip -1 > /tmp/docker/nipype-base-latest-py36.tar.gz \
169-
&& du -h /tmp/docker/nipype-base-latest-py36.tar.gz
168+
nipype/nipype:py38 | gzip -1 > /tmp/docker/nipype-base-latest-py38.tar.gz \
169+
&& du -h /tmp/docker/nipype-base-latest-py38.tar.gz
170170
fi
171171
- persist_to_workspace:
172172
root: /tmp
@@ -184,15 +184,15 @@ jobs:
184184
name: Load saved Docker images.
185185
no_output_timeout: 60m
186186
command: |
187-
docker load < /tmp/docker/nipype-base-latest-py36.tar.gz
187+
docker load < /tmp/docker/nipype-base-latest-py38.tar.gz
188188
- run:
189189
name: Push to DockerHub
190190
no_output_timeout: 120m
191191
command: |
192192
echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin
193193
docker push nipype/nipype:base
194194
docker push nipype/nipype:latest
195-
docker push nipype/nipype:py36
195+
docker push nipype/nipype:py38
196196
test -z "${CIRCLE_TAG}" || docker push nipype/nipype:"${CIRCLE_TAG}"
197197
- run:
198198
name: Move pruned Dockerfile to /tmp/docker/cache directory

.circleci/test_pytest.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
docker run --rm=false -t -v $WORKDIR:/work -v $HOME/examples:/data/examples:ro -w /work -e CI_SKIP_TEST=1 -e NIPYPE_RESOURCE_MONITOR=1 "${DOCKER_IMAGE}:py36" /usr/bin/run_pytests.sh
3+
docker run --rm=false -t -v $WORKDIR:/work -v $HOME/examples:/data/examples:ro -w /work -e CI_SKIP_TEST=1 -e NIPYPE_RESOURCE_MONITOR=1 "${DOCKER_IMAGE}:py38" /usr/bin/run_pytests.sh

.github/PULL_REQUEST_TEMPLATE.md

-4
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,3 @@ Fixes # .
1717

1818
## List of changes proposed in this PR (pull-request)
1919
<!-- We suggest using bullets (indicated by * or -) and filled checkboxes [x] here -->
20-
21-
## Acknowledgment
22-
23-
- [ ] \(Mandatory\) I acknowledge that this contribution will be available under the Apache 2 license.

.github/workflows/tests.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ jobs:
2626
runs-on: ${{ matrix.os }}
2727
strategy:
2828
matrix:
29-
os: ['ubuntu-18.04']
30-
python-version: [3.6, 3.7, 3.8, 3.9]
29+
os: ['ubuntu-latest']
30+
python-version: [3.6, 3.7, 3.8, 3.9, "3.10"]
3131
check: ['test']
3232
pip-flags: ['']
3333
depends: ['REQUIREMENTS']

.mailmap

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Alexander Schaefer <alexschaefer83@gmail.com> <aschaefer@melisse.cbs.mpg.de>
1010
Alexander Schaefer <alexschaefer83@gmail.com> <aschaefer@aschaefer-U36SD.(none)>
1111
Alexandre M. Savio <alexsavio@gmail.com>
1212
Alexandre M. Savio <alexsavio@gmail.com> <alexsavio@users.noreply.github.com>
13+
Andrea Dell'Orco <orco@paranoici.org>
1314
Andrew Floren <andrewfloren@gmail.com>
1415
Andrey Chetverikov <stop.psy@gmail.com>
1516
Andrey Chetverikov <stop.psy@gmail.com> <achetverikov@users.noreply.github.com>
@@ -120,6 +121,7 @@ Kshitij Chawla <kc.insight.pi@gmail.com>
120121
Leonie Lampe <leonie.lampe@gmail.com>
121122
Lukas Snoek <lukassnoek@gmail.com>
122123
Marcel Falkiewicz <mfalkiewicz@gmail.com> <m.falkiewicz@nencki.gov.pl>
124+
Maria de Fatima Dias <mfatimamachado13@gmail.com> <fmachado@dei.uc.pt>
123125
Martin Perez-Guevara <mperezguevara@gmail.com>
124126
Mathias Goncalves <goncalves.mathias@gmail.com> <mathiasg@mit.edu>
125127
Mathias Goncalves <goncalves.mathias@gmail.com> <mathiasg@stanford.edu>
@@ -144,6 +146,7 @@ Michael Waskom <michael.l.waskom@gmail.com> <mwaskom@stanford.edu>
144146
Miguel Molina-Romero <miguel.molina.romero@gmail.com>
145147
Murat Bilgel <bilgelm@gmail.com> <murat.bilgel@nih.gov>
146148
Nat Lee <vip3268@gmail.com>
149+
Ole Numssen <numssen@cbs.mpg.de>
147150
Oliver Contier <o.contier@gmail.com> <oliver.contier@ovgu.de>
148151
Olivia Stanley <oliviawstanley@gmail.com>
149152
Oscar Esteban <code@oscaresteban.es>

.zenodo.json

+47-12
Original file line numberDiff line numberDiff line change
@@ -148,15 +148,15 @@
148148
"name": "Visconti di Oleggio Castello, Matteo",
149149
"orcid": "0000-0001-7931-5272"
150150
},
151-
{
152-
"affiliation": "Shattuck Lab, UCLA Brain Mapping Center",
153-
"name": "Wong, Jason"
154-
},
155151
{
156152
"affiliation": "University of Texas at Austin",
157153
"name": "De La Vega, Alejandro",
158154
"orcid": "0000-0001-9062-3778"
159155
},
156+
{
157+
"affiliation": "Shattuck Lab, UCLA Brain Mapping Center",
158+
"name": "Wong, Jason"
159+
},
160160
{
161161
"affiliation": "MIT",
162162
"name": "Kaczmarzyk, Jakub",
@@ -217,6 +217,11 @@
217217
"name": "de Hollander, Gilles",
218218
"orcid": "0000-0003-1988-5091"
219219
},
220+
{
221+
"affiliation": "Charit\u00e8 Universit\u00e4tsmedizin Berlin, Germany",
222+
"name": "Dell'Orco, Andrea",
223+
"orcid": "0000-0002-3964-8360"
224+
},
220225
{
221226
"affiliation": "University College London",
222227
"name": "Eshaghi, Arman",
@@ -251,21 +256,21 @@
251256
{
252257
"name": "Mordom, David"
253258
},
259+
{
260+
"affiliation": "Charite Universitatsmedizin Berlin, Germany",
261+
"name": "Waller, Lea",
262+
"orcid": "0000-0002-3239-6957"
263+
},
254264
{
255265
"affiliation": "CIBIT, UC",
256-
"name": "Machado, F\u00e1tima",
266+
"name": "Dias, Maria de Fatima",
257267
"orcid": "0000-0001-8878-1750"
258268
},
259269
{
260270
"affiliation": "ARAMIS LAB, Brain and Spine Institute (ICM), Paris, France.",
261271
"name": "Guillon, Je\u0301re\u0301my",
262272
"orcid": "0000-0002-2672-7510"
263273
},
264-
{
265-
"affiliation": "Charite Universitatsmedizin Berlin, Germany",
266-
"name": "Waller, Lea",
267-
"orcid": "0000-0002-3239-6957"
268-
},
269274
{
270275
"affiliation": "Indiana University, IN, USA",
271276
"name": "Koudoro, Serge"
@@ -313,6 +318,11 @@
313318
"name": "Geisler, Daniel",
314319
"orcid": "0000-0003-2076-5329"
315320
},
321+
{
322+
"affiliation": "Division of Psychological and Social Medicine and Developmental Neuroscience, Faculty of Medicine, Technische Universit\u00e4t Dresden, Dresden, Germany",
323+
"name": "Bernardoni, Fabio",
324+
"orcid": "0000-0002-5112-405X"
325+
},
316326
{
317327
"name": "Salvatore, John"
318328
},
@@ -429,7 +439,8 @@
429439
},
430440
{
431441
"affiliation": "Sagol School of Neuroscience, Tel Aviv University",
432-
"name": "Baratz, Zvi"
442+
"name": "Baratz, Zvi",
443+
"orcid": "0000-0001-7159-1387"
433444
},
434445
{
435446
"affiliation": "University of Iowa",
@@ -726,6 +737,11 @@
726737
"affiliation": "Universidad de Guadalajara",
727738
"name": "Gonz\u00e1lez Orozco, Abel A."
728739
},
740+
{
741+
"affiliation": "ARAMIS Lab",
742+
"name": "Routier, Alexandre",
743+
"orcid": "0000-0003-1603-8049"
744+
},
729745
{
730746
"name": "Marina, Ana"
731747
},
@@ -794,9 +810,19 @@
794810
"name": "Pannetier, Nicolas",
795811
"orcid": "0000-0002-0744-5155"
796812
},
813+
{
814+
"affiliation": "Max Planck Institute for Human Cognitive and Brain Sciences",
815+
"name": "Numssen, Ole",
816+
"orcid": "0000-0001-7164-2682"
817+
},
797818
{
798819
"name": "Khanuja, Ranjeet"
799820
},
821+
{
822+
"affiliation": "University of Waterloo",
823+
"name": "Mukhometzianov, Rinat",
824+
"orcid": "0000-0003-1274-4827"
825+
},
800826
{
801827
"name": "Urchs, Sebastian"
802828
},
@@ -835,7 +861,16 @@
835861
"affiliation": "MIT, HMS",
836862
"name": "Ghosh, Satrajit",
837863
"orcid": "0000-0002-5312-6729"
838-
}
864+
},
865+
{
866+
"name": "Hui Qian, Tan"
867+
},
868+
{
869+
"affiliation": "Insitiute and Polyclinc for Diagnostic and Interventional Neuroradiology, University Hospital Carl Gustav Carus, Dresden, Germany",
870+
"name": "Kuntke, Paul",
871+
"orcid": "0000-0003-1838-2230"
872+
}
873+
839874
],
840875
"keywords": [
841876
"neuroimaging",

README.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ Python 2 Statement
8282

8383
Python 2.7 reaches its end-of-life in January 2020, which means it will
8484
*no longer be maintained* by Python developers. `Many projects
85-
<https://python3statement.org/`__ are removing support in advance of this
85+
<https://python3statement.org/>`__ are removing support in advance of this
8686
deadline, which will make it increasingly untenable to try to support
8787
Python 2, even if we wanted to.
8888

doc/_static/nipype.css

+4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ body {
55
min-width: 70em;
66
}
77

8+
div.sphinxsidebar {
9+
position: relative;
10+
}
11+
812
div.sphinxsidebar h4, div.sphinxsidebar h3 {
913
background-color: #2F83C8;
1014
}

doc/_templates/layout.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
{% set title = 'Neuroimaging in Python - Pipelines and Interfaces' %}
33
{% set short_title = 'Nipype' %}
44

5+
{% block sidebar1 %}{{ sidebar() }}{% endblock %}
6+
{% block sidebar2 %}{% endblock %}
7+
58
{% block extrahead %}
69
{{ super() }}
710
<meta name="keywords" content="nipype, neuroimaging, pipeline, workflow, parallel, python, neuroscience">
@@ -42,8 +45,6 @@
4245

4346
{% block relbar1 %}{% endblock %}
4447
{% block relbar2 %}{% endblock %}
45-
{% block sidebar1 %}{{ sidebar() }}{% endblock %}
46-
{% block sidebar2 %}{% endblock %}
4748

4849
{% block footer %}
4950
{{ super() }}

doc/_templates/navbar.html

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<link rel="stylesheet" href="https://www.google.com/cse/style/look/default.css" type="text/css" />
22
<style type="text/css">
33
a.navbar {
4-
color: {{ theme_linkcolor }};
54
letter-spacing: .05em;
65
font-weight: bold;
76
}

doc/changelog/1.X.X-changelog.rst

+23
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,26 @@
1+
1.7.0 (October 20, 2021)
2+
========================
3+
4+
(`Full changelog <https://github.com/nipy/nipype/milestone/1.7.0?closed=1>`__)
5+
6+
* FIX: Make ants.LaplacianThickness output_image a string, not file (https://github.com/nipy/nipype/pull/3393)
7+
* FIX: coord for mrconvert (https://github.com/nipy/nipype/pull/3369)
8+
* FIX: ``antsRegistration`` allows the ``restrict_deformation`` to be float (https://github.com/nipy/nipype/pull/3387)
9+
* FIX: Also allow `errno.EBUSY` during `emptydirs` on NFS (https://github.com/nipy/nipype/pull/3357)
10+
* FIX: Removed exists=True from MathsOutput (https://github.com/nipy/nipype/pull/3385)
11+
* FIX: Extension not extensions, after pybids v0.9 (https://github.com/nipy/nipype/pull/3380)
12+
* ENH: Add CAT12 SANLM denoising filter (https://github.com/nipy/nipype/pull/3374)
13+
* ENH: Add expected steps for FreeSurfer 7 recon-all (https://github.com/nipy/nipype/pull/3389)
14+
* ENH: Stop printing false positive differences when logging cached nodes (https://github.com/nipy/nipype/pull/3376)
15+
* ENH: Add new flags to MRtrix/preprocess.py (DWI2Tensor, MRtransform) (https://github.com/nipy/nipype/pull/3365)
16+
* ENH: ``verbose`` input should not be hashed in ``ants.Registration`` (https://github.com/nipy/nipype/pull/3377)
17+
* REF: Clean-up the BaseInterface ``run()`` function using context (https://github.com/nipy/nipype/pull/3347)
18+
* DOC: Fix typo in README (https://github.com/nipy/nipype/pull/3386)
19+
* STY: Make private member name consistent with the rest of them (https://github.com/nipy/nipype/pull/3346)
20+
* MNT: Simplify interface execution and better error handling of ``Node`` (https://github.com/nipy/nipype/pull/3349)
21+
* MNT: Add user name and email to Docker to appease git/annex/datalad (https://github.com/nipy/nipype/pull/3378)
22+
* CI: Update CircleCI machine image (https://github.com/nipy/nipype/pull/3391)
23+
124
1.6.1 (June 16, 2021)
225
=====================
326

doc/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@
152152

153153
# General information about the project.
154154
project = u"nipype"
155-
copyright = u"2009-20, Neuroimaging in Python team"
155+
copyright = u"2009-21, Neuroimaging in Python team"
156156

157157
# The version info for the project you're documenting, acts as replacement for
158158
# |version| and |release|, also used in various other places throughout the

doc/devel/testing_nipype.rst

+4-5
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,15 @@ Testing Nipype using Docker
9090
Nipype is tested inside Docker containers and users can use nipype images to test local versions.
9191
First, install the `Docker Engine <https://docs.docker.com/engine/installation/>`_.
9292
Nipype has one base docker image called nipype/nipype:base, that contains several useful tools
93-
(FreeSurfer, AFNI, FSL, ANTs, etc.), and additional test images
94-
for specific Python versions: py27 for Python 2.7 and py36 for Python 3.6.
93+
(FreeSurfer, AFNI, FSL, ANTs, etc.), and an additional test image for Python 3.8:
9594

96-
Users can pull the nipype image for Python 3.6 as follows::
95+
Users can pull the nipype image for Python 3.8 as follows::
9796

98-
docker pull nipype/nipype:py36
97+
docker pull nipype/nipype:py38
9998

10099
In order to test a local version of nipype you can run test within container as follows::
101100

102-
docker run -it -v $PWD:/src/nipype --rm nipype/nipype:py36 py.test -v --doctest-modules /src/nipype/nipype
101+
docker run -it -v $PWD:/src/nipype --rm nipype/nipype:py38 py.test -v --doctest-modules /src/nipype/nipype
103102

104103

105104
Additional comments

doc/interfaces.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Interfaces and Workflows
88
:Release: |version|
99
:Date: |today|
1010

11-
Previous versions: `1.6.0 <http://nipype.readthedocs.io/en/1.6.0/>`_ `1.5.1 <http://nipype.readthedocs.io/en/1.5.1/>`_
11+
Previous versions: `1.7.0 <http://nipype.readthedocs.io/en/1.7.0/>`_ `1.6.1 <http://nipype.readthedocs.io/en/1.6.1/>`_
1212

1313
Workflows
1414
---------

docker/generate_dockerfiles.sh

+2
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ function generate_main_dockerfile() {
8989
OMP_NUM_THREADS=1 \
9090
--arg PYTHON_VERSION_MAJOR=3 PYTHON_VERSION_MINOR=8 BUILD_DATE VCS_REF VERSION \
9191
--user neuro \
92+
--run 'git config --global user.name nipybot
93+
&& git config --global user.email "nipybot@gmail.com"' \
9294
--workdir /home/neuro \
9395
--miniconda create_env=neuro \
9496
conda_install='python=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}

nipype/algorithms/confounds.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1435,7 +1435,7 @@ def compute_noise_components(
14351435
else:
14361436
u = np.full((M.shape[0], 1), np.nan, dtype=np.float32)
14371437

1438-
variance_explained = (s ** 2) / np.sum(s ** 2)
1438+
variance_explained = (s**2) / np.sum(s**2)
14391439
cumulative_variance_explained = np.cumsum(variance_explained)
14401440

14411441
num_components = int(components_criterion)

nipype/algorithms/icc.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ def ICC_rep_anova(Y):
116116
# Sum Square Error
117117
predicted_Y = dot(dot(dot(X, pinv(dot(X.T, X))), X.T), Y.flatten("F"))
118118
residuals = Y.flatten("F") - predicted_Y
119-
SSE = (residuals ** 2).sum()
119+
SSE = (residuals**2).sum()
120120

121121
residuals.shape = Y.shape
122122

0 commit comments

Comments
 (0)