# Authors: The MNE-Python contributors. # License: BSD-3-Clause # Copyright the MNE-Python contributors. """Create BEM surfaces using the watershed algorithm included with FreeSurfer. Examples -------- .. code-block:: console $ mne watershed_bem -s sample """ import sys import mne from mne.bem import make_watershed_bem from mne.utils import _check_option def run(): """Run command.""" from mne.commands.utils import _add_verbose_flag, get_optparser parser = get_optparser(__file__) parser.add_option( "-s", "--subject", dest="subject", help="Subject name (required)", default=None ) parser.add_option( "-d", "--subjects-dir", dest="subjects_dir", help="Subjects directory", default=None, ) parser.add_option( "-o", "--overwrite", dest="overwrite", help="Write over existing files", action="store_true", ) parser.add_option( "-v", "--volume", dest="volume", help="Defaults to T1", default="T1" ) parser.add_option( "-a", "--atlas", dest="atlas", help="Specify the --atlas option for mri_watershed", default=False, action="store_true", ) parser.add_option( "-g", "--gcaatlas", dest="gcaatlas", help="Specify the --brain_atlas option for mri_watershed", default=False, action="store_true", ) parser.add_option( "-p", "--preflood", dest="preflood", help="Change the preflood height", default=None, ) parser.add_option( "--copy", dest="copy", help="Use copies instead of symlinks for surfaces", action="store_true", ) parser.add_option( "-t", "--T1", dest="T1", help="Whether or not to pass the -T1 flag " "(can be true, false, 0, or 1). " "By default it takes the same value as gcaatlas.", default=None, ) parser.add_option( "-b", "--brainmask", dest="brainmask", help="The filename for the brainmask output file " "relative to the " "$SUBJECTS_DIR/$SUBJECT/bem/watershed/ directory.", default="ws", ) _add_verbose_flag(parser) options, args = parser.parse_args() if options.subject is None: parser.print_help() sys.exit(1) subject = options.subject subjects_dir = options.subjects_dir overwrite = options.overwrite volume = options.volume atlas = options.atlas gcaatlas = options.gcaatlas preflood = options.preflood copy = options.copy brainmask = options.brainmask T1 = options.T1 if T1 is not None: T1 = T1.lower() _check_option("--T1", T1, ("true", "false", "0", "1")) T1 = T1 in ("true", "1") verbose = options.verbose make_watershed_bem( subject=subject, subjects_dir=subjects_dir, overwrite=overwrite, volume=volume, atlas=atlas, gcaatlas=gcaatlas, preflood=preflood, copy=copy, T1=T1, brainmask=brainmask, verbose=verbose, ) mne.utils.run_command_if_main()