Zeffiro Forward and Inverse Interface for Complex Geometries

버전 5.19.1.0 (131 MB) 작성자: Sampsa Pursiainen
Interface for using finite elements in inverse problems with complex domains
다운로드 수: 488
업데이트 날짜: 2023/12/6

Zeffiro Interface

© 2018- Sampsa Pursiainen & ZI Development Team

View Zeffiro Forward and Inverse Interface for Complex Geometries on File Exchange

Zeffiro Interface Logo

Introduction

Zeffiro Interface (ZI) is an open source code package constituting an accessible tool for multidisciplinary finite element (FE) based forward and inverse simulations in complex geometries. Developed for MATLAB, ZI aims to streamline the process of analyzing brain activity and make it accessible to researchers and clinicians alike. With ZI, one can generate a volumetric finite element mesh for a realistic multilayer geometry, such as human brain or an asteroid.

A suitable surface segmentation can be produced, for example, using the FreeSurfer software suite ( Copyright © FreeSurfer, 2013). ZI allows importing a parcellation created with FreeSurfer to enable distinguishing different brain regions and, thereby, analysing the sub-cortical structures and connectivity of the brain function over a time series. In each compartment, the orientation of the activity can be either normally constrained or unconstrained. The main routines of ZI can be accelerated significantly in a computer equipped with a graphics computing unit (GPU). It is especially recommendable to perform the forward simulation process, i.e., to generate the finite element mesh, the lead field matrix and to interpolate between different point sets, utilizing a GPU. After the forward simulation phase, the model can be processed also without GPU acceleration.

Requirements

  • MATLAB >= r2019a
  • Toolboxes
    • Signal Processing Toolbox
    • Optimization toolbox
    • Parallel Computing Toolbox
    • Statistics and Machine Learning Toolbox
  • GPU (optional)

Installation

Zeffiro Interface relies on the external repositories, such as SDPT3, SeDuMi and others, that will be fetched automatically when cloning with --recurse-submodules. See the installation wiki page for instructions on how to install Zeffiro Interface.

Getting Started

To start ZI, open Matlab, navigate to the project directory and run the following command:

zeffiro_interface()

To learn more about startup options, run one of the following commands in Matlab:

help zeffiro_interface
% or
doc zeffiro_interface

Read the wiki pages for more information.

Contributing

See CONTRIBUTING.md for details on how to contribute to the project.

License

Zeffiro Interface is licensed under the GNU GPLv3. See the LICENSE file for details.

Submodules from external directory are licensed as follows:

  • CVX: GNU GPLv3
  • fieldtrip: GNU GPLv3
  • OSQP: Apache v2.0
  • SDPT3: GNU GPLv2
  • SeDuMi: GNU GPLv2
  • SESAME: unknown
  • spm12: GNU GPLv2

Related papers

The interface itself has been introduced in:

  • He, Q., Rezaei, A. & Pursiainen, S. (2019). Zeffiro User Interface for Electromagnetic Brain Imaging: a GPU Accelerated FEM Tool for Forward and Inverse Computations in Matlab. Neuroinformatics, https://doi.org/10.1007/s12021-019-09436-9

Recent papers:

  • Galaz Prieto, F., Rezaei, A., Samavaki, M., & Pursiainen, S. (2022). L1-norm vs. L2-norm fitting in optimizing focal multi-channel tES stimulation: linear and semidefinite programming vs. weighted least squares. Computer Methods and Programs in Biomedicine, 226, 107084, https://doi.org/10.1016/j.cmpb.2022.107084

  • Lahtinen, J., Koulouri, A., Rezaei, A., & Pursiainen, S. (2022). Conditionally Exponential Prior in Focal Near-and Far-Field EEG Source Localization via Randomized Multiresolution Scanning ( RAMUS). Journal of Mathematical Imaging and Vision, 1-22. https://doi.org/10.1007/s10851-022-01081-3

  • Rezaei, A., Lahtinen, J., Neugebauer, F., Antonakakis, M., Piastra, M. C., Koulouri, A., Wolters, C. H., & Pursiainen, S. (2021). Reconstructing subcortical and cortical somatosensory activity via the RAMUS inverse source analysis technique using median nerve SEP data. NeuroImage, 245, 118726. https://doi.org/10.1016/j.neuroimage.2021.118726

  • Rezaei, A., Koulouri, A., & Pursiainen, S. (2020). Randomized multiresolution scanning in focal and fast E/MEG sensing of brain activity with a variable depth. Brain Topography, 33(2), 161-175. https://doi.org/10.1007/s10548-020-00755-8

