Skip to content

Commit d149f9c

Browse files
committed
Merge remote-tracking branch 'nipy/master' into fix/mrtrix3-tckgen-option
2 parents c5d444e + 041068b commit d149f9c

32 files changed

+468
-285
lines changed

.zenodo.json

+30-30
Original file line numberDiff line numberDiff line change
@@ -89,32 +89,32 @@
8989
"name": "Clark, Daniel",
9090
"orcid": "0000-0002-8121-8954"
9191
},
92-
{
93-
"affiliation": "Department of Electrical and Computer Engineering, Johns Hopkins University",
94-
"name": "Dewey, Blake E",
95-
"orcid": "0000-0003-4554-5058"
96-
},
9792
{
9893
"affiliation": "National Institute of Mental Health",
9994
"name": "Nielson, Dylan M.",
10095
"orcid": "0000-0003-4613-6643"
10196
},
97+
{
98+
"affiliation": "Department of Electrical and Computer Engineering, Johns Hopkins University",
99+
"name": "Dewey, Blake E",
100+
"orcid": "0000-0003-4554-5058"
101+
},
102102
{
103103
"name": "Madison, Cindee"
104104
},
105105
{
106106
"affiliation": "Molecular Imaging Research Center, CEA, France",
107107
"name": "Bougacha, Salma"
108108
},
109+
{
110+
"affiliation": "National Institutes of Health",
111+
"name": "Clark, Michael G. "
112+
},
109113
{
110114
"affiliation": "Dartmouth College",
111115
"name": "Visconti di Oleggio Castello, Matteo",
112116
"orcid": "0000-0001-7931-5272"
113117
},
114-
{
115-
"affiliation": "National Institutes of Health",
116-
"name": "Clark, Michael G. "
117-
},
118118
{
119119
"affiliation": "Mayo Clinic, Neurology, Rochester, MN, USA",
120120
"name": "Dayan, Michael",
@@ -199,14 +199,14 @@
199199
"name": "Gilles de Hollander",
200200
"orcid": "0000-0003-1988-5091"
201201
},
202+
{
203+
"name": "Mordom, David"
204+
},
202205
{
203206
"affiliation": "Australian eHealth Research Centre, Commonwealth Scientific and Industrial Research Organisation; University of Queensland",
204207
"name": "Gillman, Ashley",
205208
"orcid": "0000-0001-9130-1092"
206209
},
207-
{
208-
"name": "Mordom, David"
209-
},
210210
{
211211
"name": "Buchanan, Colin"
212212
},
@@ -218,11 +218,6 @@
218218
"name": "Pauli, Wolfgang M.",
219219
"orcid": "0000-0002-0966-0254"
220220
},
221-
{
222-
"affiliation": "Duke University",
223-
"name": "Iqbal, Shariq",
224-
"orcid": "0000-0003-2766-8425"
225-
},
226221
{
227222
"affiliation": "Nathan s Kline institute for psychiatric research",
228223
"name": "Sikka, Sharad"
@@ -235,6 +230,11 @@
235230
{
236231
"name": "Forbes, Jessica"
237232
},
233+
{
234+
"affiliation": "Duke University",
235+
"name": "Iqbal, Shariq",
236+
"orcid": "0000-0003-2766-8425"
237+
},
238238
{
239239
"name": "Schwartz, Yannick"
240240
},
@@ -278,11 +278,6 @@
278278
"name": "Eshaghi, Arman",
279279
"orcid": "0000-0002-6652-3512"
280280
},
281-
{
282-
"affiliation": "Harvard University - Psychology",
283-
"name": "Kastman, Erik",
284-
"orcid": "0000-0001-7221-9042"
285-
},
286281
{
287282
"name": "Ginsburg, Daniel"
288283
},
@@ -291,6 +286,11 @@
291286
"name": "Schaefer, Alexander",
292287
"orcid": "0000-0001-6488-4739"
293288
},
289+
{
290+
"affiliation": "Harvard University - Psychology",
291+
"name": "Kastman, Erik",
292+
"orcid": "0000-0001-7221-9042"
293+
},
294294
{
295295
"affiliation": "Washington University in St Louis",
296296
"name": "Acland, Benjamin",
@@ -312,9 +312,6 @@
312312
"affiliation": "Child Mind Institute",
313313
"name": "Giavasis, Steven"
314314
},
315-
{
316-
"name": "Haselgrove, Christian"
317-
},
318315
{
319316
"name": "Correa, Carlos"
320317
},
@@ -336,6 +333,9 @@
336333
{
337334
"name": "Blair, Ross"
338335
},
336+
{
337+
"name": "Haselgrove, Christian"
338+
},
339339
{
340340
"affiliation": "1 McGill Centre for Integrative Neuroscience (MCIN), Ludmer Centre for Neuroinformatics and Mental Health, Montreal Neurological Institute (MNI), McGill University, Montr\u00e9al, 3801 University Street, WB-208, H3A 2B4, Qu\u00e9bec, Canada. 2 University of Lyon, CNRS, INSERM, CREATIS., Villeurbanne, 7, avenue Jean Capelle, 69621, France.",
341341
"name": "Glatard, Tristan",
@@ -380,16 +380,16 @@
380380
{
381381
"name": "Hallquist, Michael"
382382
},
383-
{
384-
"affiliation": "GIGA Institute",
385-
"name": "Grignard, Martin",
386-
"orcid": "0000-0001-5549-1861"
387-
},
388383
{
389384
"affiliation": "Donders Institute for Brain, Cognition and Behavior, Center for Cognitive Neuroimaging",
390385
"name": "Chetverikov, Andrey",
391386
"orcid": "0000-0003-2767-6310"
392387
},
388+
{
389+
"affiliation": "GIGA Institute",
390+
"name": "Grignard, Martin",
391+
"orcid": "0000-0001-5549-1861"
392+
},
393393
{
394394
"name": "Salvatore, John"
395395
},

doc/about.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ this way you can use the initial paper published in 2011 (see below).
215215
month = "08",
216216
doi = "10.3389/fninf.2011.00013",
217217
pubmed = "21897815",
218-
url = "http://dx.doi.org/10.3389/fninf.2011.00013",
218+
url = "https://doi.org/10.3389/fninf.2011.00013",
219219
issn = "1662-5196"}
220220

