@@ -308,10 +308,11 @@ class CompCorInputSpec(BaseInterfaceInputSpec):
308
308
mask_files = InputMultiPath (File (exists = True ,
309
309
desc = 'One or more mask files that determines ROI (3D)' ))
310
310
merge_method = traits .Enum ('union' , 'intersect' , 'none' , xor = ['mask_index' ],
311
+ requires = ['mask_files' ],
311
312
desc = 'Merge method if multiple masks are present - `union` aggregates '
312
313
'all masks, `intersect` computes the truth value of all masks, `none` '
313
314
'performs CompCor on each mask individually' )
314
- mask_index = traits .Range (0 , value = 0 , xor = ['merge_method' ], usedefault = True ,
315
+ mask_index = traits .Range (0 , xor = ['merge_method' ], requires = [ 'mask_files' ] ,
315
316
desc = 'Position of mask in `mask_files` to use - first is the default' )
316
317
components_file = File ('components_file.txt' , exists = False , usedefault = True ,
317
318
desc = 'filename to store physiological components' )
@@ -364,6 +365,11 @@ def _run_interface(self, runtime, tCompCor_mask=False):
364
365
mmap = NUMPY_MMAP ).get_data ()
365
366
components = None
366
367
368
+ if isdefined (self .inputs .mask_files ) or isdefined (self .inputs .mask_file ):
369
+ if (not isdefined (self .inputs .mask_index ) and
370
+ not isdefined (self .inputs .merge_method )):
371
+ self .inputs .mask_index = 0
372
+
367
373
if isdefined (self .inputs .mask_index ):
368
374
if self .inputs .mask_index < len (self .inputs .mask_files ):
369
375
self .inputs .mask_files = [
@@ -519,6 +525,9 @@ def _run_interface(self, runtime):
519
525
imgseries .shape ))
520
526
521
527
if isdefined (self .inputs .mask_files ):
528
+ if (not isdefined (self .inputs .mask_index ) and
529
+ not isdefined (self .inputs .merge_method )):
530
+ self .inputs .mask_index = 0
522
531
if isdefined (self .inputs .mask_index ):
523
532
if self .inputs .mask_index < len (self .inputs .mask_files ):
524
533
self .inputs .mask_files = [
0 commit comments