Skip to main content

Package to compute features of traces from action potential models

Project description

image CI pre-commit.ci status Publish documentation Build and upload to PyPI Coverage DOI

Action Potential features

ap_features is package for computing features of action potential traces. This includes chopping, background correction and feature calculations.

Parts of this library is written in numba and is therefore highly performant. This is useful if you want to do feature calculations on a large number of traces.

Quick start

import matplotlib.pyplot as plt
import numpy as np
from scipy.integrate import solve_ivp

import ap_features as apf

time = np.linspace(0, 999, 1000)
res = solve_ivp(
    apf.testing.fitzhugh_nagumo,
    [0, 1000],
    [0.0, 0.0],
    t_eval=time,
)
trace = apf.Beats(y=res.y[0, :], t=time)
print(f"Number of beats: {trace.num_beats}")
print(f"Beat rates: {trace.beat_rates}")

# Get a list of beats
beats = trace.beats
# Pick out the second beat
beat = beats[1]

# Compute features
print(f"APD30: {beat.apd(30):.3f}s, APD80: {beat.apd(80):.3f}s")
print(f"cAPD30: {beat.capd(30):.3f}s, cAPD80: {beat.capd(80):.3f}s")
print(f"Time to peak: {beat.ttp():.3f}s")
print(f"Decay time from max to 90%: {beat.tau(a=0.1):.3f}s")
Number of beats: 5
Beat rates: [779.2207792207793, 769.2307692307693, 779.2207792207793, 759.493670886076]
APD30: 37.823s, APD80: 56.564s
cAPD30: 88.525s, cAPD80: 132.387s
Time to peak: 21.000s
Decay time from max to 90%: 53.618s

Install

Install the package with pip

python -m pip install ap_features

See installation instructions for more options.

Available features

The list of currently implemented features are as follows

  • Action potential duration (APD)
  • Corrected action potential duration (cAPD)
  • Decay time (Time for the signal amplitude to go from maximum to (1 - a) * 100 % of maximum)
  • Time to peak (ttp)
  • Upstroke time (time from (1-a)*100 % signal amplitude to peak)
  • Beating frequency
  • APD up (The duration between first intersections of two APD lines)
  • Maximum relative upstroke velocity
  • Maximum upstroke velocity
  • APD integral (integral of the signals above the APD line)

Documentation

Documentation is hosted at GitHub pages: https://computationalphysiology.github.io/ap_features/

Note that the documentation is written using jupyterbook and contains an interactive demo

License

  • Free software: LGPLv2.1

Source Code

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ap_features-2026.2.0.tar.gz (449.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ap_features-2026.2.0-py3-none-any.whl (51.3 kB view details)

Uploaded Python 3

File details

Details for the file ap_features-2026.2.0.tar.gz.

File metadata

  • Download URL: ap_features-2026.2.0.tar.gz
  • Upload date:
  • Size: 449.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ap_features-2026.2.0.tar.gz
Algorithm Hash digest
SHA256 fbd6ebebf531f85b26002b6308f5d44796ad729f6cefccb817c6b7722e0a46db
MD5 5253b27b77904be2295a17ff23bf055a
BLAKE2b-256 111a6f38c56ed857c2f6e9a66afd9f1f11b9dafba487a1aa3cb06072b7d5ba8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ap_features-2026.2.0.tar.gz:

Publisher: pypi.yml on ComputationalPhysiology/ap_features

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ap_features-2026.2.0-py3-none-any.whl.

File metadata

  • Download URL: ap_features-2026.2.0-py3-none-any.whl
  • Upload date:
  • Size: 51.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ap_features-2026.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce8e74992cf526daa6843b6317c6a567ea158994e598d7ccdfc27490f99b85a4
MD5 95a104581b219aad3b729b52faf4df61
BLAKE2b-256 bcd119fa10a7c5fd9265c6287456f2544cbd8268a3c5a764863b1dc857f9c166

See more details on using hashes here.

Provenance

The following attestation bundles were made for ap_features-2026.2.0-py3-none-any.whl:

Publisher: pypi.yml on ComputationalPhysiology/ap_features

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page