The essential mathematical techniques used in the interface have been reviewed and validated in:

The IAS MAP (iterative alternating sequential maximum a posteriori) inversion method and the hierarchical Bayesian sampler are based on:

  • Calvetti, D., Hakula, H., Pursiainen, S., & Somersalo, E. (2009). Conditionally Gaussian hypermodels for cerebral source localization. SIAM Journal on Imaging Sciences, 2(3), 879-909. https://doi.org/10.1137/080723995

It has been applied for a realistic brain geometry, e.g., in:

  • Lucka, F., Pursiainen, S., Burger, M., & Wolters, C. H. (2012). Hierarchical Bayesian inference for the EEG inverse problem using realistic FE head models: depth localization and source separation for focal primary currents. Neuroimage, 61(4), 1364-1382. https://doi.org/10.1016/j.neuroimage.2012.04.017

The current preserving source model combines linear (face-intersecting) and quadratic (edgewise) elements via the Position Based Optimization (PBO) method and the 10-source stencil in which 4 face sources and 6 edge sources are applied for each tetrahedral element containing a source:

  • Bauer, M., Pursiainen, S., Vorwerk, J., Köstler, H., & Wolters, C. H. (2015). Comparison study for Whitney (Raviart–Thomas)-type source models in finite-element-method-based EEG forward modeling. IEEE Transactions on Biomedical Engineering, 62(11), 2648-2656. https://doi.org/10.1109/TBME.2015.2439282

  • Pursiainen, S., Vorwerk, J., & Wolters, C. H. (2016). Electroencephalography (EEG) forward modeling via H (div) finite element sources with focal interpolation. Physics in Medicine & Biology, 61(24), 8502. https://doi.org/10.1088/0031-9155/61/24/8502


Zeffiro Interface is not intended for use in clinical applications. The authors do not assume responsibility for the results obtained with ZI when using clinical data.

인용 양식

Sampsa Pursiainen (2024). Zeffiro Forward and Inverse Interface for Complex Geometries (https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.19.1), GitHub. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R2020b
R2018a에서 R2022b까지의 릴리스와 호환
플랫폼 호환성
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

+core

+core/+gui/+menu_tool

+core/+import

+core/+preconditioners

+examples

+examples/+studies/+decision_making

+examples/+studies/+santtus_peeling_article

+examples/+studies/+tES_hyperparameter_optimization

+tests

+utilities

+utilities/+brainstorm2zef

+utilities/+cluster

+utilities/+duneuro2zef

+utilities/+fs2zef

data/segmentations/multicompartment_head_project

m

m/auxiliary

m/auxiliary/analysisScripts

m/auxiliary/mesh_averaging

m/auxiliary/mri

m/auxiliary/plotting

m/auxiliary_scripts

m/barycentric

m/constants

m/forward_simulation

m/forward_simulation/lead_field

m/forward_simulation/nse

m/forward_simulation/wave

m/import

m/inverse

m/mesh

m/operators

m/visualization/graph_bank

m/visualization/time_series_tools

mlapp

plugins/Beamformer

plugins/ClassicalSparseMethods

plugins/CreateDipolarPair/m

plugins/DBS_tool

plugins/DipoleScan/m

plugins/DynamicalPlotQueue/m

plugins/DynamicalPlotQueue/m/dynamical_plot_queue_bank

