文摘

恢复源引起电和脑磁图描记术在个别测量,实际生理建模是必需的,必须计算和精确的数字解决方案。我们现在OpenMEEG,解决了电磁推进问题的准静态政权,与分段常数导头模型。OpenMEEG的核心由对称边界元法,基于一个扩展绿色表示定理。OpenMEEG能够提供铅领域向前四个不同的电磁问题:脑电图(EEG)、脑磁图(MEG),电阻抗断层成像(EIT),和颅内电动电位(IPs)。OpenMEEG是开放源代码的,多平台。它可以使用Python和Matlab结合工具箱解决逆问题;2.0版本以来的集成在实地考察操作。

1。介绍

我们认识到,电导率模型和提出的解决方案中扮演重要角色从脑电图定位准确的来源1,2]。这也是对梅格,虽然从一个较小的程度上(3]。

尽管简单的数学方程的性质导致电势和磁场,这些方程解决数值不是微不足道的,因为大电导引起邻近组织之间的比率。提出建模领域的脑电图和梅格可以追溯到巴纳德,为心电描记法导出积分方程(4,5Geselowitz]和[6]。这些开创性的论文后,几组提出边界元解决这些问题(以及其他类型的解决方案,特别是有限元素,这超出了本文的范围)(7- - - - - -9]。

数值解决前进中的困难问题是当电力来源接近两个组织之间的界限,在这种情况下,解决者面临精度问题[8]。这样的源位置并不罕见事件:灰质,代表的电偶极子的大脑活动可能假定,相当接近脑脊液(CSF)和头骨。精度校正方法,称为孤立的头骨(ISA)方法,提出了缓解这些精度问题[10]。虽然提高了精度在大多数情况下,有时退化(8]。直到最近,没有可接受的解决方案可用,没有使用ISA。

由于这些原因,研究项目提出建模进行了脑电图和梅格在法国导致对称的发展本(11- - - - - -13]。OpenMEEG软件包使梅格/脑电图可用这一新的发展社区。

OpenMEEG提出准确向前的推力问题,在几个实例。最经典实例脑电图和梅格,但OpenMEEG还允许计算电势由于边界电流注入(如发生在电阻抗断层扫描或功能性电刺激)和计算电势测量大脑内(如发生在极射赤面EEG)。

对于每个这些实例,提出问题的结果表示为领先领域,也就是说,矩阵代表源和测量之间的线性关系,也称为“增益矩阵”。

的建模假设OpenMEEG部分中解释2。部分3然后提出的四个实例计算细节:EEG、MEG, EIT,和内部潜在的(IP),从物理模型OpenMEEG命令。部分4提供实用信息OpenMEEG使用。OpenMEEG的准确性评估基准比较测试的部分5,文章结尾的结论。本文提供的材料是指2.1及以后版本。

2。模型的假设

准静态政权的麦克斯韦方程是有效的在脑电图和梅格的感兴趣的频率,并对EIT和功能性电刺激,刺激频率低于1 kHz。在这个政权,电势 是由静电学的法律吗 ( ) = , ( 1 ) 在哪里 导领域吗 源分布。大脑被建模为偶极子来源,代表平均在锥体皮质神经元突触后电流。一个边界条件修正的价值域边界上的正常电流 = ( 2 ) 在脑电图和梅格,正常电流的值在头皮上 = 0 ,但在电阻抗断层扫描, 需要的值当前注射在头皮上。

2.1。头模型

OpenMEEG基于边界元表示的物理领域,这意味着电导率模型,描述了电导率 ,必须分段常数。因此物理字段代表的边界地区持续的电导率。更准确地说,OpenMEEG仅限于嵌套的电导率模型,也就是说,在这有恒定的连续层电导率(见图1(一))。这种模式通常是适合,因为它可以处理大脑,CSF,头骨,头皮导率。提出了扩展的对称本处理嵌套区域如图1 (b)但尚未由OpenMEEG [13]。对于电导率,唯一的理论限制使用边界元方法是电导率字段必须在每个域翻译不变。因此,对于复杂的3 d域头,各向异性电导率不能处理一个本,和其他使用volumic解决方法必须使用(例如,有限元方法)。

2.2。源模型

