Skip to content

Commit 4a2f655

Browse files
committed
Merge tag '1.1.2' into debian
Nipype 1.1.2 * tag '1.1.2': (40 commits) REL: 1.1.2 CI: Only run PyPI pre-checks on rel/* and tags DOC: Update changelog FIX: Pybids grabbids API is going away importing InputMultiObject CI: Check installation for futures, update deploy CI: Install latest setuptools CI: Store dist/ as artifacts CI: Always run PyPI precheck Revert "CI: Build and store wheels as artifacts" CI: Bump... CI: Build and store wheels as artifacts changed example filename from functional1.nii to functional2.nii added vdm file, changed File to ImageFileSPM and updated InputMuliFile to InputMultiObject fix: remove redundant input fix: doctest RF: updated autotests MAINT: remove redudant code REF: AnalyzeWarp REF: QwapPlusMinus ...
2 parents e917d30 + 8690d55 commit 4a2f655

File tree

22 files changed

+796
-147
lines changed

22 files changed

+796
-147
lines changed

.circleci/config.yml

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -339,9 +339,25 @@ jobs:
339339
- run:
340340
name: Check pypi preconditions
341341
command: |
342-
pip install twine future wheel readme_renderer
342+
pip install --upgrade twine future wheel readme_renderer setuptools
343343
python setup.py check -r -s
344344
python setup.py sdist bdist_wheel
345+
- run:
346+
name: Validate Python 2 installation
347+
command: |
348+
pyenv local 2.7.12
349+
pip install dist/nipype-*-py2.py3-none-any.whl
350+
# Futures should install in Python 2
351+
pip show futures 2>/dev/null | grep "Name: futures"
352+
- run:
353+
name: Validate Python 3 installation
354+
command: |
355+
pyenv local 3.5.2
356+
pip install dist/nipype-*-py2.py3-none-any.whl
357+
# Futures should not install in Python 3
358+
test $(pip show futures 2>/dev/null | wc -l) = "0"
359+
- store_artifacts:
360+
path: /home/circleci/nipype/dist
345361

346362
deploy_pypi:
347363
machine: *machine_kwds
@@ -352,7 +368,7 @@ jobs:
352368
- run:
353369
name: Deploy to PyPI
354370
command: |
355-
pip install twine future wheel readme_renderer
371+
pip install --upgrade twine future wheel readme_renderer setuptools
356372
python setup.py check -r -s
357373
python setup.py sdist bdist_wheel
358374
twine upload dist/*
@@ -393,6 +409,12 @@ workflows:
393409
version: 2
394410
build_test_deploy:
395411
jobs:
412+
- pypi_precheck:
413+
filters:
414+
branches:
415+
only: /rel\/.*/
416+
tags:
417+
only: /.*/
396418
- compare_base_dockerfiles:
397419
filters:
398420
tags:
@@ -428,6 +450,7 @@ workflows:
428450
tags:
429451
only: /.*/
430452
requires:
453+
- pypi_precheck
431454
- test_pytest
432455
- update_feedstock:
433456
context: nipybot
@@ -436,7 +459,3 @@ workflows:
436459
only: /rel\/.*/
437460
tags:
438461
only: /.*/
439-
- pypi_precheck:
440-
filters:
441-
branches:
442-
only: /rel\/.*/

.github/ISSUE_TEMPLATE.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@ Please put URL to code or code here (if not too long).
1212

1313
### Platform details:
1414

15-
Please paste the output of: `python -c "import nipype; print(nipype.get_info()); print(nipype.__version__)"`
15+
<!-- Please run the following code from your shell and place the output between the triple ticks, below.
16+
python -c "import nipype; from pprint import pprint; pprint(nipype.get_info())"
17+
-->
18+
19+
```
20+
21+
```
1622

1723
### Execution environment
1824

.travis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ before_install:
5353
export FSLOUTPUTTYPE=NIFTI_GZ;
5454
fi;
5555

56-
- travis_retry pip install --upgrade pytest>=3.4 # Work around pip failure
5756
- travis_retry pip install -r requirements.txt
5857
- travis_retry pip install grabbit==0.1.2
5958
- travis_retry git clone https://github.com/INCF/pybids.git ${HOME}/pybids &&

.zenodo.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -574,6 +574,10 @@
574574
{
575575
"name": "McDermottroe, Conor"
576576
},
577+
{
578+
"affiliation": "Institute of Imaging & Computer Vision, RWTH Aachen University, Germany",
579+
"name": "Weninger, Leon"
580+
},
577581
{
578582
"affiliation": "MIT, HMS",
579583
"name": "Ghosh, Satrajit",
@@ -587,4 +591,4 @@
587591
],
588592
"license": "Apache-2.0",
589593
"upload_type": "software"
590-
}
594+
}

