Skip to content

Commit 3c4d1de

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 6fc6cc1 + ba78e42 commit 3c4d1de

Some content is hidden

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

78 files changed

+3553
-282
lines changed

.travis.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ install:
5555
pip install https://github.com/dmsurti/mayavi/archive/4d4aaf315a29d6a86707dd95149e27d9ed2225bf.zip;
5656
pip install -e git+https://github.com/enthought/ets.git#egg=ets;
5757
fi
58-
- pip install -r requirements.txt # finish remaining requirements
59-
- python setup.py install
58+
- pip install -e .
6059
script:
6160
- python -W once:FSL:UserWarning:nipype `which nosetests` --with-doctest --with-cov --cover-package nipype --cov-config .coveragerc --logging-level=DEBUG --verbosity=3
6261
after_success:
@@ -70,4 +69,4 @@ deploy:
7069
tags: true
7170
repo: nipy/nipype
7271
branch: master
73-
distributions: "sdist bdist_wheel"
72+
distributions: "sdist"

CHANGES

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1-
Release 0.12.0-rc1 (April 20, 2016)
1+
Release 0.12.0-rc2 (June 19, 2016)
22
============
33

4+
* ENH: New interface for Bruker to Nifti converter (https://github.com/nipy/nipype/pull/1523)
5+
* FIX: output file naming for FIRST outputs (https://github.com/nipy/nipype/pull/1524)
6+
* ENH: Adds `fslmaths -Tstd` to maths interfaces (https://github.com/nipy/nipype/pull/1518)
7+
* FIX: Selecting "gamma" in FSL Level1Design now does what the name says (https://github.com/nipy/nipype/pull/1500)
8+
* ENH: Added grad_dev input to fsl.dti.bedpostx5 interface(https://github.com/nipy/nipype/pull/1493)
9+
* ENH: ResourceMultiProc plugin to support resource allocation (https://github.com/nipy/nipype/pull/1372)
410
* ENH: Added dcm2niix interface (https://github.com/nipy/nipype/pull/1435)
511
* ENH: Add nipype_crash_search command (https://github.com/nipy/nipype/pull/1422)
612
* ENH: Created interface for BrainSuite Cortical Surface Extraction command line tools (https://github.com/nipy/nipype/pull/1305)
@@ -31,6 +37,8 @@ Release 0.12.0-rc1 (April 20, 2016)
3137
* ENH: Nipype workflow and interfaces for FreeSurfer's recon-all (https://github.com/nipy/nipype/pull/1326)
3238
* FIX: Permit relative path for concatenated_file input to Concatenate() (https://github.com/nipy/nipype/pull/1411)
3339
* ENH: Makes ReconAll workflow backwards compatible with FreeSurfer 5.3.0 (https://github.com/nipy/nipype/pull/1434)
40+
* ENH: Added interfaces for AFNI 3dDegreeCentrality, 3dECM, 3dLFCD, 3dClipLevel, 3dmask_tool, and 3dSeg
41+
(https://github.com/nipy/nipype/pull/1460)
3442

3543
Release 0.11.0 (September 15, 2015)
3644
============

CONTRIBUTING.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,16 @@
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

Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ sdist: zipdoc
1515
python setup.py sdist
1616
@echo "Done building source distribution."
1717
# XXX copy documentation.zip to dist directory.
18-
# XXX Somewhere the doc/_build directory is removed and causes
19-
# this script to fail.
2018

2119
egg: zipdoc
2220
@echo "Building egg..."
@@ -45,7 +43,10 @@ clean-build:
4543
clean-ctags:
4644
rm -f tags
4745

48-
clean: clean-build clean-pyc clean-so clean-ctags
46+
clean-doc:
47+
rm -rf doc/_build
48+
49+
clean: clean-build clean-pyc clean-so clean-ctags clean-doc
4950

5051
in: inplace # just a shortcut
5152
inplace:

doc/links_names.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
.. _doctest-mode: http://www.cis.upenn.edu/~edloper/projects/doctestmode/
5757
.. _bazaar: http://bazaar-vcs.org/
5858
.. _subversion: http://subversion.tigris.org/
59-
.. _nose: http://somethingaboutorange.com/mrl/projects/nose
59+
.. _nose: http://nose.readthedocs.io/en/latest/
6060
.. _`python coverage tester`: http://nedbatchelder.com/code/modules/coverage.html
6161

6262
.. Other python projects

doc/sphinxext/numpy_ext/numpydoc.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def mangle_docstrings(app, what, name, obj, options, lines,
4040

4141
if what == 'module':
4242
# Strip top title
43-
title_re = re.compile(ur'^\s*[#*=]{4,}\n[a-z0-9 -]+\n[#*=]{4,}\s*',
43+
title_re = re.compile(r'^\s*[#*=]{4,}\n[a-z0-9 -]+\n[#*=]{4,}\s*',
4444
re.I | re.S)
4545
lines[:] = title_re.sub(u'', u"\n".join(lines)).split(u"\n")
4646
else:
@@ -61,7 +61,7 @@ def mangle_docstrings(app, what, name, obj, options, lines,
6161
references = []
6262
for line in lines:
6363
line = line.strip()
64-
m = re.match(ur'^.. \[([a-z0-9_.-])\]', line, re.I)
64+
m = re.match(r'^.. \[([a-z0-9_.-])\]', line, re.I)
6565
if m:
6666
references.append(m.group(1))
6767

@@ -70,7 +70,7 @@ def mangle_docstrings(app, what, name, obj, options, lines,
7070
if references:
7171
for i, line in enumerate(lines):
7272
for r in references:
73-
if re.match(ur'^\d+$', r):
73+
if re.match(r'^\d+$', r):
7474
new_r = u"R%d" % (reference_offset[0] + int(r))
7575
else:
7676
new_r = u"%s%d" % (r, reference_offset[0])

doc/users/debug.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ performance issues.
4343
utility.
4444

4545
#. The `nipype_crash_search` command allows you to search for regular expressions
46-
in the tracebacks of the Nipype crashfiles within a log folder.
46+
in the tracebacks of the Nipype crashfiles within a log folder.
4747

4848
#. Nipype determines the hash of the input state of a node. If any input
4949
contains strings that represent files on the system path, the hash evaluation

doc/users/grabbing_and_sinking.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ DataGrabber stores its outputs in a field called outfiles.
5858
datasource1 = nio.DataGrabber()
5959
datasource1.inputs.base_directory = os.getcwd()
6060
datasource1.inputs.template = 'data/s1/f3.nii'
61+
datasource1.inputs.sort_filelist = True
6162
results = datasource1.run()
6263

6364
Or you can get at all uncompressed NIfTI files starting with the letter 'f' in
@@ -67,6 +68,7 @@ all directories starting with the letter 's'.
6768

6869
datasource2.inputs.base_directory = '/mass'
6970
datasource2.inputs.template = 'data/s*/f*.nii'
71+
datasource1.inputs.sort_filelist = True
7072

7173
Two special inputs were used in these previous cases. The input `base_directory`
7274
indicates in which directory to search, while the input `template` indicates the
@@ -89,6 +91,7 @@ then used to set the template (see %d in the template).
8991
datasource3 = nio.DataGrabber(infields=['run'])
9092
datasource3.inputs.base_directory = os.getcwd()
9193
datasource3.inputs.template = 'data/s1/f%d.nii'
94+
datasource1.inputs.sort_filelist = True
9295
datasource3.inputs.run = [3, 7]
9396

9497
This will return files `basedir/data/s1/f3.nii` and `basedir/data/s1/f7.nii`. We
@@ -98,6 +101,7 @@ can take this a step further and pair subjects with runs.
98101

99102
datasource4 = nio.DataGrabber(infields=['subject_id', 'run'])
100103
datasource4.inputs.template = 'data/%s/f%d.nii'
104+
datasource1.inputs.sort_filelist = True
101105
datasource4.inputs.run = [3, 7]
102106
datasource4.inputs.subject_id = ['s1', 's3']
103107

@@ -115,6 +119,7 @@ wish to retrieve all the functional runs and the structural image for the subjec
115119
datasource = nio.DataGrabber(infields=['subject_id'], outfields=['func', 'struct'])
116120
datasource.inputs.base_directory = 'data'
117121
datasource.inputs.template = '*'
122+
datasource1.inputs.sort_filelist = True
118123
datasource.inputs.field_template = dict(func='%s/f%d.nii',
119124
struct='%s/struct.nii')
120125
datasource.inputs.template_args = dict(func=[['subject_id', [3,5,7,10]]],

doc/users/images/gantt_chart.png

107 KB
Loading

doc/users/install.rst

Lines changed: 34 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ This page covers the necessary steps to install Nipype.
99
Download
1010
--------
1111

12-
Release 0.10.0: [`zip <https://github.com/nipy/nipype/archive/0.10.0.zip>`__ `tar.gz
13-
<https://github.com/nipy/nipype/archive/0.10.0.tar.gz>`__]
12+
Current release: `<https://github.com/nipy/nipype/releases/latest>`_.
1413

15-
Development: [`zip <http://github.com/nipy/nipype/zipball/master>`__ `tar.gz
14+
Development version: [`zip <http://github.com/nipy/nipype/zipball/master>`__ `tar.gz
1615
<http://github.com/nipy/nipype/tarball/master>`__]
1716

1817
`Prior downloads <http://github.com/nipy/nipype/tags>`_
@@ -21,13 +20,18 @@ To check out the latest development version::
2120

2221
git clone git://github.com/nipy/nipype.git
2322

23+
or::
24+
25+
git clone https://github.com/nipy/nipype.git
26+
27+
Check out the list of nipype's `current dependencies <https://github.com/shoshber/nipype/blob/master/nipype/info.py#L105>`_.
28+
2429
Install
2530
-------
2631

2732
The installation process is similar to other Python packages.
2833

29-
If you already have a Python environment setup that has the dependencies listed
30-
below, you can do::
34+
If you already have a Python environment set up, you can do::
3135

3236
easy_install nipype
3337

@@ -46,9 +50,8 @@ Mac OS X
4650
~~~~~~~~
4751

4852
The easiest way to get nipype running on Mac OS X is to install Anaconda_ or
49-
Canopy_ and then add nibabel and nipype by executing::
53+
Canopy_ and then add nipype by executing::
5054

51-
easy_install nibabel
5255
easy_install nipype
5356

5457
From source
@@ -58,7 +61,7 @@ If you downloaded the source distribution named something
5861
like ``nipype-x.y.tar.gz``, then unpack the tarball, change into the
5962
``nipype-x.y`` directory and install nipype using::
6063

61-
python setup.py install
64+
pip install -e .
6265

6366
**Note:** Depending on permissions you may need to use ``sudo``.
6467

@@ -72,8 +75,18 @@ nose_ installed, then do the following::
7275

7376
you can also test with nosetests::
7477

75-
nosetests --with-doctest /software/nipy-repo/masternipype/nipype
76-
--exclude=external --exclude=testing
78+
nosetests --with-doctest <installation filepath>/nipype --exclude=external --exclude=testing
79+
80+
or::
81+
82+
nosetests --with-doctest nipype
83+
84+
A successful test run should complete in a few minutes and end with
85+
something like::
86+
87+
Ran 13053 tests in 126.618s
88+
89+
OK (SKIP=66)
7790

7891
All tests should pass (unless you're missing a dependency). If SUBJECTS_DIR
7992
variable is not set some FreeSurfer related tests will fail. If any tests
@@ -85,9 +98,9 @@ tests::
8598

8699
export MATLABCMD=$pathtomatlabdir/bin/$platform/MATLAB
87100

88-
where, $pathtomatlabdir is the path to your matlab installation and
89-
$platform is the directory referring to x86 or x64 installations
90-
(typically glnxa64 on 64-bit installations).
101+
where ``$pathtomatlabdir`` is the path to your matlab installation and
102+
``$platform`` is the directory referring to x86 or x64 installations
103+
(typically ``glnxa64`` on 64-bit installations).
91104

92105
Avoiding any MATLAB calls from testing
93106
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -98,37 +111,9 @@ On unix systems, set an empty environment variable::
98111

99112
This will skip any tests that require matlab.
100113

101-
Dependencies
114+
Recommended Software
102115
------------
103116

104-
Below is a list of required dependencies, along with additional software
105-
recommendations.
106-
107-
Must Have
108-
~~~~~~~~~
109-
110-
Python_ 2.7
111-
112-
Nibabel_ 1.0 - 1.4
113-
Neuroimaging file i/o library
114-
115-
NetworkX_ 1.0 - 1.8
116-
Python package for working with complex networks.
117-
118-
NumPy_ 1.3 - 1.7
119-
120-
SciPy_ 0.7 - 0.12
121-
Numpy and Scipy are high-level, optimized scientific computing libraries.
122-
123-
Enthought_ Traits_ 4.0.0 - 4.3.0
124-
125-
Dateutil 1.5 -
126-
127-
.. note::
128-
129-
Full distributions such as Anaconda_ or Canopy_ provide the above packages,
130-
except Nibabel_.
131-
132117
Strong Recommendations
133118
~~~~~~~~~~~~~~~~~~~~~~
134119

@@ -140,18 +125,22 @@ Matplotlib_ 1.0 - 1.2
140125
Plotting library
141126

142127
`RDFLib <http://rdflib.readthedocs.org/en/latest/>`_ 4.1
143-
RDFLibrary required for provenance export as RDF
128+
RDFLibrary required for provenance export as RDF
144129

145130
Sphinx_ 1.1
146131
Required for building the documentation
147132

148133
`Graphviz <http://www.graphviz.org/>`_
149-
Required for building the documentation
134+
Required for building the documentation. The python wrapper package (``graphviz``)
135+
and the program itself both need to be installed.
150136

151137
Interface Dependencies
152138
~~~~~~~~~~~~~~~~~~~~~~
153139

154-
These are the software packages that nipype.interfaces wraps:
140+
You might not need some of the following packages, depending on what exactly you
141+
want to use nipype for. If you do need any of them, install nipype's wrapper package
142+
(``nipype.interfaces``), then install the programs separately onto your computer, just
143+
like you would install any other app.
155144

156145
FSL_
157146
4.1.0 or later

0 commit comments

Comments
 (0)