@@ -113,6 +113,10 @@ def create_parallelfeat_preproc(name='featpreproc', highpass=True):
113
113
>>> preproc.base_dir = '/tmp'
114
114
>>> preproc.run() # doctest: +SKIP
115
115
"""
116
+ version = 0
117
+ if fsl .Info .version () and \
118
+ LooseVersion (fsl .Info .version ()) > LooseVersion ('5.0.6' ):
119
+ version = 507
116
120
117
121
featpreproc = pe .Workflow (name = name )
118
122
@@ -358,7 +362,26 @@ def create_parallelfeat_preproc(name='featpreproc', highpass=True):
358
362
name = 'highpass' )
359
363
featpreproc .connect (inputnode , ('highpass' , highpass_operand ), highpass , 'op_string' )
360
364
featpreproc .connect (meanscale , 'out_file' , highpass , 'in_file' )
361
- featpreproc .connect (highpass , 'out_file' , outputnode , 'highpassed_files' )
365
+
366
+ if version < 507 :
367
+ featpreproc .connect (highpass , 'out_file' , outputnode , 'highpassed_files' )
368
+ else :
369
+ """
370
+ Add back the mean removed by the highpass filter operation as of FSL 5.0.7
371
+ """
372
+ meanfunc4 = pe .MapNode (interface = fsl .ImageMaths (op_string = '-Tmean' ,
373
+ suffix = '_mean' ),
374
+ iterfield = ['in_file' ],
375
+ name = 'meanfunc4' )
376
+
377
+ featpreproc .connect (meanscale , 'out_file' , meanfunc4 , 'in_file' )
378
+ addmean = pe .MapNode (interface = fsl .BinaryMaths (operation = 'add' ),
379
+ iterfield = ['in_file' , 'operand_file' ],
380
+ name = 'addmean' )
381
+ featpreproc .connect (highpass , 'out_file' , addmean , 'in_file' )
382
+ featpreproc .connect (meanfunc4 , 'out_file' , addmean , 'operand_file' )
383
+ featpreproc .connect (addmean , 'out_file' , outputnode , 'highpassed_files' )
384
+
362
385
363
386
"""
364
387
Generate a mean functional image from the first run
@@ -368,11 +391,8 @@ def create_parallelfeat_preproc(name='featpreproc', highpass=True):
368
391
suffix = '_mean' ),
369
392
iterfield = ['in_file' ],
370
393
name = 'meanfunc3' )
371
- if highpass :
372
- featpreproc .connect (highpass , 'out_file' , meanfunc3 , 'in_file' )
373
- else :
374
- featpreproc .connect (meanscale , 'out_file' , meanfunc3 , 'in_file' )
375
394
395
+ featpreproc .connect (meanscale , 'out_file' , meanfunc3 , 'in_file' )
376
396
featpreproc .connect (meanfunc3 , 'out_file' , outputnode , 'mean' )
377
397
378
398
return featpreproc
0 commit comments