大脑内的一次电流 在(1)是表示为偶极子分布。这个分布可能点态或surfacic。逐点的来源分布点态偶极子的集合,定义为自己的头寸和时刻。surfacic来源分布surfacic网格,定义 ( ) = ( ) ( ) , ( 3 ) 运行在所有的顶点, 是顶点的分段线性函数等于1呢 在所有其他和0, ( ) 是正常的表面的位置吗 。源强度线性在每个三角形和等于 在顶点

注意点态源分布是最常用的,因为很难定义一个表面支持sources-hence匹配方向的脑回和sulci-on足够光滑。

另一种类型的来源,可以认为是边界的法向分量电流: 在(2)。这个正常电流是在网格建模为分段常数,即 ( ) = ( ) , ( 4 ) 对所有三角形和求和运行在哪里 是分段常数函数等于1三角形 和0在所有其他人。

2.3。传感器模型

四种模式被认为是:脑电图电极,梅格传感器、电流注入电极,和颅内电极测量的潜力。在每种情况下,传感器模型认为OpenMEEG是非常基本的,也就是说,它没有模型电容效应,也没有电极扩展。

脑电图和颅内电极认为守时和定义的3 d坐标。在脑电图中,三维电极位置采用正交投影到头皮表面。每个梅格传感器被定义为一组点和权重,因此建模磁或梯度仪,可能与线圈连接的形状。电流注入电极是由他们的3 d坐标,和当前注入模型是一个统一的电流在最近的三角形注入电极。

3所示。向前场计算

上面的模型解释,OpenMEEG装备来计算四个不同类型的字段。现在我们详细的计算。此外,读者可以参考全球流程图如图5,这解释了命令的结构和输入/输出参数。信息输入/输出格式中提供了部分4

3.1。脑电图主要领域

计算一个脑电图导致场量计算的潜力 在电极上,由于偶极源在规定的位置和方向。(为简单起见,我们的描述考虑点态源分布,但该方法也适用于一个surfacic源分布)的潜力 定义,一个积分常数,该解决方案(1)和边界条件(2整个头皮)中没有电流。考虑一个嵌套的电导率模型如图1(一)对称边界元素表达了解决这一问题,局限于域边界,方程组的解 1 1 2 2 = 1 2 ( 5 ) 为一组 源强度对应于 规定的偶极子(11]。两个潜在的 和正常的电流 ( ) 每个边界上离散 (除了头皮,只有可能需要离散自正常电流消失)。可能是用分段线性表示边界元素,而正常电流与分段常数边界元素表示。

两个矩阵HeadMatrixSourceMatrix涉及边界积分运营商OpenMEEG装备来计算。计算EEG领先领域 E E G 相当于解决对称线性系统(教派“对称本”是由于对称的性质HeadMatrix): = ( 6 ) 并申请结果 一个插值算子来推断在头皮上的电极位置的潜力 E E G = ( 7 )

矩阵是聚集在OpenMEEG通过调用命令 _ ( 8 ) HeadMatrix——组装吗HeadMat包含几何和电导率描述的选项和参数。

Head2EEGMatrix——组装吗Head2EEGMat选择,是一样的参数

SourceMatrix——组装吗DipSourceMat或-SurfSourceMat选项,这取决于源模型(部分2.2),参数包含几何、电导率和源描述(位置和方向,或者表面支持surfacic来源)。

最后,(6)和(7)被先后解决了(我)反相矩阵HeadMatrix: _ ; ( 9 ) (2)应用插值和逆矩阵SourceMatrix: _ - - - - - - ( 1 0 )

EEG主要字段前面的命令的输出。

3.2。梅格铅领域

磁场 都取决于电势 和电流源分布 ,穿过毕奥萨伐尔定律 ( ) = 0 4 × 3 , ( 1 1 ) = 0 在边界上。

磁场 可以分成两个贡献,主要字段生成的初级电流和电阻字段。主要领域是计算源和测量之间的线性关系,通过一个矩阵Source2MEGMatrix。欧姆字段计算电势之间的线性关系和测量。计算这个电阻铅领域大量解决(6)(当计算 E E G )和申请结果 一个操作员Head2MEGMatrix。最后,梅格领先领域 E G 等于: E G = + ( 1 2 )

