See code in GitLab.
Author: Martin Bishop martin.bishop@kcl.ac.uk
To run the experiments of this example change directories as follows:
cd ${EXAMPLES}/05_pre_post_processing/06_igbfilament The most lethal cardiac arrhythmias are driven by reentrant wavefronts that often have an organising centre. In two dimensions, this centre is commonly described as the tip of a rotating spiral wave. In three dimensions, it becomes a filament: the centre-line around which a scroll wave rotates.
A line of wave break marks where surfaces of activation and recovery intersect. In two dimensions, the corresponding point of wave break is defined by intersecting lines of activation and recovery.
Several algorithms for detecting filaments are reviewed by Clayton et al. 1 . They locate the intersection of activation and recovery directly, or first transform activation into phase. The term phase singularity reflects that the point is surrounded by tissue spanning all phase values, so the point itself has no defined phase.
igbfilament explicitly finds the intersection of activation and recovery.
The activation isosurface is defined by the membrane-potential threshold
\(V_{\mathrm{thresh}}\). This is often chosen near sodium-channel
activation, approximately -40 mV, but the best value depends on the cell model
and signal amplitude. Recovery is represented by the intersection of voltage
isosurfaces separated by a time-embedding lag, which approximates
\(dV_m/dt = 0\).
The tool was called GlFilament in the original CARPentry example. It is now
named igbfilament and is part of the IGB utilities.
Phase-singularity detection works on two-dimensional triangular meshes and three-dimensional tetrahedral meshes. Two parameters control the detector:
--iso-thresholdMembrane-potential threshold in mV used to represent activation. The example default is -20 mV.
--iso-intvTime-embedding lag in ms used to represent recovery. The example default is 8 ms.
The underlying igbfilament options are named --threshold and --dt.
igbfilament writes a time-dependent auxiliary mesh named phase_sing to
the example's output directory:
phase_sing.pts_tDetected phase-singularity points or filament-segment endpoints.
phase_sing.elem_tConnections between endpoints for three-dimensional filament segments.
phase_sing.dat_tThe source mesh element index associated with each detected point.
The auxiliary mesh has the same number of time frames as the input IGB file and can be displayed alongside the voltage data in meshalyzer.
The example uses precomputed voltage data because generating sustained reentry would require a much larger simulation. To inspect the available options, run:
./run.py --helpDetect phase singularities with:
./run.py --iso-threshold -20 --iso-intv 8 --visualizeThe detected phase singularity should remain close to the centre of the spiral wave. Repeat the experiment with different threshold and interval values to see how both parameters affect the result.
Clayton, R.H., Zhuchkova, E.A. and Panfilov, A.V., Phase singularities and filaments: Simplifying complexity in computational models of ventricular fibrillation, Progress in Biophysics and Molecular Biology 90:378-398, 2006. [PubMed]↩︎
Clayton, R.H., Zhuchkova, E.A. and Panfilov, A.V., Phase singularities and filaments: Simplifying complexity in computational models of ventricular fibrillation, Progress in Biophysics and Molecular Biology 90:378-398, 2006. [PubMed]↩︎
There are tagged with igbfilament, filaments, phase-singularities, reentry, post-processing.
Here we display the 5 most recent questions. You can click on each tag to show all questions for this tag.
You can also ask a new question.
© Copyright 2020 openCARP project Supported by DFG and EuroHPC Contact Imprint and data protection