version: 1.1.0
This repository host a mixture of function dealing with processing
electrocardiogram (ECG) data, and preparing these data for analysis.
The processing functions are intended for user defined parametrisation
(using user supplied configuration files cnf) about the data which
should be extracted, covering signal data such as waveforms or
median beats, as well as metadata relevant for downstream QC or as
tabular information.
The module implements a basic application programming interface, mapping ECG data from distinct file types (e.g. XML or DICOM) to class attributes providing a fixed interface for downstream analysis and interrogation.
The documentation for ECGProcess can be found here.
The package is available on PyPI, and conda, with the latest source code available on gitlab.
To install the package from PyPI, run:
pip install ecgprocessThis installs the latest stable release along with its dependencies.
A Conda package is maintained in my personal Conda channel. To install from this channel, run:
conda install afschmidt::ecgprocessIf you require the latest updates, potentially not yet formally released, you can install the package directly from GitLab.
First, clone the repository and move into its root directory:
git clone git@gitlab.com:SchmidtAF/ecgprocess.git
cd ecgprocessInstall the dependencies:
# From the root of the repository
conda env create --file ./resources/conda/envs/conda_create.yamlTo add to an existing environment use:
# From the root of the repository
conda env update --file ./resources/conda/envs/conda_update.yamlNext the package can be installed:
make installFor development work, install the package in editable mode with Git commit hooks configured:
make install-devThis command installs the package in editable mode and configures Git commit
hooks, allowing you to run git pull to update the repository or switch
branches without reinstalling.
Alternatively, you can install manually:
python -m pip install -e .
python .setup_git_hooks.pyWhen setting up a development environment, the setup-hooks command
configures Git hooks to enforce conventional commit message formatting and
spell check using codespell.
To view the commit message format requirements, run:
./.githooks/commit-msg -helpFor frequent use, add this function to your shell configuration (~/.bashrc
or ~/.zshrc):
commit-format-help() {
local git_root
git_root=$(git rev-parse --show-toplevel 2>/dev/null)
if [ -z "$git_root" ]; then
echo "Error: Not inside a git repository"
return 1
fi
local hook_path="$git_root/.githooks/commit-msg"
if [ ! -f "$hook_path" ]; then
echo "Error: commit-msg hook not found"
return 1
fi
"$hook_path" --help
}After installation you might wish to try the pytest to confirm
everything is in working order.
# From the root of the repository
pytest testsPlease have a look at the examples in resources for some possible recipes.