HeadMatrixSourceMatrix与脑电图的完全相同吗领导,和他们的组装部分中解释3所示。1。矩阵Head2MEGMatrixSource2MEGMatrix获得通过om_assemble命令。Head2MEGMatrix选项-组装吗Head2MEGMat参数描述几何、电导率和传感器;Source2MEGMatrix选项-组装吗DipSource2MEGMat(点态源)或-SurfSource2MEGMat(surfacic源),与前面列出的参数,再加上源描述(离散点和方向,或表面)。最后,梅格领先领域 E G 计算通过调用om_gain选项-梅格,和输入矩阵HeadMatrixInv,SourceMatrix,Head2MEGMatrix,Source2MEGMatrix

2显示一个磁场对应一个偶极子和内插在一个表面上含有磁强计的位置。

3.3。EIT铅领域

OpenMEEG还允许计算电势由于应用当前域的边界上。这发生在电阻抗断层,也在功能性电刺激。我们将表示这种类型的问题”EIT”,记住它也关注其他应用领域。电阻抗断层成像(EIT)试图估计模型的导率,通过分析产生的潜在应用程序当前的边界。在EIT导率必须进行调整,以符合当前衡量潜在的通信(14- - - - - -16]。OpenMEEG允许计算当前潜在的通信,电导率的固定值。这相当于解决(1)和(2规定),注入电流 ,选择潜在的价值在电极脑电图的(7)。

有趣的是,只有右边的(6)必须改变当EIT被解决,而不是脑电图。源矩阵计算EIT通过调用om_assemble与- - - - - -EITSourceMat选择参数几何图形文件,电导率文件,该文件描述了EIT电极。

反相后左边矩阵(6)(收益率HeadMatrixInv)和计算电极插值矩阵Head2EEGMatrixEIT铅计算领域使用om_gain与- - - - - -脑电图描记器选项 _ - - - - - - ( 1 3 )

3显示相对应的头皮电位两个电极之间的电流注入。

注意,对于一套新的电导率值,计算的HeadMatrix是直接的,因为的形式HeadMatrix(14)(请参考[11]证明)。这使得EIT反问题很容易处理的使用OpenMEEG [17]: = = 1 + 1 ( 1 4 )

3.4。内部潜力(IP)领域

在某些临床设置,大脑内的潜力可能测量(颅内脑电图或立体定位EEG)。给定一个头内电流分布发电机,OpenMEEG能够计算可能在任何位置在头部(大脑,头骨,头皮)。这看起来令人惊讶,因为OpenMEEG基于边界元法,根据定义,只代表了潜在的域之间的接口。但计算的潜在领域内的知识潜力和正常电流在周围的接口只是一种应用绿色谐波表示定理。

在练习中,这种关系是由一个矩阵Head2IPMatrix。还必须考虑一个贡献从属于同一来源域作为电极。

计算内部潜在的领域 P 所得的解 的计算 E E G , = , ( 1 5 ) 然后计算 P = + ( 1 6 )

Head2IPMatrix是组装的om_assemble命令和选项,Head2InternalPotMat和通常的参数(几何和电导率描述)以及内部点。Source2IPMatrix组装与相同的命令选项-DipSource2InternalPotMat除了前面的参数,源描述。最后, P 计算通过调用om_gain选项-InternalPotential和输入矩阵HeadMatrixInv,SourceMatrix,Head2IPMatrix,Source2IPMatrix

4显示内部潜在的由于一个偶极子。

4所示。使用OpenMEEG

4.1。I / O文件格式

OpenMEEG处理一些文件格式对应几种类型的对象:向量,矩阵,几何图形,网格,偶极子,导率和传感器。

默认情况下,使用Matlab矩阵和向量存储在磁盘上的文件格式。Matlab不对称矩阵,提出一种格式,表示为一个Matlab的结构。另外OpenMEEG处理纯ASCII文件(通常用于传感器和偶极子描述)和BrainVisa纹理。

通过几个文件OpenMEEG几何模型描述。注意,OpenMEEG认为SI单位(点坐标应该表现在米(m),导率 年代 / 等)。顶层文件(扩展.数学)描述的嵌套结构不同的领域(见图6)。一个关联的电导率文件(扩展.cond导率)包含的领域(见图7)。

