Skip to content

Commit 7fa0ce8

Browse files
committed
upstream merge
2 parents 24863c9 + c389d5d commit 7fa0ce8

File tree

114 files changed

+11201
-336
lines changed

Some content is hidden

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

114 files changed

+11201
-336
lines changed

CHANGES

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
Next release
22
============
33

4+
<<<<<<< HEAD
45
* ENH: Added dcm2niix interface (https://github.com/nipy/nipype/pull/1435)
6+
=======
7+
* ENH: Add nipype_crash_search command (https://github.com/nipy/nipype/pull/1422)
8+
* ENH: Created interface for BrainSuite Cortical Surface Extraction command line tools (https://github.com/nipy/nipype/pull/1305)
9+
>>>>>>> c389d5d4c0f1eb5ff321de5553f815d1fb6fcc47
510
* FIX: job execution on systems/approaches where locale is undefined (https://github.com/nipy/nipype/pull/1401)
611
* FIX: Clean up byte/unicode issues using subprocess (https://github.com/nipy/nipype/pull/1394)
712
* FIX: Prevent crash when tvtk is loaded - ETS_TOOLKIT=null (https://github.com/nipy/nipype/pull/973)
@@ -26,6 +31,9 @@ Next release
2631
* ENH: Interfaces for MINC tools (https://github.com/nipy/nipype/pull/1304)
2732
* FIX: Use realpath to determine hard link source (https://github.com/nipy/nipype/pull/1388)
2833
* FIX: Correct linking/copying fallback behavior (https://github.com/nipy/nipype/pull/1391)
34+
* ENH: Nipype workflow and interfaces for FreeSurfer's recon-all (https://github.com/nipy/nipype/pull/1326)
35+
* FIX: Permit relative path for concatenated_file input to Concatenate() (https://github.com/nipy/nipype/pull/1411)
36+
* ENH: Makes ReconAll workflow backwards compatible with FreeSurfer 5.3.0 (https://github.com/nipy/nipype/pull/1434)
2937

3038
Release 0.11.0 (September 15, 2015)
3139
============

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ test: clean test-code
6666

6767
html:
6868
@echo "building docs"
69-
make -C doc clean html
69+
make -C doc clean htmlonly
7070

7171
specs:
7272
@echo "Checking specs and autogenerating spec tests"

THANKS.rst

Lines changed: 10 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,22 @@
11
.. -*- mode: rst -*-
22
3-
43
Code contributors
54
-----------------
6-
Contributors to Nipype include but are not limited to:
7-
8-
.. hlist::
95

10-
* Aimi Watanabe
11-
* Alexander Schaefer
12-
* Alexandre Gramfort
13-
* Alexandre Savio
14-
* Anisha Keshavan
15-
* Ariel Rokem
16-
* Ben Acland
17-
* Ben Cipollini
18-
* Basile Pinsard
19-
* Brendan Moloney
20-
* Brian Cheung
21-
* Charl Linssen
22-
* Chris Filo Gorgolewski
23-
* Chris Steele
24-
* Christian Haselgrove
25-
* Christopher Burns
26-
* Cindee Madison
27-
* Claire Tarbert
28-
* Colin Buchanan
29-
* Daniel Ginsburg
30-
* Daniel Haehn
31-
* Daniel Margulies
32-
* Dav Clark
33-
* David Welch
34-
* Drew Erickson
35-
* Erik Kastman
36-
* Félix C. Morency
37-
* Gael Varoquaux
38-
* Hans Johnson
39-
* Janosch Linkersdörfer
40-
* Januzz
41-
* Jarrod Millman
42-
* Jeff Lai
43-
* Jessica Forbes
44-
* John Salvatore
45-
* Lijie Huang
46-
* Michael Hallquist
47-
* Michael Hanke
48-
* Michael Notter
49-
* Michael Waskom
50-
* Nolan Nichols
51-
* Oliver Hinds
52-
* Oscar Esteban
53-
* Rosalia Tungaraza
54-
* Satrajit Ghosh
55-
* Sharad Sikka
56-
* Stephan Gerhard
57-
* Erik Ziegler
58-
* Valentin Haenel
59-
* Xiangzhen Kong
60-
* Xu Wang
61-
* Yannick Schwartz
62-
* Yaroslav O. Halchenko
6+
See `Github contributors list <https://github.com/nipy/nipype/graphs/contributors>`__.
637

64-
For full most up to date list see `Ohloh <https://www.ohloh.net/p/nipype/contributors>`__.
8+
Funding
9+
-------
6510

66-
Other contributors
67-
------------------
11+
Nipype is currently supported by `1R01EB020740-01A1 Nipype: Dataflows for Reproducible Biomedical Research <https://projectreporter.nih.gov/project_info_description.cfm?aid=9053094>`__.
6812

69-
.. hlist::
13+
Satrajit Ghosh work on this project was partially funded by NIBIB `R03EB008673 <https://projectreporter.nih.gov/project_info_description.cfm?aid=7501200>`__ and by the `INCF <http://www.incf.org>`__ through a contract with TankThink Labs, LLC.
14+
Chris Burns was supported by NIMH grant `5R01MH081909-02 Continued Development and Maintenance of the Neuroimaging in Python Project <https://projectreporter.nih.gov/project_info_description.cfm?aid=7288112>`__. Hans Jonson was supported by
15+
`2 U54 EB005149 - 06 Core 2b Huntington's Disease - Driving Biological Project <http://projectreporter.nih.gov/project_info_description.cfm?aid=8153616>`__,
16+
`S10 RR023392 Enterprise Storage In A Collaborative Neuroimaging Environment <http://projectreporter.nih.gov/project_info_description.cfm?aid=7209718>`__,
17+
`R01 NS040068 Neurobiological Predictors of Huntington's Disease <http://projectreporter.nih.gov/project_info_description.cfm?aid=6266377>`__,
18+
and `UL1 TR000442 University of Iowa Clinical and Translational Science Program <http://projectreporter.nih.gov/project_info_description.cfm?aid=8467220>`__.
7019

71-
* Matthew Brett
72-
* Michael Castelle
73-
* Philippe Ciuciu
74-
* Yann Cointepas
75-
* Mark D'Esposito
76-
* Susan Gabrieli
77-
* Brian Hawthorne
78-
* Tim Leslie
79-
* Fernando Perez
80-
* Tyler Perrachione
81-
* Jean-Baptiste Poline
82-
* Alexis Roche
83-
* Denis Riviere
84-
* Gretchen Reynolds
85-
* Jonathan Taylor
86-
* Bertrand Thirion
87-
* Bernjamin Thyreau
88-
* Mike Trumpis
89-
* Karl Young
90-
* Tom Waite
9120

9221
We would also like to thank `JetBrains <http://www.jetbrains.com/>`__ for providing `Pycharm <http://www.jetbrains.com/pycharm/>`__ licenses.
9322

94-
Funding
95-
-------
96-
Satrajit Ghosh work on this project was partially funded by NIBIB R03 EB008673 (PI: Ghosh and Whitfield-Gabrieli) and by the `INCF <http://www.incf.org>`__ through a contract with TankThink Labs, LLC.
97-
Chris Burns was supported by NIMH grant 5R01MH081909-02 (PI: Desposito). Hans Jonson was supported by
98-
`2 U54 EB005149 - 06 Core 2b Huntington's Disease - Driving Biological Project <http://projectreporter.nih.gov/project_info_description.cfm?aid=8153616&icde=16158743&ddparam=&ddvalue=&ddsub=&cr=18&csb=PT&cs=ASC>`__,
99-
`S10 RR023392 Enterprise Storage In A Collaborative Neuroimaging Environment <http://projectreporter.nih.gov/project_info_description.cfm?aid=7209718&icde=16158552&ddparam=&ddvalue=&ddsub=&cr=1&csb=default&cs=ASC>`__,
100-
`R01 NS040068 Neurobiological Predictors of Huntington's Disease <http://projectreporter.nih.gov/project_info_description.cfm?aid=6266377&icde=16158103>`__,
101-
and `UL1 TR000442 University of Iowa Clinical and Translational Science Program <http://projectreporter.nih.gov/project_info_description.cfm?aid=8467220&icde=16159156&ddparam=&ddvalue=&ddsub=&cr=1&csb=default&cs=ASC>`__.
102-

Vagrantfile

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,20 @@ $script = <<SCRIPT
2020
# qconf -aattr queue slots "2, [neuro=3]" main.q
2121
2222
# install anaconda
23-
wget http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh
23+
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
2424
chmod +x miniconda.sh
2525
./miniconda.sh -b
26-
echo "export PATH=$HOME/miniconda/bin:\\$PATH" >> .bashrc
26+
echo "export PATH=$HOME/miniconda3/bin:\\$PATH" >> .bashrc
2727
2828
# install nipype dependencies
29-
$HOME/miniconda/bin/conda update --yes conda
30-
$HOME/miniconda/bin/conda install --yes pip numpy scipy nose traits networkx
31-
$HOME/miniconda/bin/conda install --yes dateutil ipython-notebook matplotlib
32-
$HOME/miniconda/bin/pip install nibabel --use-mirrors
33-
$HOME/miniconda/bin/pip install https://github.com/RDFLib/rdflib/archive/master.zip
34-
$HOME/miniconda/bin/pip install https://github.com/trungdong/prov/archive/rdf.zip
35-
$HOME/miniconda/bin/pip install https://github.com/nipy/nipype/archive/master.zip
29+
$HOME/miniconda3/bin/conda update --yes conda
30+
$HOME/miniconda3/bin/conda install --yes pip scipy nose networkx lxml future simplejson
31+
$HOME/miniconda3/bin/conda install --yes python-dateutil jupyter matplotlib
32+
$HOME/miniconda3/bin/pip install nibabel
33+
$HOME/miniconda3/bin/pip install prov
34+
$HOME/miniconda3/bin/pip install xvfbwrapper
35+
$HOME/miniconda3/bin/pip install traits
36+
$HOME/miniconda3/bin/pip install https://github.com/nipy/nipype/archive/master.zip
3637
SCRIPT
3738

3839
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

bin/nipype_crash_search

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
#!/usr/bin/env python
2+
"""Search for tracebacks inside a folder of nipype crash
3+
log files that match a given regular expression.
4+
5+
Examples:
6+
nipype_crash_search -d nipype/wd/log -r '.*subject123.*'
7+
"""
8+
import re
9+
import os.path as op
10+
from glob import glob
11+
12+
from traits.trait_errors import TraitError
13+
from nipype.utils.filemanip import loadcrash
14+
15+
16+
def load_pklz_traceback(crash_filepath):
17+
""" Return the traceback message in the given crash file."""
18+
try:
19+
data = loadcrash(crash_filepath)
20+
except TraitError as te:
21+
return str(te)
22+
except:
23+
raise
24+
else:
25+
return '\n'.join(data['traceback'])
26+
27+
28+
def iter_tracebacks(logdir):
29+
""" Return an iterator over each file path and
30+
traceback field inside `logdir`.
31+
Parameters
32+
----------
33+
logdir: str
34+
Path to the log folder.
35+
36+
field: str
37+
Field name to be read from the crash file.
38+
39+
Yields
40+
------
41+
path_file: str
42+
43+
traceback: str
44+
"""
45+
crash_files = sorted(glob(op.join(logdir, '*.pkl*')))
46+
47+
for cf in crash_files:
48+
yield cf, load_pklz_traceback(cf)
49+
50+
51+
def display_crash_search(logdir, regex):
52+
rex = re.compile(regex, re.IGNORECASE)
53+
for file, trace in iter_tracebacks(logdir):
54+
if rex.search(trace):
55+
print("-" * len(file))
56+
print(file)
57+
print("-" * len(file))
58+
print(trace)
59+
60+
61+
if __name__ == "__main__":
62+
from argparse import ArgumentParser, RawTextHelpFormatter
63+
defstr = ' (default %(default)s)'
64+
parser = ArgumentParser(prog='nipype_crash_search',
65+
description=__doc__,
66+
formatter_class=RawTextHelpFormatter)
67+
parser.add_argument('-l','--logdir', type=str, dest='logdir',
68+
action="store", default=None,
69+
help='The working directory log file.' + defstr)
70+
parser.add_argument('-r', '--regex', dest='regex',
71+
default='*',
72+
help='Regular expression to be searched in each traceback.' + defstr)
73+
74+
args = parser.parse_args()
75+
76+
display_crash_search(args.logdir, args.regex)

circle.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ dependencies:
2828
- pip install -e git+https://github.com/enthought/blockcanvas.git#egg=blockcanvas
2929
- pip install -e git+https://github.com/enthought/etsproxy.git#egg=etsproxy
3030
- pip install -e git+https://github.com/enthought/ets.git#egg=ets
31+
- pip install https://github.com/rtfd/readthedocs-sphinx-ext/archive/master.zip
3132
- gem install fakes3
3233
- if [[ ! -d ~/examples/data ]]; then wget "https://dl.dropbox.com/s/jzgq2nupxyz36bp/nipype-tutorial.tar.bz2" && tar jxvf nipype-tutorial.tar.bz2 && mv nipype-tutorial/* ~/examples/; fi
3334
- if [[ ! -d ~/examples/fsl_course_data ]]; then wget -c "http://fsl.fmrib.ox.ac.uk/fslcourse/fdt1.tar.gz" && wget -c "http://fsl.fmrib.ox.ac.uk/fslcourse/fdt2.tar.gz" && wget -c "http://fsl.fmrib.ox.ac.uk/fslcourse/tbss.tar.gz" && mkdir ~/examples/fsl_course_data && tar zxvf fdt1.tar.gz -C ~/examples/fsl_course_data && tar zxvf fdt2.tar.gz -C ~/examples/fsl_course_data && tar zxvf tbss.tar.gz -C ~/examples/fsl_course_data; fi

doc/_templates/indexsidebar.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ <h3>{{ _('Links') }}</h3>
55
<li>Docs: <a href="http://nipy.org/nipype">Stable</a> · <a href="http://www.mit.edu/~satra/nipype-nightly/">Nightly</a></li>
66
<li>Code: <a href="http://github.com/nipy/nipype">Github</a> · <a href="http://github.com/nipy/nipype/issues">Bugs-Requests</a></li>
77
<li>Forum: <a href="http://neurostars.org/t/nipype">User</a> · <a href="http://projects.scipy.org/mailman/listinfo/nipy-devel">Developer</a></li>
8-
<li><a href="http://nipy.org/software/license/index.html"><img src="https://img.shields.io/pypi/l/nipype.svg" alt="License"></a> · <a href="http://nipy.org/about/funding.html">Funding</a></li>
8+
<li><a href="http://nipy.org/software/license/index.html"><img src="https://img.shields.io/pypi/l/nipype.svg" alt="License"></a> · <a href="about.html#funding">Funding</a></li>
99
<li><a href="https://travis-ci.org/nipy/nipype"><img src="https://travis-ci.org/nipy/nipype.png?branch=master" alt="travis"></a> · <a href='https://coveralls.io/r/nipy/nipype'><img src='https://coveralls.io/repos/nipy/nipype/badge.png' alt='Coverage Status' /></a></li>
1010
<li><a href="https://pypi.python.org/pypi/nipype/"><img src="https://img.shields.io/pypi/dm/nipype.svg" alt="Downloads"></a> · <a href='https://pypi.python.org/pypi/nipype/'><img src='https://img.shields.io/pypi/pyversions/nipype.svg' alt='Python Versions' /></a></li>
1111
</ul>

doc/_templates/layout.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@
1414
ga('create', 'UA-339450-7', 'nipy.org/nipype');
1515
ga('send', 'pageview');
1616
</script>
17+
<script>
18+
((window.gitter = {}).chat = {}).options = {
19+
room: 'nipy/nipype'
20+
};
21+
</script>
22+
<script src="https://sidecar.gitter.im/dist/sidecar.v1.js" async defer></script>
1723
{% endblock %}
1824

1925
{% block header %}

doc/_templates/navbar.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@
1010
<a class="navbar" href="{{pathto('index')}}">Home</a> ·
1111
<a class="navbar" href="{{pathto('quickstart')}}">Quickstart</a> ·
1212
<a class="navbar" href="{{pathto('documentation')}}">Documentation</a> ·
13-
<a class="navbar" href="{{pathto('about')}}">Citation</a> ·
14-
<a class="navbar" href="http://nipy.org">NiPy</a>
13+
<a class="navbar" href="{{pathto('about')}}">About</a> ·
14+
<a class="navbar" href="http://nipy.org">Nipy</a>
1515

doc/_templates/sidebar_versions.html

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,14 @@ <h3>{{ _('Versions') }}</h3>
1717
<td align="left">Release</td><td align="right">Devel</td>
1818
</tr>
1919
<tr>
20-
<td align="left">0.11.0</td><td align="right">{{ version }}</td>
20+
<td align="left">{{ release }}</td><td align="right">{{ version }}</td>
2121
</tr>
2222
<tr>
2323
<td align="left"><a href="{{pathto('users/install')}}">Download</a></td>
2424
<td align="right"><a href="https://github.com/nipy/nipype">Github</a></td>
2525
</tr>
2626
</table>
2727
</div>
28-
29-
<div id="buttons">
30-
<div id="ohloh-use" style="margin-right: 25px; margin-top: -2px; float: left;">
31-
<script type="text/javascript"
32-
src="https://www.openhub.net/p/480871/widgets/project_users_logo.js">
33-
</script>
34-
</div><!-- use -->
35-
<g:plusone size="medium" annotation="none"></g:plusone>
36-
<div class="clear"></div>
37-
</div><!-- buttons container -->
3828
</div>
3929

4030

doc/about.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Citation
1414
Ghosh SS. (2011). Nipype: a flexible, lightweight and extensible neuroimaging
1515
data processing framework in Python. Front. Neuroimform. 5:13.
1616

17-
`Download`__
17+
`Download Paper`__
1818

1919
__ paper_
2020

doc/conf.py

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,24 @@
1414

1515
import sys
1616
import os
17+
from shutil import rmtree
1718

1819
nipypepath = os.path.abspath('..')
1920
sys.path.insert(1, nipypepath)
2021

2122
import nipype
2223

24+
if not os.path.exists('users/examples'):
25+
os.mkdir('users/examples')
26+
os.system('python ../tools/make_examples.py --no-exec')
27+
28+
if os.path.exists('api/generated'):
29+
rmtree('api/generated')
30+
os.system('python ../tools/build_modref_templates.py')
31+
if os.path.exists('interfaces/generated'):
32+
rmtree('interfaces/generated')
33+
os.system('python ../tools/build_interface_docs.py')
34+
2335
# If extensions (or modules to document with autodoc) are in another directory,
2436
# add these directories to sys.path here. If the directory is relative to the
2537
# documentation root, use os.path.abspath to make it absolute, like shown here.
@@ -29,7 +41,8 @@
2941

3042
# Add any Sphinx extension module names here, as strings. They can be extensions
3143
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
32-
extensions = ['sphinx.ext.todo',
44+
extensions = ['readthedocs_ext.readthedocs',
45+
'sphinx.ext.todo',
3346
'sphinx.ext.pngmath',
3447
'sphinx.ext.inheritance_diagram',
3548
'sphinx.ext.graphviz',
@@ -40,8 +53,8 @@
4053
'numpy_ext.numpydoc',
4154
'matplotlib.sphinxext.plot_directive',
4255
'matplotlib.sphinxext.only_directives',
43-
'IPython.sphinxext.ipython_directive',
44-
'IPython.sphinxext.ipython_console_highlighting'
56+
#'IPython.sphinxext.ipython_directive',
57+
#'IPython.sphinxext.ipython_console_highlighting'
4558
]
4659

4760
# Add any paths that contain templates here, relative to this directory.
@@ -58,7 +71,7 @@
5871

5972
# General information about the project.
6073
project = u'nipype'
61-
copyright = u'2009-15, Neuroimaging in Python team'
74+
copyright = u'2009-16, Neuroimaging in Python team'
6275

6376
# The version info for the project you're documenting, acts as replacement for
6477
# |version| and |release|, also used in various other places throughout the
@@ -67,7 +80,7 @@
6780
# The short X.Y version.
6881
version = nipype.__version__
6982
# The full version, including alpha/beta/rc tags.
70-
release = version
83+
release = "0.11.0"
7184

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

doc/users/debug.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ performance issues.
4242
#. All Nipype crashfiles can be inspected with the `nipype_display_crash`
4343
utility.
4444

45+
#. The `nipype_crash_search` command allows you to search for regular expressions
46+
in the tracebacks of the Nipype crashfiles within a log folder.
47+
4548
#. Nipype determines the hash of the input state of a node. If any input
4649
contains strings that represent files on the system path, the hash evaluation
4750
mechanism will determine the timestamp or content hash of each of those

0 commit comments

Comments
 (0)