67 lines
1.7 KiB
Python
67 lines
1.7 KiB
Python
# 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()
|