网格式支持BrainVisa.tri文件(默认)和亚撒.bnd文件。

4.2。示例脚本和演示

花费了大量精力来促进使用OpenMEEG M /脑电图社区。OpenMEEG可以调用通过一个命令行界面(见图5)或通过高级语言。OpenMEEG可以使用通过实地考察从Python或Matlab工具箱,它完全集成的建模程序。在实地考察中,OpenMEEG可以计算铅头模型的字段1,2,3或4嵌套层。

算法12提供示例Python和实地考察脚本。

进口openmeeg om
# #加载数据
几何学= om.Geometry ()
geom.read (“head_model。几何学”、“head_model.cond”)
偶极子= om.Matrix ()
dipoles.load (“cortex_dipoles.txt”)
meg_sensors = om.Sensors ()
meg_sensors.load (“meg_channels.squids”)
eeg_electrodes = om.Matrix ()
eeg_electrodes.load (“eeg_channels.txt”)
int_electrodes = om.Matrix ()
int_electrodes.load (“internal_electrodes.txt”)
# #组装矩阵
gauss_order = 3
use_adaptive_integration = True
嗯= om。HeadMat(geom, gauss_order)
hminv = hm.inverse ()
dsm = om。DipSourceMat(geom, dipoles, gauss_order, use_adaptive_integration)
#为脑电图
h2em = om。eeg_electrodes Head2EEGMat(几何学)
#为梅格
ds2mm = om。DipSource2MEGMat(dipoles, meg_sensors)
h2mm = om。meg_sensors Head2MEGMat(几何学)
#对EIT(使用相同的电极EEG)
eitsm = om。E我TSourceMat(geom, eeg_electrodes, gauss_order)
#为内部潜力
iphm = om。年代urf2VolMat(geom, int_electrodes)
ipsm = om。DipSource2InternalPotMat(geom, dipoles, int_electrodes)
# #计算leadfiels
eeg_leadfield = om。GainEEG(hminv, dsm, h2em)
meg_leadfield = om。GainMEG(hminv, dsm, h2mm, ds2mm)
eit_leadfield = om。GainEEG(hminv, eitsm, h2em)
ip_leadfield = om。GainInternalPot(hminv, dsm, iphm, ipsm)

% %本卷的结构传导模型
% vol.bnd (k)。pnt:网格的顶点层“k”
% vol.bnd (k)。三:三角形网格的层“k”
% vol.cond:每一层的导率
% %脑电图电极
% sens.pnt:脑电图电极的位置
% %偶极子的位置
% pos:偶极子的位置
% %计算本
%选择实现(OpenMEEG BEMCP或Dipoli)
cfg。米ethod = ‘openmeeg’;
%计算边界元矩阵
卷卷= ft_prepare_bemmodel (cfg);
cfg。卷=卷;
cfg.grid。pos = pos;
cfg。加热器= sens;
%计算leadfield
lf_openmeeg = ft_prepare_leadfield (cfg);

4.3。技术细节

