Skip to content

Commit 8b83ea1

Browse files
committed
Merge pull request #1 from nipy/master
Update to current master
2 parents 6da246d + b315a96 commit 8b83ea1

File tree

420 files changed

+97107
-1496
lines changed

Some content is hidden

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

420 files changed

+97107
-1496
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@
1313
.settings
1414
.pydevproject
1515
.idea/
16+
/documentation.zip

.travis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ cache:
22
- apt
33
language: python
44
python:
5-
- 2.6
65
- 2.7
76
env:
87
- INSTALL_DEB_DEPENDECIES=true

CHANGES

Lines changed: 49 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,79 @@
11
Next release
22
============
33

4-
* ENH: Updated N4BiasCorrection input spec to include weight image and spline order. Made
4+
* FIX: Enable absolute path definitions in DCMStack (https://github.com/nipy/nipype/pull/1089,
5+
replaced by https://github.com/nipy/nipype/pull/1093)
6+
* ENH: New mesh.MeshWarpMaths to operate on surface-defined warpings
7+
(https://github.com/nipy/nipype/pull/1016)
8+
* FIX: Refactor P2PDistance, change name to ComputeMeshWarp, add regression tests,
9+
fix bug in area weighted distance, and added optimizations
10+
(https://github.com/nipy/nipype/pull/1016)
11+
* ENH: Add an option not to resubmit Nodes that finished running when using SGEGraph (https://github.com/nipy/nipype/pull/1002)
12+
* FIX: FUGUE is now properly listing outputs. (https://github.com/nipy/nipype/pull/978)
13+
* ENH: Improved FieldMap-Based (FMB) workflow for correction of susceptibility distortions in EPI seqs.
14+
(https://github.com/nipy/nipype/pull/1019)
15+
* ENH: Dropped support for now 7 years old Python 2.6 (https://github.com/nipy/nipype/pull/1069)
16+
* FIX: terminal_output is not mandatory anymore (https://github.com/nipy/nipype/pull/1070)
17+
* ENH: Added "nipype_cmd" tool for running interfaces from the command line (https://github.com/nipy/nipype/pull/795)
18+
* FIX: Fixed Camino output naming (https://github.com/nipy/nipype/pull/1061)
19+
* ENH: Add the average distance to ErrorMap (https://github.com/nipy/nipype/pull/1039)
20+
* ENH: Inputs with name_source can be now chained in cascade (https://github.com/nipy/nipype/pull/938)
21+
* ENH: Improve JSON interfaces: default settings when reading and consistent output creation
22+
when writing (https://github.com/nipy/nipype/pull/1047)
23+
* FIX: AddCSVRow problems when using infields (https://github.com/nipy/nipype/pull/1028)
24+
* FIX: Removed unused ANTS registration flag (https://github.com/nipy/nipype/pull/999)
25+
* FIX: Amend create_tbss_non_fa() workflow to match FSL's tbss_non_fa command. (https://github.com/nipy/nipype/pull/1033)
26+
* FIX: remove unused mandatory flag from spm normalize (https://github.com/nipy/nipype/pull/1048)
27+
* ENH: Update ANTSCorticalThickness interface (https://github.com/nipy/nipype/pull/1013)
28+
* FIX: Edge case with sparsemodels and PEP8 cleanup (https://github.com/nipy/nipype/pull/1046)
29+
* ENH: New io interfaces for JSON files reading/writing (https://github.com/nipy/nipype/pull/1020)
30+
* ENH: Enhanced openfmri script to support freesurfer linkage (https://github.com/nipy/nipype/pull/1037)
31+
* BUG: matplotlib is supposed to be optional (https://github.com/nipy/nipype/pull/1003)
32+
* FIX: Fix split_filename behaviour when path has no file component (https://github.com/nipy/nipype/pull/1035)
33+
* ENH: Updated FSL dtifit to include option for grad non-linearities (https://github.com/nipy/nipype/pull/1032)
34+
* ENH: Updated Camino tracking interfaces, which can now use FSL bedpostx output.
35+
New options also include choice of tracker, interpolator, stepsize and
36+
curveinterval for angle threshold (https://github.com/nipy/nipype/pull/1029)
37+
* FIX: Interfaces redirecting X crashed if $DISPLAY not defined (https://github.com/nipy/nipype/pull/1027)
38+
* FIX: Bug crashed 'make api' (https://github.com/nipy/nipype/pull/1026)
39+
* ENH: Updated antsIntroduction to handle RA and RI registrations (https://github.com/nipy/nipype/pull/1009)
40+
* ENH: Updated N4BiasCorrection input spec to include weight image and spline order. Made
541
argument formatting consistent. Cleaned ants.segmentation according to PEP8.
642
(https://github.com/nipy/nipype/pull/990/files)
743
* ENH: SPM12 Normalize interface (https://github.com/nipy/nipype/pull/986)
844
* FIX: Utility interface test dir (https://github.com/nipy/nipype/pull/986)
945
* FIX: IPython engine directory reset after crash (https://github.com/nipy/nipype/pull/987)
1046
* ENH: Resting state fMRI example with NiPy realignment and no SPM (https://github.com/nipy/nipype/pull/992)
11-
* FIX: Corrected Freesurfer SegStats _list_outputs to avoid error if summary_file is
47+
* FIX: Corrected Freesurfer SegStats _list_outputs to avoid error if summary_file is
1248
undefined (issue #994)(https://https://github.com/nipy/nipype/pull/996)
49+
* FIX: OpenfMRI support and FSL 5.0.7 changes (https://github.com/nipy/nipype/pull/1006)
50+
* FIX: Output prefix in SPM Normalize with modulation (https://github.com/nipy/nipype/pull/1023)
51+
* ENH: Usability improvements in cluster environments (https://github.com/nipy/nipype/pull/1025)
52+
* ENH: ANTs JointFusion() (https://github.com/nipy/nipype/pull/1042)
53+
* ENH: Added csvReader() utility (https://github.com/nipy/nipype/pull/1044)
54+
* FIX: typo in nipype.interfaces.freesurfer.utils.py Tkregister2 (https://github.com/nipy/nipype/pull/1083)
55+
* FIX: SSHDataGrabber outputs now return full path to the grabbed/downloaded files. (https://github.com/nipy/nipype/pull/1086)
1356

1457
Release 0.10.0 (October 10, 2014)
1558
============
1659

1760
* ENH: New miscelaneous interfaces: SplitROIs (mapper), MergeROIs (reducer)
1861
to enable parallel processing of very large images.
1962
* ENH: Updated FSL interfaces: BEDPOSTX and XFibres, former interfaces are still
20-
available with the version suffix: BEDPOSTX4 and XFibres4. Added gpu
63+
available with the version suffix: BEDPOSTX4 and XFibres4. Added gpu
2164
versions of BEDPOSTX: BEDPOSTXGPU, BEDPOSTX5GPU, and BEDPOSTX4GPU
2265
* ENH: Added experimental support for MIPAV algorithms thorugh JIST plugins
2366
* ENH: New dipy interfaces: Denoise, Resample
2467
* ENH: New Freesurfer interfaces: Tkregister2 (for conversion of fsl style matrices to freesurfer format), MRIPretess
2568
* ENH: New FSL interfaces: WarpPoints, WarpPointsToStd, EpiReg, ProbTrackX2, WarpUtils, ConvertWarp
2669
* ENH: New miscelaneous interfaces: AddCSVRow, NormalizeProbabilityMapSet, AddNoise
2770
* ENH: New AFNI interfaces: Eval, Means, SVMTest, SVMTrain
28-
* ENH: FUGUE interface has been refactored to use the name_template system, 3 examples
71+
* ENH: FUGUE interface has been refactored to use the name_template system, 3 examples
2972
added to doctests, some bugs solved.
3073
* API: Interfaces to external packages are no longer available in the top-level
3174
``nipype`` namespace, and must be imported directly (e.g.
3275
``from nipype.interfaces import fsl``).
33-
* ENH: Support for elastix via a set of new interfaces: Registration, ApplyWarp,
76+
* ENH: Support for elastix via a set of new interfaces: Registration, ApplyWarp,
3477
AnalyzeWarp, PointsWarp, and EditTransform
3578
* ENH: New ANTs interface: ApplyTransformsToPoints, LaplacianThickness
3679
* ENH: New Diffusion Toolkit interface: TrackMerge
@@ -46,7 +89,7 @@ Release 0.10.0 (October 10, 2014)
4689
* ENH: New color mode for write_graph
4790
* ENH: You can now force MapNodes to be run serially
4891
* ENH: Added ANTS based openfmri workflow
49-
* ENH: MapNode now supports flattening of nested lists
92+
* ENH: MapNode now supports flattening of nested lists
5093
* ENH: Support for headless mode using Xvfb
5194
* ENH: nipype_display_crash has a debugging mode
5295
* FIX: MRTrix tracking algorithms were ignoring mask parameters.

bin/nipype_cmd

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/usr/bin/env python
2+
# emacs: -*- mode: python; py-indent-offset: 4; indent-tabs-mode: nil -*-
3+
# vi: set ft=python sts=4 ts=4 sw=4 et:
4+
import sys
5+
from nipype.utils.nipype_cmd import main
6+
7+
if __name__ == '__main__':
8+
main(sys.argv)

bin/nipype_display_crash

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ if __name__ == "__main__":
7474
default=None,
7575
help='Directory to run the node in' + defstr)
7676
args = parser.parse_args()
77-
print args.debug, args.ipydebug
7877
debug = 'ipython' if args.ipydebug else args.debug
7978
if debug == 'ipython':
8079
import sys

doc/devel/interface_specs.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,9 @@ CommandLine
358358
``name_source``
359359
Indicates the list of input fields from which the value of the current File
360360
output variable will be drawn. This input field must be the name of a File.
361+
Chaining is allowed, meaning that an input field can point to another as
362+
``name_source``, which also points as ``name_source`` to a third field.
363+
In this situation, the templates for substitutions are also accumulated.
361364

362365
``name_template``
363366
By default a ``%s_generated`` template is used to create the output

doc/devel/software_using_nipype.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ Forward
2828

2929
`Forward <http://cyclotronresearchcentre.github.io/forward/>`_ is set of tools simplifying the preparation of accurate electromagnetic head models for EEG forward modeling. It uses Nipype Workflows and Interfaces.
3030

31+
Limbo
32+
-----
33+
34+
`Limbo <https://github.com/Gilles86/in_limbo>`_ is a toolbox for finding brain regions that are neither significantly active nor inactive, but rather “in limbo”. It was build using custom Nipype Interfaces and Workflows.
35+
3136
Lyman
3237
-----
3338

@@ -38,6 +43,11 @@ Medimsight
3843

3944
`Medimsight <https://www.medimsight.com>`_ is a commercial service medical imaging cloud platform. It uses Nipype to interface with various neuroimaging software.
4045

46+
MIA
47+
---
48+
49+
`MIA <http://mia.sourceforge.net>`_ MIA is a a toolkit for gray scale medical image analysis. It provides Nipype interfaces for easy integration with other software.
50+
4151
Mindboggle
4252
----------
4353

doc/quickstart.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Downloading and installing
1616
Beginner's guide
1717
================
1818

19-
Beginner's tutorials (IPython Notebooks). `Availible here`__
19+
Beginner's tutorials (IPython Notebooks). `Available here`__
2020

2121
Michael Notter's Nipype guide. `Available here`__
2222

doc/users/config_file.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,11 @@ Execution
120120
characters will be replaced by their hash. (possible values: ``true`` and
121121
``false``; default value: ``true``)
122122

123+
*poll_sleep_duration*
124+
This controls how long the job submission loop will sleep between submitting
125+
all pending jobs and checking for job completion. To be nice to cluster
126+
schedulers the default is set to 60 seconds.
127+
123128
Example
124129
~~~~~~~
125130

doc/users/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
saving_workflows
3838
spmmcr
3939
mipav
40+
nipypecmd
4041

4142

4243

doc/users/install.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ recommendations.
107107
Must Have
108108
~~~~~~~~~
109109

110-
Python_ 2.6 - 2.7
110+
Python_ 2.7
111111

112112
Nibabel_ 1.0 - 1.4
113113
Neuroimaging file i/o library

doc/users/nipypecmd.rst

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
.. _nipypecmd:
2+
3+
============================================================
4+
Running Nipype Interfaces from the command line (nipype_cmd)
5+
============================================================
6+
7+
The primary use of Nipype_ is to build automated non-interactive pipelines.
8+
However, sometimes there is a need to run some interfaces quickly from the command line.
9+
This is especially useful when running Interfaces wrapping code that does not have
10+
command line equivalents (nipy or SPM). Being able to run Nipype interfaces opens new
11+
possibilities such as inclusion of SPM processing steps in bash scripts.
12+
13+
To run Nipype Interafces you need to use the nipype_cmd tool that should already be installed.
14+
The tool allows you to list Interfaces available in a certain package:
15+
16+
.. testcode::
17+
18+
19+
$nipype_cmd nipype.interfaces.nipy
20+
21+
Available Interfaces:
22+
SpaceTimeRealigner
23+
Similarity
24+
ComputeMask
25+
FitGLM
26+
EstimateContrast
27+
FmriRealign4d
28+
29+
After selecting a particular Interface you can learn what inputs it requires:
30+
31+
.. testcode::
32+
33+
34+
$nipype_cmd nipype.interfaces.nipy ComputeMask --help
35+
36+
usage:nipype_cmd nipype.interfaces.nipy ComputeMask [-h] [--M M] [--cc CC]
37+
[--ignore_exception IGNORE_EXCEPTION]
38+
[--m M]
39+
[--reference_volume REFERENCE_VOLUME]
40+
mean_volume
41+
42+
Run ComputeMask
43+
44+
positional arguments:
45+
mean_volume mean EPI image, used to compute the threshold for the
46+
mask
47+
48+
optional arguments:
49+
-h, --help show this help message and exit
50+
--M M upper fraction of the histogram to be discarded
51+
--cc CC Keep only the largest connected component
52+
--ignore_exception IGNORE_EXCEPTION
53+
Print an error message instead of throwing an
54+
exception in case the interface fails to run
55+
--m M lower fraction of the histogram to be discarded
56+
--reference_volume REFERENCE_VOLUME
57+
reference volume used to compute the mask. If none is
58+
give, the mean volume is used.
59+
60+
Finally you can run run the Interface:
61+
62+
.. testcode::
63+
64+
$nipype_cmd nipype.interfaces.nipy ComputeMask mean.nii.gz
65+
66+
All that from the command line without having to start python interpreter manually.
67+
68+
.. include:: ../links_names.txt

doc/users/plugins.rst

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,27 +136,54 @@ particular node might use more resources than other nodes in a workflow.
136136
this local configuration::
137137

138138
node.plugin_args = {'qsub_args': '-l nodes=1:ppn=3', 'overwrite': True}
139+
140+
SGEGraph
141+
~~~~~~~~
142+
SGEGraph_ is a exuction plugin working with Sun Grid Engine that allows for
143+
submitting entire graph of dependent jobs at once. This way Nipype does not
144+
need to run a monitoring process - SGE takes care of this.
145+
146+
.. note::
147+
148+
When rerunning unfinished workflows using SGEGraph you may decide not to
149+
submit jobs for Nodes that previously finished running. This can speed up
150+
execution, but new or modified inputs that would previously trigger a Node
151+
to rerun will be ignored. The following option turns on this functionality::
152+
153+
workflow.run(plugin='SGEGraph', plugin_args = {'dont_resubmit_completed_jobs': True})
139154

140155
LSF
141156
---
142157

143-
Submitting via LSF is almost identical to SGE above:
158+
Submitting via LSF is almost identical to SGE above above except for the optional arguments field::
144159

145-
workflow.run(plugin='LSF')
160+
workflow.run(plugin='LSF')
146161

147162
Optional arguments::
148163

149164
template: custom template file to use
150165
bsub_args: any other command line args to be passed to bsub.
151166

167+
SLURM
168+
-----
169+
170+
Submitting via SLURM is almost identical to SGE above except for the optional arguments field:
171+
172+
workflow.run(plugin='SLURM')
173+
174+
Optional arguments::
175+
176+
template: custom template file to use
177+
sbatch_args: any other command line args to be passed to bsub.
178+
152179
HTCondor
153180
--------
154181

155182
DAGMan
156183
~~~~~~
157184

158185
With its DAGMan_ component HTCondor_ (previously Condor) allows for submitting
159-
entire graphs of dependent jobs at once. With the ``CondorDAGMan`` plug-in
186+
entire graphs of dependent jobs at once (similar to SGEGraph_). With the ``CondorDAGMan`` plug-in
160187
Nipype can utilize this functionality to submit complete workflows directly and
161188
in a single step. Consequently, and in contrast to other plug-ins, workflow
162189
execution returns almost instantaneously -- Nipype is only used to generate the

0 commit comments

Comments
 (0)