plugins/EITSensitivityTool/m

plugins/EXP/common

plugins/EXP/exp_em/m

plugins/EXP/exp_em_multires/m

plugins/EXP/exp_ias/m

plugins/EXP/exp_ias_multires/m

plugins/FindSyntheticGravityData/m

plugins/FindSyntheticSource/m

plugins/FindSyntheticSourceLegacy

plugins/GMMClustering

plugins/GMMClustering/v2/m

plugins/GMModel

plugins/GithubPusher/m

plugins/HBSampler/m

plugins/IASInversion/m

plugins/IASROIInversion/m

plugins/Kalman/Scripts

plugins/Kalman/clusterScripts

plugins/Kalman/m

plugins/LFBankTool/m

plugins/LFBankTool/m/lead_field_normalization_functions

plugins/LeadFieldProcessingTool

plugins/LeadFieldProcessingTool/m

plugins/MNETool/m

plugins/MUSIC

plugins/NSE_tool/m

plugins/PlotMeshesProto

plugins/RAMUSInversion/m

plugins/RAMUSSampler/m

plugins/RAP-MUSIC

plugins/ReconstructionTool

plugins/ReconstructionTool/m

plugins/ReconstructionTool/m/apply_functions

plugins/SESAME/m

plugins/WireframeTool/m

plugins/ZeffiroESWorkbench/m

plugins/ZeffiroFilterTool/m

plugins/ZeffiroFilterTool/m/filter_bank

plugins/ZeffiroTopography/m

plugins/dataBank

plugins/dataBank/m

plugins/preconditioned_relaxation_tool/m

GitHub 디폴트 브랜치를 사용하는 버전은 다운로드할 수 없음

버전 게시됨 릴리스 정보
5.19.1.0

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.19.1

5.18.2.0

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.18.2

5.17.1.0

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.17.1

5.16.1.0

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.16.1

5.15.2.0

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.15.2

5.14.7

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.14.7

5.14.6

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.14.6

5.14.5

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.14.5

5.14.4.0

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.14.4

5.14.3

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.14.3

5.14.2

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.14.2

5.14.1

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.14.1

5.13

-

5.12.0.0

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.12

5.11.3

-

5.11.2

-

5.11.1

-

5.11.0.0

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.11

5.10.0.0

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.10

5.9.0.0

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.09

5.8.0.0

See release notes for this release on GitHub: https://github.com/sampsapursiainen/zeffiro_interface/releases/tag/5.08

5.1.1

April 2022

5.1.0

Regular update.

2.2.12

Topography plot.

2.2.11

Description

2.2.10

Description. Filter tool.

2.2.9

Butterfly plot.

2.2.8

Corrections.

2.2.7

Corrections and a template for a 1 mm project added.

2.2.6

Minor fix of the startup script.

2.2.5

Segmentation import example for ASC (FreeSurfer) and DAT files added, import utility corrected.

2.2.4

Description.

2.2.3

Description.

2.2.2

Folder import utility for ASCII segmentation (DAT and ASC).

2.2.1

Description.

2.2.0

More compartments, Time series generator for connectivity analysis

2.1.1

Parcellation tool.

2.1.0

18-compartments, options to merge and invert meshes, when importing.

2.0.6

Missing plugin file added.

2.0.5

Flash-free time-lapses for r2018b and above.

2.0.4

Plugin utility added.

2.0.3

Bugs fixed.

2.0.2

Window configuration

2.0.1

Bugs fixed

2.0

New main window configuration.

1.0.12

New menus

1.0.11

Description and 3D plots.

1.0.10

Bugs corrected.

1.0.9

Corrected plot mesh routine.

1.0.8

Description

1.0.7

EIT and multiresolution solvers

1.0.6

Description

1.0.5

Gradiometer solver for MEG + EIT solver

1.0.4

Complete Electrode Model

1.0.3

More inverse tools.

1.0.2

Inverse tools update.

1.0.1

New inverse tools added.

1.0.0

이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.
이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.