Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Upcoming Release
0.13.0 (May 11, 2017)
=====================

* ENH: Multi-stage recon-all directives (https://github.com/nipy/nipype/pull/1991)
Expand Down Expand Up @@ -63,7 +63,7 @@ Upcoming Release


0.13.0-rc1 (January 4, 2017)
===============================
============================

* FIX: Compatibility with traits 4.6 (https://github.com/nipy/nipype/pull/1770)
* FIX: Multiproc deadlock (https://github.com/nipy/nipype/pull/1756)
Expand Down
4 changes: 2 additions & 2 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@

# General information about the project.
project = u'nipype'
copyright = u'2009-16, Neuroimaging in Python team'
copyright = u'2009-17, Neuroimaging in Python team'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
Expand All @@ -82,7 +82,7 @@
# The short X.Y version.
version = nipype.__version__
# The full version, including alpha/beta/rc tags.
release = "0.12.0"
release = "0.13.0"

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 1 addition & 1 deletion doc/documentation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Documentation
:Release: |version|
:Date: |today|

Previous versions: `0.12.0 <http://nipype.readthedocs.io/en/0.12.0/>`_ `0.11.0 <http://nipy.org/nipype/0.11.0>`_
Previous versions: `0.12.1 <http://nipype.readthedocs.io/en/0.12.1/>`_ `0.11.0 <http://nipy.org/nipype/0.11.0>`_
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is intentionally dropping 0.12.0 from the list (rather than prepending 0.12.1)?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes - this should have been done after the 0.12.1 release but we missed it. and we use version in terms of minor element (11, 12, 13, etc.,.)

right after this release, when we switch back to the dev version this will become 0.13.0



.. container:: doc2
Expand Down
10 changes: 10 additions & 0 deletions doc/quickstart.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,16 @@ Michael Notter's Nipype tutorial. `Available here`__

__ https://miykael.github.io/nipype_tutorial/

How should I ask questions or report bugs?
==========================================

* If you find a bug or a suggestion for improvement report it here: `GitHub Issues <https://github.com/nipy/nipype/issues>`_
* If you have a conceptual or clarification question ask it here: `Neurostars <https://neurostars.org/>`_
* If you want to hangout with developers, you can use either::

`Gitter <https://gitter.im/nipy/nipype>`_
`Slack <https://brainhack.slack.com/messages/C1FR76RAL>`_

Nipype workshop materials
=========================

Expand Down
79 changes: 14 additions & 65 deletions doc/users/install.rst
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
.. _install:

======================
Download and install
======================
====================
Download and install
====================

This page covers the necessary steps to install Nipype.

Nipype for users
----------------

Using docker
~~~~~~~~~~~~

You can follow the `Nipype tutorial <https://miykael.github.io/nipype_tutorial/>`_

or use this docker container: `docker pull nipype/nipype`
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we add a tag to the container?


Using conda
~~~~~~~~~~~

Expand Down Expand Up @@ -75,7 +74,7 @@ path to compile the traits package.
From source
~~~~~~~~~~~

The current release is found here: `<https://github.com/nipy/nipype/releases/latest>`_.
The most recent release is found here: `<https://github.com/nipy/nipype/releases/latest>`_.

The development version: [`zip <http://github.com/nipy/nipype/zipball/master>`__ `tar.gz
<http://github.com/nipy/nipype/tarball/master>`__]
Expand All @@ -100,69 +99,19 @@ the tests::
python -c "import nipype; print(nipype.__version__)"
python -c "import nipype; nipype.test()"

Installation for developers
---------------------------

Developers should start `here <../devel/testing_nipype.html>`_.

Recommended Software
--------------------

Strong Recommendations
~~~~~~~~~~~~~~~~~~~~~~

IPython_
Interactive python environment.

Matplotlib_
Plotting library

Sphinx_ 1.1
Required for building the documentation

`Graphviz <http://www.graphviz.org/>`_
Required for building the documentation.

Interface Dependencies
~~~~~~~~~~~~~~~~~~~~~~

You might not need some of the following packages, depending on what exactly you
want to use nipype for. If you do need any of them, install nipype's wrapper package
(``nipype.interfaces``), then install the programs separately onto your computer, just
like you would install any other app.
Nipype provides wrappers around many neuroimaging tools and contains some
algorithms. These tools will need to be installed for Nipype to run. You can
create containers with different versions of these tools installed using
`Neurodocker <https://github.com/kaczmarj/neurodocker>`_

FSL_
4.1.0 or later

matlab_
2008a or later

SPM_
SPM5 or later

FreeSurfer_
FreeSurfer v4.0.0 or later

AFNI_
2009_12_31_1431 or later

Slicer_
3.6 or later

Nipy_
0.4 or later

Nitime_
(optional)

ANTS_

MRtrix_ and MRtrix3_

Camino_
Installation for developers
---------------------------

Camino2Trackvis_
Developers should start `here <../devel/testing_nipype.html>`_.

ConnectomeViewer_
Developers can also use this docker container: `docker pull nipype/nipype:master`

.. include:: ../links_names.txt
14 changes: 7 additions & 7 deletions nipype/algorithms/confounds.py
Original file line number Diff line number Diff line change
Expand Up @@ -308,14 +308,14 @@ class CompCorInputSpec(BaseInterfaceInputSpec):
mask_files = InputMultiPath(File(exists=True),
desc=('One or more mask files that determines '
'ROI (3D). When more that one file is '
'provided `merge_method` or '
'provided `merge_method` or '
'`merge_index` must be provided'))
merge_method = traits.Enum('union', 'intersect', 'none', xor=['mask_index'],
requires=['mask_files'],
desc=('Merge method if multiple masks are '
'present - `union` uses voxels included in'
'present - `union` uses voxels included in'
' at least one input mask, `intersect` '
'uses only voxels present in all input '
'uses only voxels present in all input '
'masks, `none` performs CompCor on '
'each mask individually'))
mask_index = traits.Range(low=0, xor=['merge_method'],
Expand All @@ -330,8 +330,8 @@ class CompCorInputSpec(BaseInterfaceInputSpec):
'pre-component extraction'))
regress_poly_degree = traits.Range(low=1, default=1, usedefault=True,
desc='the degree polynomial to use')
header_prefix = traits.Str(desc=('the desired header for the output tsv '
'file (one column). If undefined, will '
header_prefix = traits.Str(desc=('the desired header for the output tsv '
'file (one column). If undefined, will '
'default to "CompCor"'))


Expand Down Expand Up @@ -851,8 +851,8 @@ def combine_mask_files(mask_files, mask_method=None, mask_index=None):
if len(mask_files) == 1:
mask_index = 0
else:
raise ValueError(('When more than one mask file is provided, '
'one of merge_method or mask_index must be '
raise ValueError(('When more than one mask file is provided, '
'one of merge_method or mask_index must be '
'set'))
if mask_index < len(mask_files):
mask = nb.load(mask_files[mask_index], mmap=NUMPY_MMAP)
Expand Down
2 changes: 1 addition & 1 deletion nipype/info.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
# full release. '.dev' as a version_extra string means this is a development
# version
# Remove -dev for release
__version__ = '0.13.0-dev'
__version__ = '0.13.0'


def get_nipype_gitversion():
Expand Down
30 changes: 15 additions & 15 deletions nipype/interfaces/fsl/ICA_AROMA.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# emacs: -*- mode: python; py-indent-offset: 4; indent-tabs-mode: nil -*-
# vi: set ft=python sts=4 ts=4 sw=4 et:
"""This commandline module provides classes for interfacing with the
`ICA-AROMA.py<https://github.com/rhr-pruim/ICA-AROMA>`_ command line tool.
"""This commandline module provides classes for interfacing with the
`ICA-AROMA.py<https://github.com/rhr-pruim/ICA-AROMA>`_ command line tool.
Change directory to provide relative paths for doctests
>>> import os
>>> filepath = os.path.dirname(os.path.realpath(__file__))
Expand All @@ -23,18 +23,18 @@

class ICA_AROMAInputSpec(CommandLineInputSpec):
feat_dir = Directory(exists=True, mandatory=True,
argstr='-feat %s',
argstr='-feat %s',
xor=['in_file', 'mat_file', 'fnirt_warp_file', 'motion_parameters'],
desc='If a feat directory exists and temporal filtering '
'has not been run yet, ICA_AROMA can use the files in '
'this directory.')
in_file = File(exists=True, mandatory=True,
argstr='-i %s', xor=['feat_dir'],
in_file = File(exists=True, mandatory=True,
argstr='-i %s', xor=['feat_dir'],
desc='volume to be denoised')
out_dir = Directory('out', mandatory=True,
argstr='-o %s',
argstr='-o %s',
desc='output directory')
mask = File(exists=True, argstr='-m %s', xor=['feat_dir'],
mask = File(exists=True, argstr='-m %s', xor=['feat_dir'],
desc='path/name volume mask')
dim = traits.Int(argstr='-dim %d',
desc='Dimensionality reduction when running '
Expand Down Expand Up @@ -65,31 +65,31 @@ class ICA_AROMAInputSpec(CommandLineInputSpec):
'-both: both aggressive and non-aggressive denoising (two outputs)')

class ICA_AROMAOutputSpec(TraitedSpec):
aggr_denoised_file = File(exists=True,
aggr_denoised_file = File(exists=True,
desc='if generated: aggressively denoised volume')
nonaggr_denoised_file = File(exists=True,
desc='if generated: non aggressively denoised volume' )
out_dir = Directory(exists=True,
out_dir = Directory(exists=True,
desc='directory contains (in addition to the denoised files): '
'melodic.ica + classified_motion_components + '
'classification_overview + feature_scores + melodic_ic_mni)')

class ICA_AROMA(CommandLine):
"""
Interface for the ICA_AROMA.py script.
ICA-AROMA (i.e. 'ICA-based Automatic Removal Of Motion Artifacts') concerns

ICA-AROMA (i.e. 'ICA-based Automatic Removal Of Motion Artifacts') concerns
a data-driven method to identify and remove motion-related independent
components from fMRI data. To that end it exploits a small, but robust
set of theoretically motivated features, preventing the need for classifier
re-training and therefore providing direct and easy applicability.
re-training and therefore providing direct and easy applicability.

See link for further documentation: https://github.com/rhr-pruim/ICA-AROMA

Example
-------

>>> from nipype.interfaces.fsl import ICA_AROMA
>>> from nipype.interfaces.fsl import ICA_AROMA
>>> from nipype.testing import example_data
>>> AROMA_obj = ICA_AROMA.ICA_AROMA()
>>> AROMA_obj.inputs.in_file = 'functional.nii'
Expand All @@ -114,5 +114,5 @@ def _list_outputs(self):
outputs['aggr_denoised_file'] = os.path.join(out_dir, 'denoised_func_data_aggr.nii.gz')
if self.inputs.denoise_type in ('nonaggr', 'both'):
outputs['nonaggr_denoised_file'] = os.path.join(out_dir, 'denoised_func_data_nonaggr.nii.gz')

return outputs
8 changes: 8 additions & 0 deletions nipype/interfaces/fsl/tests/test_auto_MELODIC.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,14 @@ def test_MELODIC_inputs():
),
maxit=dict(argstr='--maxit=%d',
),
migp=dict(argstr='--migp',
),
migpN=dict(argstr='--migpN %d',
),
migp_factor=dict(argstr='--migp_factor %d',
),
migp_shuffle=dict(argstr='--migp_shuffle',
),
mix=dict(argstr='--mix=%s',
),
mm_thresh=dict(argstr='--mmthresh=%f',
Expand Down
2 changes: 1 addition & 1 deletion nipype/interfaces/niftyreg/tests/test_regutils.py
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ def test_reg_average():
os.path.join(os.getcwd(), 'avg_out.nii.gz'),
ref_file, trans1_file, one_file, trans2_file, two_file,
trans3_file, three_file))

assert argv.decode('utf-8') == expected_argv

# Test Reg Average: demean3
Expand Down
2 changes: 1 addition & 1 deletion nipype/pipeline/engine/tests/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ def dummy_func(value):
return value + 1


@pytest.mark.skipif(sys.version_info < (3,0),
@pytest.mark.skipif(sys.version_info < (3,0),
reason="the famous segfault #1788")
def test_mapnode_crash(tmpdir):
"""Test mapnode crash when stop_on_first_crash is True"""
Expand Down