doc/changelog/1.X.X-changelog

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
1.1.2 (August 11, 2018)
2+
=======================
3+
4+
Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
5+
6+
##### [Full changelog](https://github.com/nipy/nipype/milestone/23?closed=1)
7+
8+
* FIX: Read BIDS config.json under grabbids or layout (https://github.com/nipy/nipype/pull/2679)
9+
* FIX: Node __repr__ and detailed graph expansion (https://github.com/nipy/nipype/pull/2669)
10+
* FIX: Prevent double-collapsing of nested lists by OutputMultiObject (https://github.com/nipy/nipype/pull/2673)
11+
* ENH: Add interface to SPM realign_unwarp (https://github.com/nipy/nipype/pull/2635)
12+
* MAINT: Fix wheel build to ensure futures is only required in Python 2 (https://github.com/nipy/nipype/pull/2678)
13+
* MAINT: ensure interface _cmd only includes executable (https://github.com/nipy/nipype/pull/2674)
14+
* MAINT: Issue template: Pretty print platform details (https://github.com/nipy/nipype/pull/2671)
15+
* CI: removing travis_retry for pip install pytest xdist 1.22.5 (https://github.com/nipy/nipype/pull/2664)
16+
17+
118
1.1.1 (July 30, 2018)
219
=====================
320

nipype/info.py

Lines changed: 1 addition & 1 deletion
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.1'
14+
__version__ = '1.1.2'
1515

1616

1717
def get_nipype_gitversion():

nipype/interfaces/afni/preprocess.py

Lines changed: 51 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -2953,107 +2953,6 @@ def _list_outputs(self):
29532953
return outputs
29542954

29552955

2956-
class QwarpPlusMinusInputSpec(CommandLineInputSpec):
2957-
source_file = File(
2958-
desc=
2959-
'Source image (opposite phase encoding direction than base image).',
2960-
argstr='-source %s',
2961-
mandatory=True,
2962-
exists=True,
2963-
copyfile=False)
2964-
base_file = File(
2965-
desc=
2966-
'Base image (opposite phase encoding direction than source image).',
2967-
argstr='-base %s',
2968-
mandatory=True,
2969-
exists=True,
2970-
copyfile=False)
2971-
pblur = traits.List(
2972-
traits.Float(),
2973-
desc='The fraction of the patch size that'
2974-
'is used for the progressive blur by providing a '
2975-
'value between 0 and 0.25. If you provide TWO '
2976-
'values, the first fraction is used for '
2977-
'progressively blurring the base image and the '
2978-
'second for the source image.',
2979-
argstr='-pblur %s',
2980-
minlen=1,
2981-
maxlen=2)
2982-
blur = traits.List(
2983-
traits.Float(),
2984-
desc="Gaussian blur the input images by (FWHM) voxels "
2985-
"before doing the alignment (the output dataset "
2986-
"will not be blurred). The default is 2.345 (for "
2987-
"no good reason). Optionally, you can provide 2 "
2988-
"values, and then the first one is applied to the "
2989-
"base volume, the second to the source volume. A "
2990-
"negative blur radius means to use 3D median "
2991-
"filtering, rather than Gaussian blurring. This "
2992-
"type of filtering will better preserve edges, "
2993-
"which can be important in alignment.",
2994-
argstr='-blur %s',
2995-
minlen=1,
2996-
maxlen=2)
2997-
noweight = traits.Bool(
2998-
desc='If you want a binary weight (the old default), use this option.'
2999-
'That is, each voxel in the base volume automask will be'
3000-
'weighted the same in the computation of the cost functional.',
3001-
argstr='-noweight')
3002-
minpatch = traits.Int(
3003-
desc="Set the minimum patch size for warp searching to 'mm' voxels.",
3004-
argstr='-minpatch %d')
3005-
nopadWARP = traits.Bool(
3006-
desc='If for some reason you require the warp volume to'
3007-
'match the base volume, then use this option to have the output'
3008-
'WARP dataset(s) truncated.',
3009-
argstr='-nopadWARP')
3010-
3011-
3012-
class QwarpPlusMinusOutputSpec(TraitedSpec):
3013-
warped_source = File(desc='Undistorted source file.', exists=True)
3014-
warped_base = File(desc='Undistorted base file.', exists=True)
3015-
source_warp = File(
3016-
desc="Field suceptibility correction warp (in 'mm') for source image.",
3017-
exists=True)
3018-
base_warp = File(
3019-
desc="Field suceptibility correction warp (in 'mm') for base image.",
3020-
exists=True)
3021-
3022-
3023-
class QwarpPlusMinus(CommandLine):
3024-
"""A version of 3dQwarp for performing field susceptibility correction
3025-
using two images with opposing phase encoding directions.
3026-
3027-
For complete details, see the `3dQwarp Documentation.
3028-
<https://afni.nimh.nih.gov/pub/dist/doc/program_help/3dQwarp.html>`_
3029-
3030-
Examples
3031-
========
3032-
3033-
>>> from nipype.interfaces import afni
3034-
>>> qwarp = afni.QwarpPlusMinus()
3035-
>>> qwarp.inputs.source_file = 'sub-01_dir-LR_epi.nii.gz'
3036-
>>> qwarp.inputs.nopadWARP = True
3037-
>>> qwarp.inputs.base_file = 'sub-01_dir-RL_epi.nii.gz'
3038-
>>> qwarp.cmdline
3039-
'3dQwarp -prefix Qwarp.nii.gz -plusminus -base sub-01_dir-RL_epi.nii.gz -nopadWARP -source sub-01_dir-LR_epi.nii.gz'
3040-
>>> res = warp.run() # doctest: +SKIP
3041-
3042-
"""
3043-
_cmd = '3dQwarp -prefix Qwarp.nii.gz -plusminus'
3044-
input_spec = QwarpPlusMinusInputSpec
3045-
output_spec = QwarpPlusMinusOutputSpec
3046-
3047-
def _list_outputs(self):
3048-
outputs = self.output_spec().get()
3049-
outputs['warped_source'] = os.path.abspath("Qwarp_PLUS.nii.gz")
3050-
outputs['warped_base'] = os.path.abspath("Qwarp_MINUS.nii.gz")
3051-
outputs['source_warp'] = os.path.abspath("Qwarp_PLUS_WARP.nii.gz")
3052-
outputs['base_warp'] = os.path.abspath("Qwarp_MINUS_WARP.nii.gz")
3053-
3054-
return outputs
3055-
3056-
30572956
class QwarpInputSpec(AFNICommandInputSpec):
30582957
in_file = File(
30592958
desc=
@@ -3722,3 +3621,54 @@ def _list_outputs(self):
37223621
def _gen_filename(self, name):
37233622
if name == 'out_file':
37243623
return self._gen_fname(self.inputs.source_file, suffix='_QW')
3624+
3625+
3626+
class QwarpPlusMinusInputSpec(QwarpInputSpec):
3627+
source_file = File(
3628+
desc='Source image (opposite phase encoding direction than base image)',
3629+
argstr='-source %s',
3630+
exists=True,
3631+
deprecated='1.1.2',
3632+
new_name='in_file',
3633+
copyfile=False)
3634+
out_file = File(
3635+
argstr='-prefix %s',
3636+
value='Qwarp.nii.gz',
3637+
position=0,
3638+
usedefault=True,
3639+
desc="Output file")
3640+
plusminus = traits.Bool(
3641+
True,
3642+
usedefault=True,
3643+
position=1,
3644+
desc='Normally, the warp displacements dis(x) are defined to match'
3645+
'base(x) to source(x+dis(x)). With this option, the match'
3646+
'is between base(x-dis(x)) and source(x+dis(x)) -- the two'
3647+
'images \'meet in the middle\'. For more info, view Qwarp` interface',
3648+
argstr='-plusminus',
3649+
xor=['duplo', 'allsave', 'iwarp'])
3650+
3651+
3652+
class QwarpPlusMinus(Qwarp):
3653+
"""A version of 3dQwarp for performing field susceptibility correction
3654+
using two images with opposing phase encoding directions.
3655+
3656+
For complete details, see the `3dQwarp Documentation.
3657+
<https://afni.nimh.nih.gov/pub/dist/doc/program_help/3dQwarp.html>`_
3658+
3659+
Examples
3660+
========
3661+
3662+
>>> from nipype.interfaces import afni
3663+
>>> qwarp = afni.QwarpPlusMinus()
3664+
>>> qwarp.inputs.in_file = 'sub-01_dir-LR_epi.nii.gz'
3665+
>>> qwarp.inputs.nopadWARP = True
3666+
>>> qwarp.inputs.base_file = 'sub-01_dir-RL_epi.nii.gz'
3667+
>>> qwarp.cmdline
3668+
'3dQwarp -prefix Qwarp.nii.gz -plusminus -base sub-01_dir-RL_epi.nii.gz \
3669+
-source sub-01_dir-LR_epi.nii.gz -nopadWARP'
3670+
>>> res = warp.run() # doctest: +SKIP
3671+
3672+
"""
3673+
3674+
input_spec = QwarpPlusMinusInputSpec

0 commit comments

Comments
 (0)