# Authors: The MNE-Python contributors. # License: BSD-3-Clause # Copyright the MNE-Python contributors. """Open the coregistration GUI. Examples -------- .. code-block:: console $ mne coreg """ import os.path as op import mne def run(): """Run command.""" from mne.commands.utils import _add_verbose_flag, get_optparser parser = get_optparser(__file__) parser.add_option( "-d", "--subjects-dir", dest="subjects_dir", default=None, help="Subjects directory", ) parser.add_option( "-s", "--subject", dest="subject", default=None, help="Subject name" ) parser.add_option( "-f", "--fiff", dest="inst", default=None, help="FIFF file with digitizer data for coregistration", ) parser.add_option( "--head-opacity", type=float, default=None, dest="head_opacity", help="The opacity of the head surface, in the range [0, 1].", ) parser.add_option( "--high-res-head", action="store_true", default=False, dest="high_res_head", help="Use a high-resolution head surface.", ) parser.add_option( "--low-res-head", action="store_true", default=False, dest="low_res_head", help="Use a low-resolution head surface.", ) parser.add_option( "--trans", dest="trans", default=None, help='Head<->MRI transform FIF file ("-trans.fif")', ) parser.add_option( "--interaction", type=str, default=None, dest="interaction", help='Interaction style to use, can be "trackball" or "terrain".', ) _add_verbose_flag(parser) options, args = parser.parse_args() if options.low_res_head: if options.high_res_head: raise ValueError( "Can't specify --high-res-head and --low-res-head at the same time." ) head_high_res = False elif options.high_res_head: head_high_res = True else: head_high_res = None # expanduser allows ~ for --subjects-dir subjects_dir = options.subjects_dir if subjects_dir is not None: subjects_dir = op.expanduser(subjects_dir) trans = options.trans if trans is not None: trans = op.expanduser(trans) import faulthandler faulthandler.enable() mne.gui.coregistration( inst=options.inst, subject=options.subject, subjects_dir=subjects_dir, head_opacity=options.head_opacity, head_high_res=head_high_res, trans=trans, interaction=options.interaction, show=True, block=True, verbose=options.verbose, ) mne.utils.run_command_if_main()