MCPcopy
hub / github.com/mne-tools/mne-python / ConductorModel

Class ConductorModel

mne/bem.py:85–117  ·  view source on GitHub ↗

BEM or sphere model. See :func:`~mne.make_bem_model` and :func:`~mne.make_bem_solution` to create a :class:`mne.bem.ConductorModel`.

Source from the content-addressed store, hash-verified

83
84
85class ConductorModel(dict):
86 """BEM or sphere model.
87
88 See :func:`~mne.make_bem_model` and :func:`~mne.make_bem_solution` to create a
89 :class:`mne.bem.ConductorModel`.
90 """
91
92 def __repr__(self): # noqa: D105
93 if self["is_sphere"]:
94 center = ", ".join(f"{x * 1000.0:.1f}" for x in self["r0"])
95 rad = self.radius
96 if rad is None: # no radius / MEG only
97 extra = f"Sphere (no layers): r0=[{center}] mm"
98 else:
99 extra = (
100 f"Sphere ({len(self['layers']) - 1} layer{_pl(self['layers'])}): "
101 f"r0=[{center}] R={rad * 1000.0:1.0f} mm"
102 )
103 else:
104 extra = f"BEM ({len(self['surfs'])} layer{_pl(self['surfs'])})"
105 extra += f" solver={self['solver']}"
106 return f"<ConductorModel | {extra}>"
107
108 def copy(self):
109 """Return copy of ConductorModel instance."""
110 return deepcopy(self)
111
112 @property
113 def radius(self):
114 """Sphere radius if an EEG sphere model."""
115 if not self["is_sphere"]:
116 raise RuntimeError("radius undefined for BEM")
117 return None if len(self["layers"]) == 0 else self["layers"][-1]["rad"]
118
119
120def _calc_beta(rk, rk_norm, rk1, rk1_norm):

Callers 6

make_sphere_modelFunction · 0.85
read_bem_solutionFunction · 0.85
_ensure_bem_surfacesFunction · 0.85
compute_chpi_locsFunction · 0.85
fit_dipoleFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected