1717 File ,
1818 Directory ,
1919 traits ,
20- OutputMultiPath
20+ OutputMultiPath ,
21+ isdefined
2122)
2223import os
2324
@@ -31,7 +32,7 @@ class ICA_AROMAInputSpec(CommandLineInputSpec):
3132 in_file = File (exists = True , mandatory = True ,
3233 argstr = '-i %s' , xor = ['feat_dir' ],
3334 desc = 'volume to be denoised' )
34- out_dir = Directory ('out' , mandatory = True ,
35+ out_dir = Directory ('out' , genfile = True ,
3536 argstr = '-o %s' ,
3637 desc = 'output directory' )
3738 mask = File (exists = True , argstr = '-m %s' , xor = ['feat_dir' ],
@@ -108,6 +109,10 @@ class ICA_AROMA(CommandLine):
108109
109110 def _list_outputs (self ):
110111 outputs = self .output_spec ().get ()
112+ if isdefined (self .inputs .out_dir ):
113+ outputs ['out_dir' ] = os .path .abspath (self .inputs .out_dir )
114+ else :
115+ outputs ['out_dir' ] = self ._gen_filename ("out_dir" )
111116 out_dir = os .path .abspath (self .inputs .out_dir )
112117 outputs ['out_dir' ] = out_dir
113118
@@ -116,4 +121,8 @@ def _list_outputs(self):
116121 if self .inputs .denoise_type in ('nonaggr' , 'both' ):
117122 outputs ['nonaggr_denoised_file' ] = os .path .join (out_dir , 'denoised_func_data_nonaggr.nii.gz' )
118123
124+ def _gen_filename (self , name ):
125+ if name == "out_dir" :
126+ return os .getcwd ()
127+
119128 return outputs
0 commit comments