Skip to main content

Package to compute features of traces from action potential models

Project description

image CI pre-commit.ci status github pages Build and upload to PyPI Coverage

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-2024.0.0.tar.gz (447.5 kB view details)

Uploaded Source

Built Distribution

ap_features-2024.0.0-py3-none-any.whl (49.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ap_features-2024.0.0.tar.gz
  • Upload date:
  • Size: 447.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ap_features-2024.0.0.tar.gz
Algorithm Hash digest
SHA256 99349e203d4523af274e2733e7031f49f59c046861b3aa9eb9b069dd3e2e9b28
MD5 8c5527c7776ca31f8c82d47a75e21896
BLAKE2b-256 4b75997de58a49645410a21e7ed387863855e5094451c9f7757b63609fec4a82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ap_features-2024.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3ba2f106e0e40f9b2fe8b7e4298eb64ea9f6762c6ba241016826d5ba20489dfe
MD5 6057e5fbf07bfaa49b6d802f16a0d190
BLAKE2b-256 dbc7723f548a9bdf84a03987bcc8d6b38d349d2575780f1622da9fd68486ae23

See more details on using hashes here.

Supported by

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