# Authors: The MNE-Python contributors. # License: BSD-3-Clause # Copyright the MNE-Python contributors. """Create a BEM solution using the linear collocation approach. Examples -------- .. code-block:: console $ mne prepare_bem_model --bem sample-5120-5120-5120-bem.fif """ import os import sys import mne def run(): """Run command.""" from mne.commands.utils import _add_verbose_flag, get_optparser parser = get_optparser(__file__) parser.add_option( "--bem", dest="bem_fname", help="The name of the file containing the " "triangulations of the BEM surfaces and the " "conductivities of the compartments. The standard " "ending for this file is -bem.fif.", metavar="FILE", ) parser.add_option( "--sol", dest="bem_sol_fname", help="The name of the resulting file containing BEM " "solution (geometry matrix). It uses the linear " "collocation approach. The file should end with " "-bem-sof.fif.", metavar="FILE", default=None, ) _add_verbose_flag(parser) options, args = parser.parse_args() bem_fname = options.bem_fname bem_sol_fname = options.bem_sol_fname verbose = True if options.verbose is not None else False if bem_fname is None: parser.print_help() sys.exit(1) if bem_sol_fname is None: base, _ = os.path.splitext(bem_fname) bem_sol_fname = base + "-sol.fif" bem_model = mne.read_bem_surfaces(bem_fname, patch_stats=False, verbose=verbose) bem_solution = mne.make_bem_solution(bem_model, verbose=verbose) mne.write_bem_solution(bem_sol_fname, bem_solution) mne.utils.run_command_if_main()