pyCEPS
pyCEPS provides an interface to import, visualize and translate clinical mapping data (EAM data). Supported mapping systems are: CARTO®3 (Biosense Webster) and EnSite Precision™ (Abbot).
How To Cite
If you use this software, please consider citing:
@article{Arnold_pyCEPS_A_cross-platform_2024, author = {Arnold, Robert and Prassl, Anton J. and Neic, Aurel and Thaler, Franz and Augustin, Christoph M. and Gsell, Matthias A.F. and Gillette, Karli and Manninger, Martin and Scherr, Daniel and Plank, Gernot}, doi = {10.1016/j.cmpb.2024.108299}, journal = {Computer Methods and Programs in Biomedicine}, title = {{pyCEPS: A cross-platform electroanatomic mapping data to computational model conversion platform for the calibration of digital twin models of cardiac electrophysiology}}, volume = {254}, year = {2024} }
@software{arnold_2024_10606341, author = {Arnold, Robert and Prassl, Anton J and Plank, Gernot}, title = {{pyCEPS: A cross-platform Electroanatomic Mapping Data to Computational Model Conversion Platform for the Calibration of Digital Twin Models of Cardiac Electrophysiology}}, month = feb, year = 2024, publisher = {Zenodo}, doi = {10.5281/zenodo.10606340}, url = {https://doi.org/10.5281/zenodo.10606340} }
To cite a specific software version, visit Zenodo
Installation
Python 3.8 or higher is required. Just use pip to install:
python3 -m pip install pyceps
This will install all necessary dependencies and add a CLI entry point. To test the installation run
pyceps --help
Standard Workflow
Typically, a user wants to import and translate complete EAM data sets, save a reduced version of the data set to disk, and visualize the data.
pyceps --system "carto" --study-repository "path_to_repository" --convert --visualize --save-study
pyceps --system "precision" --study-repository "path_to_repository" --convert --visualize --save-study
--system specifies the EAM system used for data acquisition.
--study-repository points to a (valid) data location, e.g. a ZIP archive
(preferred), or a folder.
--convert automatically loads the data set in its entirety and exports all
data to openCARP compatible formats.
--visualize opens a local HTML site and interactively shows the EAM data.
--save-study saves the (reduced) EAM data set to disk as .pyceps file, which
can be used later (much faster than re-importing the EAM data).
To open and work with a previously generated .pyceps file use
pyceps --study-file "path_to_file" --visualize ...
pyceps --study-file "path_to_file" --visualize ...
Quick preview of studies
EAM data sets can be quickly visualized to preview anatomical shells, recording point locations, and ablation lesions:
pyceps --system "carto" --study-repository "path_to_repository" --quick
Note: Any other input/output arguments will be ignored!
Saving a reduced version of EAM data
Upon import of EAM data, a data representation is built which can be saved to disk for later usage. This data object does not contain the entirety of data available in the EAM data set (e.g. not all ECG and EGM data is read) but can therefore be loaded very quickly. To save the data representation in .pyceps format to disk use
--save-study
The file is automatically saved in the folder above the repository path (if EAM data resides in a folder), or in the same folder if data is imported from ZIP archives. Optionally, a different location can be given.
By default, any ECG data associated with recording points is not saved in the output file. If you wish to save ECG data as well for later usage and/or visualization you can add the option
--keep-ecg
Note: files will grow drastically in size if many recording points are present
Visualizing the data
Once a data set was imported/loaded it can be visualized using a local HTML site to evaluate the quality of the data set:
--visualize
Note: This will lock the console!
Advanced Import/Export
To control which data, i.e. mapping procedures, are imported from an EAM data set and which data are exported, the commands described below can be chained together. It is also possible to add data to an existing .pyceps file at a later point, if the study repository (original data) is still accessible. See usage of --change-root for details on how to change data location if needed.
Specifying the EAM system
--system [carto, precision]
This is used only when importing data from an EAM data repository.
Specifying the data location
--study-repository "path_to_repository"
--study-file "path_to_file"
Using these commands will gather basic information from the data set, (i.e. name of the study, performed mapping procedures, etc.) and display this information on the command line.
Specifying what to import
To import single mapping procedures the name of the mapping procedure can be specified. Optional all can be used to import all mapping procedures (same as using --convert).
pyceps.py ... --import-map "map_name"
pyceps.py ... --import-map "all"
All information related to the mapping procedure is loaded, i.e. anatomical shell, mapping points, ablation lesions, etc.
Specifying what to export
It is possible to export specific items from the data set. This works only for single mapping procedures, therefore a mapping procedure to work with has to be specified first using
--map "map_name"
All following commands are then applied to this mapping procedure only.
--dump-mesh
--dump-point-data
--dump-point-egms
--dump-point-ecgs
--dump-map-ecgs
--dump-surface-maps
--dump-lesions
Note: If --convert is used, this is obsolete since data is exported for all mapping procedures.
Note: Using --dump-point-ecgs needs access to EAM data repository to load ECG data!
See below how to set a valid path if necessary
Changing the location of original EAM data
When opening EAM data from previously generated .pyceps files, the original EAM data set might not be accessible or the path might have changed (e.g. when using mounted devices). Information if the path stored in the .pyceps file is still valid is displayed upon loading of a .pyceps file. To change the path to an EAM data repository use
--change-root "path_to_repository"
This will check if the new path is valid and set it accordingly.
For Experts
The data contained in exported data sets differs for different mapping systems. Exporting data via the CLI accesses only data common to every mapping system. To access the entirety of imported data, Python scripts have to be used.
from pyceps import CartoStudy
study = CartoStudy("path_to_repository",
pwd='password',
encoding='encoding')
study.import_study()
# import all available maps
study.import_maps(study.mapNames)
...
License
This software is made available under the terms of the GNU General Public License v3.0 (GPLv3+).
Whom Do I Talk To?
If you need help or you want to contribute please contact us!
Metadata
Release files for pyCEPS 1.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyceps-1.1.3.tar.gz | 173.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyceps-1.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 367.4 kB
Release files / pyceps-1.1.3.tar.gz
| Download URL | pyceps-1.1.3.tar.gz |
|---|---|
| Size | 173.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
529389cd0e5477028cc8811f4fa7c2c9c844a0bac2a3d645d0009172bd3273e8
|
|
BLAKE2b-256 checksum How to use checksums |
71f188696c392c59d0d18988626ffb826c33813a9d6f6d07de3cfd62430cbca9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 25, 2025.
Transparency logRelease files / pyceps-1.1.3-py3-none-any.whl
| Download URL | pyceps-1.1.3-py3-none-any.whl |
|---|---|
| Size | 193.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3ee76b04a9551681887bae0ba2c02ed527761cb585a9f911a46429769fd0760c
|
|
BLAKE2b-256 checksum How to use checksums |
29ad9caaa71016d073191749fa477191f5972e043e8f6a572bdbd900950dc590
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 25, 2025.
Transparency log