221221

doc/changelog/1.X.X-changelog

+34-14
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,42 @@
1+
1.1.7 (December 17, 2018)
2+
=========================
3+
4+
* FIX: Copy node list before generating a flat graph (https://github.com/nipy/nipype/pull/2828)
5+
* FIX: Update pytest req'd version to 3.6 (https://github.com/nipy/nipype/pull/2827)
6+
* FIX: Set ResourceMonitor.fname to an absolute path (https://github.com/nipy/nipype/pull/2824)
7+
* FIX: Order of SPM.NewSegment channel_info boolean tuple is (Field, Corrected) (https://github.com/nipy/nipype/pull/2817)
8+
* FIX: Indices were swapped for memory and cpu profile data (https://github.com/nipy/nipype/pull/2816)
9+
* FIX: ``status_callback`` not called with ``stop_on_first_crash`` (https://github.com/nipy/nipype/pull/2810)
10+
* FIX: Change undefined ScriptError on LFS plugin to IOError (https://github.com/nipy/nipype/pull/2803)
11+
* ENH: Add NaN failure mode to CompCor interfaces (https://github.com/nipy/nipype/pull/2819)
12+
* ENH: Enable cnr_maps and residuals outputs for FSL eddy (https://github.com/nipy/nipype/pull/2750)
13+
* ENH: Improve ``str2bool`` + doctests (https://github.com/nipy/nipype/pull/2807)
14+
* TST: Improve py.test configuration of doctests (https://github.com/nipy/nipype/pull/2802)
15+
* DOC: Update DOI badge to point to all versions (https://github.com/nipy/nipype/pull/2804)
16+
* MAINT: Offload interfaces with help formatting (https://github.com/nipy/nipype/pull/2797)
17+
* MAINT: Reduce minimal code redundancy in filemanip.get_dependencies (https://github.com/nipy/nipype/pull/2782)
18+
* MAINT: Delayed imports to reduce import time (https://github.com/nipy/nipype/pull/2809)
19+
20+
121
1.1.6 (November 26, 2018)
222
=========================
323

424
##### [Full changelog](https://github.com/nipy/nipype/milestone/27?closed=1)
525

6-
* [FIX] MapNodes fail when ``MultiProcPlugin`` passed by instance (https://github.com/nipy/nipype/pull/2786)
7-
* [FIX] --fineTune arguments order for MeshFix command (https://github.com/nipy/nipype/pull/2780)
8-
* [ENH] Add mp_context plugin arg for MultiProc (https://github.com/nipy/nipype/pull/2778)
9-
* [ENH] Create a crashfile even if 'stop_on_first_crash' is set (https://github.com/nipy/nipype/pull/2774)
10-
* [ENH] Add ExtractedBrainN4 output to ANTs CorticalThickness interface (https://github.com/nipy/nipype/pull/2784)
11-
* [STY] Combine split import (https://github.com/nipy/nipype/pull/2801)
12-
* [DOC] use https in css stylesheet url (https://github.com/nipy/nipype/pull/2779)
13-
* [MAINT] Outsource ``get_filecopy_info()`` from interfaces (https://github.com/nipy/nipype/pull/2798)
14-
* [MAINT] Import only Sequence to avoid DeprecationWarning (https://github.com/nipy/nipype/pull/2793)
15-
* [MAINT] One less DeprecationWarning (configparser) (https://github.com/nipy/nipype/pull/2794)
16-
* [MAINT] DeprecationWarning: use ``HasTraits.trait_set`` instead (https://github.com/nipy/nipype/pull/2792)
17-
* [MAINT] Stop using deprecated ``logger.warn()`` (https://github.com/nipy/nipype/pull/2788)
18-
* [MAINT] Move ``interfaces.base.run_command`` to ``nipype.utils.subprocess`` (https://github.com/nipy/nipype/pull/2777)
19-
* [MAINT] Force numpy>=1.15.4 when Python>=3.7 (https://github.com/nipy/nipype/pull/2775)
26+
* FIX: MapNodes fail when ``MultiProcPlugin`` passed by instance (https://github.com/nipy/nipype/pull/2786)
27+
* FIX: --fineTune arguments order for MeshFix command (https://github.com/nipy/nipype/pull/2780)
28+
* ENH: Add mp_context plugin arg for MultiProc (https://github.com/nipy/nipype/pull/2778)
29+
* ENH: Create a crashfile even if 'stop_on_first_crash' is set (https://github.com/nipy/nipype/pull/2774)
30+
* ENH: Add ExtractedBrainN4 output to ANTs CorticalThickness interface (https://github.com/nipy/nipype/pull/2784)
31+
* STY: Combine split import (https://github.com/nipy/nipype/pull/2801)
32+
* DOC: use https in css stylesheet url (https://github.com/nipy/nipype/pull/2779)
33+
* MAINT: Outsource ``get_filecopy_info()`` from interfaces (https://github.com/nipy/nipype/pull/2798)
34+
* MAINT: Import only Sequence to avoid DeprecationWarning (https://github.com/nipy/nipype/pull/2793)
35+
* MAINT: One less DeprecationWarning (configparser) (https://github.com/nipy/nipype/pull/2794)
36+
* MAINT: DeprecationWarning: use ``HasTraits.trait_set`` instead (https://github.com/nipy/nipype/pull/2792)
37+
* MAINT: Stop using deprecated ``logger.warn()`` (https://github.com/nipy/nipype/pull/2788)
38+
* MAINT: Move ``interfaces.base.run_command`` to ``nipype.utils.subprocess`` (https://github.com/nipy/nipype/pull/2777)
39+
* MAINT: Force numpy>=1.15.4 when Python>=3.7 (https://github.com/nipy/nipype/pull/2775)
2040

2141

2242
1.1.5 (November 08, 2018)

doc/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
# The short X.Y version.
8383
version = nipype.__version__
8484
# The full version, including alpha/beta/rc tags.
85-
release = "1.1.5"
85+
release = "1.1.7"
8686

8787
# The language for content autogenerated by Sphinx. Refer to documentation
8888
# for a list of supported languages.

doc/documentation.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Documentation
99
:Release: |version|
1010
:Date: |today|
1111

12-
Previous versions: `1.1.6 <http://nipype.readthedocs.io/en/1.1.6/>`_ `1.1.5 <http://nipype.readthedocs.io/en/1.1.5/>`_
12+
Previous versions: `1.1.7 <http://nipype.readthedocs.io/en/1.1.7/>`_ `1.1.6 <http://nipype.readthedocs.io/en/1.1.6/>`_
1313

1414

1515
.. container:: doc2

nipype/algorithms/confounds.py

+26-4
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@
2626
IFLOGGER = logging.getLogger('nipype.interface')
2727

2828

29+
def fallback_svd(a, full_matrices=True, compute_uv=True):
30+
try:
31+
return np.linalg.svd(a, full_matrices=full_matrices, compute_uv=compute_uv)
32+
except np.linalg.LinAlgError:
33+
pass
34+
35+
from scipy.linalg import svd
36+
return svd(a, full_matrices=full_matrices, compute_uv=compute_uv, lapack_driver='gesvd')
37+
38+
2939
class ComputeDVARSInputSpec(BaseInterfaceInputSpec):
3040
in_file = File(
3141
exists=True, mandatory=True, desc='functional data, after HMC')
@@ -271,7 +281,7 @@ class FramewiseDisplacement(BaseInterface):
271281
.. [Power2012] Power et al., Spurious but systematic correlations in functional
272282
connectivity MRI networks arise from subject motion, NeuroImage 59(3),
273283
2012. doi:`10.1016/j.neuroimage.2011.10.018
274-
<http://dx.doi.org/10.1016/j.neuroimage.2011.10.018>`_.
284+
<https://doi.org/10.1016/j.neuroimage.2011.10.018>`_.
275285
276286
277287
"""
@@ -412,6 +422,11 @@ class CompCorInputSpec(BaseInterfaceInputSpec):
412422
low=0,
413423
usedefault=True,
414424
desc='Number of volumes at start of series to ignore')
425+
failure_mode = traits.Enum(
426+
'error', 'NaN',
427+
usedefault=True,
428+
desc='When no components are found or convergence fails, raise an error '
429+
'or silently return columns of NaNs.')
415430

416431

417432
class CompCorOutputSpec(TraitedSpec):
@@ -1185,13 +1200,20 @@ def compute_noise_components(imgseries, mask_images, num_components,
11851200

11861201
# "The covariance matrix C = MMT was constructed and decomposed into its
11871202
# principal components using a singular value decomposition."
1188-
u, _, _ = np.linalg.svd(M, full_matrices=False)
1203+
try:
1204+
u, _, _ = fallback_svd(M, full_matrices=False)
1205+
except np.linalg.LinAlgError:
1206+
if self.inputs.failure_mode == 'error':
1207+
raise
1208+
u = np.ones((M.shape[0], num_components), dtype=np.float32) * np.nan
11891209
if components is None:
11901210
components = u[:, :num_components]
11911211
else:
11921212
components = np.hstack((components, u[:, :num_components]))
11931213
if components is None and num_components > 0:
1194-
raise ValueError('No components found')
1214+
if self.inputs.failure_mode == 'error':
1215+
raise ValueError('No components found')
1216+
components = np.ones((M.shape[0], num_components), dtype=np.float32) * np.nan
11951217
return components, basis
11961218

11971219

@@ -1261,7 +1283,7 @@ def _full_rank(X, cmax=1e15):
12611283
X: array of shape(nrows, ncols) after regularization
12621284
cmax=1.e-15, float tolerance for condition number
12631285
"""
1264-
U, s, V = np.linalg.svd(X, 0)
1286+
U, s, V = fallback_svd(X, full_matrices=False)
12651287
smax, smin = s.max(), s.min()
12661288
c = smax / smin
12671289
if c < cmax:

nipype/algorithms/tests/test_auto_ACompCor.py

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
def test_ACompCor_inputs():
77
input_map = dict(
88
components_file=dict(usedefault=True, ),
9+
failure_mode=dict(usedefault=True, ),
910
header_prefix=dict(),
1011
high_pass_cutoff=dict(usedefault=True, ),
1112
ignore_initial_volumes=dict(usedefault=True, ),

nipype/algorithms/tests/test_auto_TCompCor.py

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
def test_TCompCor_inputs():
77
input_map = dict(
88
components_file=dict(usedefault=True, ),
9+
failure_mode=dict(usedefault=True, ),
910
header_prefix=dict(),
1011
high_pass_cutoff=dict(usedefault=True, ),
1112
ignore_initial_volumes=dict(usedefault=True, ),

nipype/info.py

+10-5
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
# full release. '.dev' as a version_extra string means this is a development
1212
# version
1313
# Remove -dev for release
14-
__version__ = '1.1.7-dev'
14+
__version__ = '1.1.8-dev'
1515

1616

1717
def get_nipype_gitversion():
@@ -108,7 +108,7 @@ def get_nipype_gitversion():
108108
SCIPY_MIN_VERSION = '0.14'
109109
TRAITS_MIN_VERSION = '4.6'
110110
DATEUTIL_MIN_VERSION = '2.2'
111-
PYTEST_MIN_VERSION = '3.0'
111+
PYTEST_MIN_VERSION = '3.6'
112112
FUTURE_MIN_VERSION = '0.16.0'
113113
SIMPLEJSON_MIN_VERSION = '3.8.0'
114114
PROV_VERSION = '1.5.2'
@@ -147,8 +147,6 @@ def get_nipype_gitversion():
147147
'neurdflib',
148148
'click>=%s' % CLICK_MIN_VERSION,
149149
'funcsigs',
150-
'pytest>=%s' % PYTEST_MIN_VERSION,
151-
'pytest-xdist',
152150
'mock',
153151
'pydotplus',
154152
'pydot>=%s' % PYDOT_MIN_VERSION,
@@ -159,7 +157,14 @@ def get_nipype_gitversion():
159157
if sys.version_info <= (3, 4):
160158
REQUIRES.append('configparser')
161159

162-
TESTS_REQUIRES = ['pytest-cov', 'codecov', 'pytest-env', 'coverage<5']
160+
TESTS_REQUIRES = [
161+
'pytest>=%s' % PYTEST_MIN_VERSION,
162+
'pytest-xdist',
163+
'pytest-cov',
164+
'codecov',
165+
'pytest-env',
166+
'coverage<5'
167+
]
163168

164169
EXTRA_REQUIRES = {
165170
'doc': ['Sphinx>=1.4', 'numpydoc', 'matplotlib', 'pydotplus', 'pydot>=1.2.3'],

nipype/interfaces/ants/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
# Registraiton programs
77
from .registration import (ANTS, Registration, RegistrationSynQuick,
8-
MeasureImageSimilarity)
8+
CompositeTransformUtil, MeasureImageSimilarity)
99

1010
# Resampling Programs
1111
from .resampling import (ApplyTransforms, ApplyTransformsToPoints,

0 commit comments

Comments
 (0)