@@ -308,10 +308,11 @@ class CompCorInputSpec(BaseInterfaceInputSpec):
308308 mask_files = InputMultiPath (File (exists = True ,
309309 desc = 'One or more mask files that determines ROI (3D)' ))
310310 merge_method = traits .Enum ('union' , 'intersect' , 'none' , xor = ['mask_index' ],
311+ requires = ['mask_files' ],
311312 desc = 'Merge method if multiple masks are present - `union` aggregates '
312313 'all masks, `intersect` computes the truth value of all masks, `none` '
313314 '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' ] ,
315316 desc = 'Position of mask in `mask_files` to use - first is the default' )
316317 components_file = File ('components_file.txt' , exists = False , usedefault = True ,
317318 desc = 'filename to store physiological components' )
@@ -364,6 +365,11 @@ def _run_interface(self, runtime, tCompCor_mask=False):
364365 mmap = NUMPY_MMAP ).get_data ()
365366 components = None
366367
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+
367373 if isdefined (self .inputs .mask_index ):
368374 if self .inputs .mask_index < len (self .inputs .mask_files ):
369375 self .inputs .mask_files = [
@@ -519,6 +525,9 @@ def _run_interface(self, runtime):
519525 imgseries .shape ))
520526
521527 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
522531 if isdefined (self .inputs .mask_index ):
523532 if self .inputs .mask_index < len (self .inputs .mask_files ):
524533 self .inputs .mask_files = [
0 commit comments