For a more indepth look into the workings of DGM, please read our software paper.


Application use


Supported mapping systems

For several known mapping systems, we provide a preprocessor to convert the default file to our LAT format. Currently DGM is tested to work with the systems and versions below

Mapping systemVersionFile extension
CARTOV7.1.80.33_car.txt and .mesh
RHYTHMIASW 3 (Lumipoint), SW 4 (Autotag) and later.mat

Please check the examples page on how to export CARTO and RHYTHMIA to your computer.

Input files

The default input for DGM is an LAT_p{n}.txt file, with n the amount of nodes. Currently, we provide automatic preprocessing of CARTO and RHYTHMIA files into the correct DGM file. Please check the above examples.

Each line consists of the node index, followed by its coordinates and a list of local activation times (LAT).

index : x y z [LATs]

0 : 7.02 -30.454 43.253 117.030048 467.266549 794.072015 1110.443573 1426.511669 1742.023554
1 : -19.809 -28.381 76.222 196.978161 553.421788 873.160412 1189.729673 1505.395787 1821.126171
2 : 14.553 -37.11 80.147 268.712687 617.652994 943.853217 1261.895495 1576.255179 1892.253029

If you want to visualize additional nodes, for example ablation or ppi in a simulation, you can load a custom .txt file using the icon in the top bar. Then you can simply toggle the nodes of your file with the custom checkbox.

Each line should consist of x, y, z coordinates followed by a color.

Supported colors are red, orange, yellow, green, blue, purple, pink, white, grey, black




In all output files, nodes represents the amount of nodes, time represents the time of rendering. For periodic data, a single file of each type is generated with time = 0. For non-periodic data, a file of each type is generated for each step in the time interval.

result_loops_t{time}.csvResulting loops
result_focal_t{time}.csvResulting focal sources
front_t{time}_p{nodes}.csvThe complete wavefront
loopband_t{time}_p{nodes}.csvThe wave region around the detected loops
mesh_t0_p0.csvUnaltered mesh

File format


x, y, z, amount, core variance, intervariability, range, length, direction, [key, phase pair for each node in the loop]

Each row of this files provides detailed information about the different reentry cycles which are visualized in the GUI. The first 3 columns correspond with the location of core of the reentry loop. Amount is a measure for the number of different cycles which are detected by DGM and belong to the same reentry loop. Variance is a measure for the uniformity of the reentry. Intervariability is the absolute value of the maximal deviation of the LATs from the straight line used to calculate the variance. Length is the accumulative length of the reentry by taking the sum of the euclidean distances between the nodes. Next follows a series of indices and their corresponding LAT which belong to the chosen cycle. Each electrode or node has a unique index.

x, y, z, amount, core variance, intervariability, range, length, direction, [key, phase pair for each node in the loop]

Each row determines represents an arrow which contributes to the visualization of the focal beats. For easy implementation, we copied the same format as the loops. However, only index0 and index1 are used as each row represents a directed arrow from index0 to index1.

color, scalar, x, y, z, x_dirs, y_dirs, z_dirs

Each row in this file represents a single arrow of our wavefront. The wavefront is a collective of arrows which gives a visual representation of the electrical flow. Color represents a time associated to the arrow which is a value larger than the time t upon the directed network is created. Scalar is the normalized size of the arrow and should always be one. x, y and z is the 3D spatial location of the starting point of the arrow whilst x_dir, y_dir and z_dir is the normalized direction of the wave arrow. Drawing all these arrows creates a wavefront generated by DGM.

color, scalar, x, y, z, x_dirs, y_dirs, z_dirs

Each row in this file represents an arrow in the loopband in the same format as the previously described wavefront. The loopband creates an easy-to-interpret visualization of a region around the detected loops.

x, y, z

This file represents the mesh which was used for the visualization, which can be used in other visualization tools (e.g. Paraview). It contains the spatial coordinates of the mesh nodes. The top line is also included in the mesh file.

Application use


File > Settings

    Application startup settings

  • File selection
    Open dialog for input file selection on startup
  • Advanced layout
    Open application in advanced layout (versus basic layout)
  • Delete output
    Delete DGM generated input and output on file selection and closing of the application
  • Debug logging
    Set if you want to see debug output on top of the default info messages


  • Advanced layout
    Toggle advanced/basic layout


  • Documentation
    Link to this webpage
  • About
    General application info such as version number. You can also find the software licence here


There are two main layouts which the user can toggle between from the main menu. The basic layout tries to keep things as simple as possible by providing several preset rendering templates to quickly show a specific result. Calculations will be done using the current set of parameters. In the advanced layout, users can alter parameters and have large control over what the visualization should look like.


Preset visualization schemes to quickly show different results

loopsDGM loops in spectrum color scheme
focalDGM focal sources
loopbandBand showing the region of the wave around the found loops
wavefrontThe entire wavefront
ablationAblation point (if file is present) together with loopband


The following parameters can be set to further optimize your result

Minimal arrow countMinimum required amount of arrows in a loop
VarianceMaximal allowed variance
IntervariabilityMaximum allowed intervariability
Distance (mm)Maximum allowed distance between neighbours
Focal thresholdThreshold for dividing cycle length into bins for detection of focal sources
CV min (mm/ms)Minimum allowed conduction velocity
CV max (mm/ms)Maximum allowed conduction velocity
Merge jumpMaximum difference (ms) for merging graphs
Core separatorThreshold (mm) to distinguish different loops by comparing the centre of each loop


Main rendering

NodesSet nodesize for different groups of nodes
MeshSet mesh opacity and color scheme
ArrowsSet size and color scheme of loopband and wavefront arrows
SourceSet variance threshold for loops
VisualizationSelect which elements to show in the rendering

Icon bar

The first two icons in this bar - photo and video camera - allow you to take a screenshot or movie of the current rendering. When creating a video, the rendering will loop over the set time interval. You can save your video as either .ogg or .mp4.

The next icon of coloured nodes allows you to upload a custom node file as described under input.

Finally the time interval slider allows you to manually loop through the different time steps.