Skip to content

Commit c765493

Browse files
committed
Merge branch 'master' into fix/spm
Conflicts: nipype/interfaces/spm/preprocess.py
2 parents 30a20a7 + e00c482 commit c765493

File tree

5 files changed

+50
-32
lines changed

5 files changed

+50
-32
lines changed

nipype/interfaces/fsl/epi.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -654,26 +654,28 @@ def _list_outputs(self):
654654
outputs = self.output_spec().get()
655655
outputs['out_file'] = os.path.join(os.getcwd(),
656656
self.inputs.out_base + '.nii.gz')
657-
outputs['out_1vol'] = os.path.join(os.getcwd(),
657+
if not (isdefined(self.inputs.no_fmapreg) and self.inputs.no_fmapreg) and isdefined(self.inputs.fmap):
658+
outputs['out_1vol'] = os.path.join(os.getcwd(),
658659
self.inputs.out_base + '_1vol.nii.gz')
659-
outputs['fmap2str_mat'] = os.path.join(os.getcwd(),
660-
self.inputs.out_base + '_fieldmap2str.mat')
661-
outputs['fmap2epi_mat'] = os.path.join(os.getcwd(),
662-
self.inputs.out_base + '_fieldmaprads2epi.mat')
663-
outputs['fmap_epi'] = os.path.join(os.getcwd(),
664-
self.inputs.out_base + '_fieldmaprads2epi.nii.gz')
665-
outputs['fmap_str'] = os.path.join(os.getcwd(),
666-
self.inputs.out_base + '_fieldmaprads2str.nii.gz')
667-
outputs['fmapmag_str'] = os.path.join(os.getcwd(),
668-
self.inputs.out_base + '_fieldmap2str.nii.gz')
669-
outputs['epi2str_inv'] = os.path.join(os.getcwd(),
660+
outputs['fmap2str_mat'] = os.path.join(os.getcwd(),
661+
self.inputs.out_base + '_fieldmap2str.mat')
662+
outputs['fmap2epi_mat'] = os.path.join(os.getcwd(),
663+
self.inputs.out_base + '_fieldmaprads2epi.mat')
664+
outputs['fmap_epi'] = os.path.join(os.getcwd(),
665+
self.inputs.out_base + '_fieldmaprads2epi.nii.gz')
666+
outputs['fmap_str'] = os.path.join(os.getcwd(),
667+
self.inputs.out_base + '_fieldmaprads2str.ni `i.gz')
668+
outputs['fmapmag_str'] = os.path.join(os.getcwd(),
669+
self.inputs.out_base + '_fieldmap2str.nii.gz')
670+
outputs['shiftmap'] = os.path.join(os.getcwd(),
671+
self.inputs.out_base + '_fieldmaprads2epi_shift.nii.gz')
672+
outputs['fullwarp'] = os.path.join(os.getcwd(),
673+
self.inputs.out_base + '_warp.nii.gz')
674+
outputs['epi2str_inv'] = os.path.join(os.getcwd(),
670675
self.inputs.out_base + '_inv.mat')
676+
671677
outputs['epi2str_mat'] = os.path.join(os.getcwd(),
672678
self.inputs.out_base + '.mat')
673-
outputs['shiftmap'] = os.path.join(os.getcwd(),
674-
self.inputs.out_base + '_fieldmaprads2epi_shift.nii.gz')
675-
outputs['fullwarp'] = os.path.join(os.getcwd(),
676-
self.inputs.out_base + '_warp.nii.gz')
677679
outputs['wmedge'] = os.path.join(os.getcwd(),
678680
self.inputs.out_base + '_fast_wmedge.nii.gz')
679681
outputs['wmseg'] = os.path.join(os.getcwd(),

nipype/interfaces/spm/preprocess.py

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -765,19 +765,18 @@ class Segment(SPMCommand):
765765
>>> seg.run() # doctest: +SKIP
766766
767767
"""
768-
769768

770769
input_spec = SegmentInputSpec
771770
output_spec = SegmentOutputSpec
772771

773772
def __init__(self, **inputs):
774-
version = Info.version()
775-
if version and version['name'] == "SPM12":
776-
self._jobtype = 'tools'
777-
self._jobname = 'oldseg'
773+
_local_version = SPMCommand().version
774+
if _local_version and '12.' in _local_version:
775+
_jobtype = 'tools'
776+
_jobname = 'oldseg'
778777
else:
779-
self._jobtype = 'spatial'
780-
self._jobname = 'preproc'
778+
_jobtype = 'spatial'
779+
_jobname = 'preproc'
781780

782781
SPMCommand.__init__(self, **inputs)
783782

@@ -900,13 +899,13 @@ class NewSegment(SPMCommand):
900899
output_spec = NewSegmentOutputSpec
901900

902901
def __init__(self, **inputs):
903-
version = Info.version()
904-
if version and version['name'] == "SPM12":
905-
self._jobtype = 'spatial'
906-
self._jobname = 'preproc'
902+
_local_version = SPMCommand().version
903+
if _local_version and '12.' in _local_version:
904+
_jobtype = 'spatial'
905+
_jobname = 'preproc'
907906
else:
908-
self._jobtype = 'tools'
909-
self._jobname = 'preproc8'
907+
_jobtype = 'tools'
908+
_jobname = 'preproc8'
910909

911910
SPMCommand.__init__(self, **inputs)
912911

nipype/interfaces/spm/utils.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,5 +450,14 @@ def _list_outputs(self):
450450
from glob import glob
451451
outputs = self._outputs().get()
452452
od = os.path.abspath(self.inputs.output_dir)
453-
outputs['out_files'] = glob(os.path.join(od, '*'))
453+
454+
ext = self.inputs.format
455+
if self.inputs.output_dir_struct == "flat":
456+
outputs['out_files'] = glob(os.path.join(od, '*.%s'%ext))
457+
elif self.inputs.output_dir_struct == 'series':
458+
outputs['out_files'] = glob(os.path.join(od, os.path.join('*','*.%s'%ext)))
459+
elif self.inputs.output_dir_struct in ['patid', 'date_time', 'patname']:
460+
outputs['out_files'] = glob(os.path.join(od, os.path.join('*','*','*.%s'%ext)))
461+
elif self.inputs.output_dir_struct == 'patid_date':
462+
outputs['out_files'] = glob(os.path.join(od, os.path.join('*','*','*','*.%s'%ext)))
454463
return outputs

nipype/pipeline/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -993,7 +993,7 @@ def clean_working_directory(outputs, cwd, inputs, needed_outputs, config,
993993
inputdict = inputs.get()
994994
input_files.extend(walk_outputs(inputdict))
995995
needed_files += [path for path, type in input_files if type == 'f']
996-
for extra in ['_0x*.json', 'provenance.*', 'pyscript*.m',
996+
for extra in ['_0x*.json', 'provenance.*', 'pyscript*.m', 'pyjobs*.mat',
997997
'command.txt', 'result*.pklz', '_inputs.pklz', '_node.pklz']:
998998
needed_files.extend(glob(os.path.join(cwd, extra)))
999999
if files2keep:

nipype/testing/data/pyscript.m

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
fprintf(1,'Executing %s at %s:\n',mfilename,datestr(now));
22
ver,
3-
try,a=1;
3+
try,
4+
if isempty(which('spm')),
5+
throw(MException('SPMCheck:NotFound','SPM not in matlab path'));
6+
end;
7+
spm_path = spm('dir');
8+
[name, version] = spm('ver');
9+
fprintf(1, 'NIPYPE path:%s|name:%s|release:%s', spm_path, name, version);
10+
exit;
11+
412
,catch ME,
513
fprintf(2,'MATLAB code threw an exception:\n');
614
fprintf(2,'%s\n',ME.message);

0 commit comments

Comments
 (0)