@@ -843,23 +843,29 @@ def parse_args(args=None, namespace=None):
843843 version = config .environment .version
844844 output_layout = config .execution .output_layout
845845 config .execution ._config_hash = config .hash_config (config .get ())
846- if output_layout == 'multiverse' :
847- output_dir += f'-{ version .split ("+" , 1 )[0 ]} -{ config .execution .config_hash } '
848846
849847 if config .execution .fs_subjects_dir is None :
850- if output_layout == 'bids' :
848+ if output_layout in ( 'bids' , 'multiverse' ) :
851849 config .execution .fs_subjects_dir = output_dir / 'sourcedata' / 'freesurfer'
852850 elif output_layout == 'legacy' :
853851 config .execution .fs_subjects_dir = output_dir / 'freesurfer'
854852
855853 if config .execution .nibabies_dir is None :
856- if output_layout == 'bids' :
854+ if output_layout in 'bids' :
857855 config .execution .nibabies_dir = output_dir
858856 elif output_layout == 'legacy' :
859857 config .execution .nibabies_dir = output_dir / 'nibabies'
858+ elif output_layout == 'multiverse' :
859+ config .loggers .cli .warning (
860+ 'Multiverse output selected - assigning output directory based on version'
861+ ' and configuration hash.'
862+ )
863+ config .execution .nibabies_dir = (
864+ output_dir / f'nibabies-{ version .split ("+" , 1 )[0 ]} -{ config .execution ._config_hash } '
865+ )
860866
861867 if config .workflow .surface_recon_method == 'mcribs' :
862- if output_layout == 'bids' :
868+ if output_layout in ( 'bids' , 'multiverse' ) :
863869 config .execution .mcribs_dir = output_dir / 'sourcedata' / 'mcribs'
864870 elif output_layout == 'legacy' :
865871 config .execution .mcribs_dir = output_dir / 'mcribs'
0 commit comments