135 lines
3.2 KiB
Python
135 lines
3.2 KiB
Python
# 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()
|