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



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). In case of regular data, there is only a single 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
    Application settings (file selection on startup, advanced render settings, output deletion and debug logging)
  • User key
    Enter and save your user key here
  • Advanced render settings
    Additional options to alter the 3D rendering
  • LAT plot
    Display plot of nodes ordered by LAT value
  • Documentation
    Open this web page
  • About DGM
    General info about the software and licence
Left section

File selection and setting calculation parameters

Input data shows info on the selected input file

In Time settings you can set the cycle length of your data. -1 if your data is irregular

For irregular data, set the cycle length to -1!

3D view

Quick toggling of different preset renderings

For more render options, turn on the advanced settings under View > Advanced render settings in the top menu


Info and error log.

If debug logging is set (under Settings > Application in the main menu), additional info is shown.

3D rendering
Render settings

Change the size and opacity of specific elements.

Display elements

Show or hide specific elements by toggling the checkbox. Preset options are available in the 3D View box.

Top 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.

The 3 axis icons will snap the rendering to the preset orientation.

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



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