OpenMEEG分布在法国开放源码许可CeCILL-B,旨在给用户修改和重新发布软件的自由。因此兼容等流行的开源许可证GPL和BSD许可证。由于CeCILL-B许可,任何人分发软件合并OpenMEEG有义务给学分通过引用适当的出版物。(被引用的引用遵守许可OpenMEEG网页上可以找到http://openmeeg.gforge.inria.fr。)

OpenMEEG在C / c++实现有限的外部依赖。它使用英特尔MKL库在Windows和阿特拉斯(布拉斯特区/ LAPACK)对Unix系统快速、准确的线性代数。MATIO的修改版本库(http://sourceforge.net/projects/matio)已经被集成在OpenMEEG Matlab兼容性。的源代码OpenMEEG是托管在INRIA GForge平台和访问http://openmeeg.gforge.inria.fr

OpenMEEG GNU-Linux系统可以作为预编译的二进制文件,Mac OS和Windows(32和64位)。OpenMEEG的构建和包装系统是基于CMake / CPack(http://www.cmake.org)允许容易开发和部署架构。

加速计算,可以编译OpenMEEG OpenMP的技术,使并行计算以有限的成本在软件设计方面。大部分的数值积分,计算时间,可以并行运行。图8礼物观察脑电图的计算计算时间字段的头部模型图4(大约700点每层,3层,15000偶极子)。它可以观察到,与4线程,计算几乎快3倍。这个例子是770 MB的内存需求。向前场计算的计算时间与OpenMEEG大致可以分为三个主要部分:头部矩阵组装,其反演,源矩阵组装(确认为HM, HMINV, DSM在图8)。

部署在多个架构与异构硬件和软件环境要求测试程序评估解决方案的稳定性提供了编译的二进制文件。这个测试过程,基于CMake / ct,保证结果的完整性,尤其是在球面模型与分析结果相比。

5。脑电图和梅格的比较研究

5.1。基准测试报告

当头部模型由嵌套同心球体,脑电图和梅格向前计算的准确性可以通过比较计算解决方案和评估分析的解决方案。我们这里现在摘录的基准研究[18]。

提出解决方案的精度测试有两个措施:相对偏差测量(RDM)和大小比例(MAG) [19]。

之间的RDM向前场的数值求解 和分析解决方案 被定义为 R D , = ( ] 0 , 2 , ( 1 7 ) 而镁之间的两个字段定义为 一个 G , = ( 1 8 ) 在这两种表情,常态是欧式的 2 规范设置的传感器测量。

几何模型
比较了在典型的普通球面网格如图10,在随机网格(18]。三层的解决本测试头模型,模型内部和外部头骨,和皮肤。3层的半径设置为88,92年和100年,而导率3均匀的卷将标准的价值观:1,1/80(头骨)和1。每头模型,解决测试相同的5个偶极子定位上 设在取向(1,0,- 1)和各种距离内层(cf。图10)。

结果:电势模拟的准确性
选择本软件可用的社区都是基于Geselowitz配方(6]。从这个配方,不同的实现可能。可能可以被建模与常量元素(即。,the potential is piecewise constant over each mesh) or, for more precision, with linear elements (i.e., the potential is piecewise linear over each mesh). The computation may then be achieved with a Galerkin method involving numerical integration, as in OpenMEEG, or with a more simple collocation method (see [8]的详细研究金和搭配方法)。线性搭配(LC)方法由BEMCP实现(20.)可以从实地考察,是默认的前锋在SPM的能手。为了提高LC的准确性的方法,孤立的头骨的方法(ISA)提出了10]。它使用SimBio [21],Dipoli [22),和赫尔辛基本23],它实现了一个简单的信用证和信用证与ISA (LCISA)。SimBio内,我们在这里只考虑其边界元解算器,称为SimBio-BEM [24),而不是SimBio-FEM [25,26),侧重于非均匀和各向异性容积导体模型。
赫尔辛基本是这个基准测试中使用的实现。然而所有上述动力学测试,并且已经确认所有LCISA动力学测试提供了几乎相同的结果,在做所有的LC解决测试(18]。OpenMEEG的特点之一就是使用一种自适应数值积分方法。为了演示对结果的影响,我们还测试了非适应的版本OpenMEEG (OMNA)。
为了完整性,我们提到的边界元解算器实现外资企业(http://www.nmr.mgh.harvard.edu/martinos/userInfo/data/sofMNE.php)软件包也是LCISA基础。
此外,正如一个粗略的比较,一个基本的有限元方法与P1基础元素四面体网格(外径最小)也被运行。经典有限元法,与预处理共轭梯度求解器(雅可比预调节器),和偶极子源通过部分集成建模。这样一个模型接近连续分布的偶极子源的支持在一个小区域,它引入了一个不存在的近似误差来源为本模型。请注意,有更好的解决方案模型和减法等有限元方法或偶极子源文南直接的方法(27]。这些方法超出了这个范围的贡献。网格(43768年427000个顶点,顶点外表面)生成与CGAL (CGAL,计算几何算法库,http://www.cgal.org)。一个视图网格如图9

结果:磁场模拟的准确性
磁场通常计算,在梅格社区,球体上使用解析解。而(欧姆)体积电流不会导致磁场对一个嵌套的径向分量球面模型;在一个现实的几何和必须计算。OpenMEEG和SimBio-BEM两个免费软件项目提供磁场的计算根据电势。

5.2。结果
5.2.1。定期网状球

结果定期网状球呈现在图11每个接口上,三种不同的采样点。粗采样每层只有42个顶点和42脑电图电极,每层中间有162点和162年脑电图电极,和最好的抽样642点每层和642脑电图电极。

从这些模拟以下可以观察到。(我)搭配简单的线性方法显然是最准确的。(2)ISA修正的线性搭配方法是更准确。(3)OpenMEEG提供最准确的解决方案,即使在没有自适应集成使用。自适应集成进一步改善的结果,特别是当网格粗采样(42和162点每层)。(iv)尽管使用的高分辨率网格有限元,OpenMEEG更准确的模型每层642个顶点。

5.2.2。随机网状球

模拟也被运行在大量的随机网状球形网格,以研究解决的健壮性。请参阅[18啮合过程)。测试得到的结果是每个解算器100随机模型。平均精度措施(RDM和杂志)使用框图表示。

脑电图结果
12礼物盒子运行随机头上动力学模型获得的情节与每层600或800点。平均结果遵循图的排名11。然而,方差告诉我们,OM不仅是非常准确的,但也非常精确,因为它很小的差异。(准确度和精密度的区别,请参考http://en.wikipedia.org/wiki/Accuracy_and_precision)。OMNA解算器也准确但不精确:它有较大的差异,证明了自适应网格集成提高了鲁棒性。线性搭配ISA给中间结果。也没有观察到线性搭配ISA明显较大的方差比其他解决方案,这意味着它非常敏感的啮合。

梅格的结果
节中解释3所示。2,磁场取决于电势,因此其准确性遵循的脑电图。尽管梅格机器通常只提供径向定向传感器对头盔(参考通道除外),我们在接下来的实验中,计算了磁场nonradial为了验证欧姆领域的贡献。的确,在球面几何学,径向传感器的磁场不取决于电阻,不再适用于更现实的模型。两种类型的传感器是这样认为:一组面向磁力计的笛卡儿的方向(1,0,- 1)和位于距离从120的中心模型和一组径向定向传感器在同一位置。图13礼物,因为这两种类型的传感器,在3 - layer OpenMEEG模型的结果,有或没有自适应集成(OM和OMNA), OpenMEEG单层模型(OM1l), LCISA单层模型(SimBio-BEM实现)。使用3 - layer模型OpenMEEG略微提高了结果只有一层。径向磁力计,通知一个轻微的优势LCISA的准确度和精度,但对于面向nonradially传感器,OpenMEEG优于OMNA和LCISA。表演的LCISA然而可以显著提高了增加顶点的数量在每一层。SimBio-BEM,在我们调查的3400个节点导致最大0.047和0.97上方的杂志。

6。结论

OpenMEEG是一个全面的,开源软件包求解不同实例的前锋在准静态电磁场问题。它可以计算字段脑电图和梅格,以及EIT(或功能性电刺激)和颅内脑电图。关于准确性,OpenMEEG代表了最先进的。除了优秀的准确性和通用性,这个软件使其独特的其他几个特性:(我)嵌套层的数量是不受限制的;(2)偶极源可能是定位在任何领域;(3)EIT脑电图,梅格和IP铅字段可以共同计算相同的头部模型;(iv)通过实地考察与Python和界面的Matlab最大的易用性。

进步带来的这一新的软件但是只代表一个有限的贡献在建模大脑机能活动。头模型生成是一个至关重要的问题在实践中,和需要自动化的程序在这一领域在哭。当更复杂的模型(包括非均匀和各向异性电导率)是必须的,边界元方法不再适用,和一个人必须诉诸有限元方法,其中一些开放源码解决尚未(SimBio-FEM [21])。然而,头部模型在实践中,常用OpenMEEG代表艺术前进的状态计算。

确认

作者承认支持ANR格兰特ViMAGINE ANR - 08 -上海步浪- 0250 - 02年和博士学位授予的大肠Olivi区域市政局的普罗旺斯阿尔卑斯蔚蓝海岸。帮助从c . Micheli感激地承认和r . Oostenveld OpenMEEG的集成在实地考察。数据2,3,4生成与Mayavi [28]。