# Authors: The MNE-Python contributors. # License: BSD-3-Clause # Copyright the MNE-Python contributors. """Create high-resolution head surfaces for coordinate alignment. Examples -------- .. code-block:: console $ mne make_scalp_surfaces --overwrite --subject sample """ import os import sys import mne from mne.bem import make_scalp_surfaces def run(): """Run command.""" from mne.commands.utils import _add_verbose_flag, get_optparser parser = get_optparser(__file__) subjects_dir = mne.get_config("SUBJECTS_DIR") parser.add_option( "-o", "--overwrite", dest="overwrite", action="store_true", help="Overwrite previously computed surface", ) parser.add_option( "-s", "--subject", dest="subject", help="The name of the subject", type="str" ) parser.add_option( "-m", "--mri", dest="mri", type="str", default="T1.mgz", help="The MRI file to process using mkheadsurf.", ) parser.add_option( "-f", "--force", dest="force", action="store_true", help="Force creation of the surface even if it has " "some topological defects.", ) parser.add_option( "-t", "--threshold", dest="threshold", type="int", default=20, help="Threshold value to use with the MRI.", ) parser.add_option( "-d", "--subjects-dir", dest="subjects_dir", help="Subjects directory", default=subjects_dir, ) parser.add_option( "-n", "--no-decimate", dest="no_decimate", help="Disable medium and sparse decimations (dense only)", action="store_true", ) _add_verbose_flag(parser) options, args = parser.parse_args() subject = vars(options).get("subject", os.getenv("SUBJECT")) subjects_dir = options.subjects_dir if subject is None or subjects_dir is None: parser.print_help() sys.exit(1) make_scalp_surfaces( subject=subject, subjects_dir=subjects_dir, force=options.force, overwrite=options.overwrite, no_decimate=options.no_decimate, threshold=options.threshold, mri=options.mri, verbose=options.verbose, ) mne.utils.run_command_if_main()