Transforms & Segmentation

power_spectrum()

Compute the power spectral density of an ECG lead

fft()

Compute the single-sided FFT magnitude spectrum

segment_beats()

Segment individual heartbeats around R-peaks

average_beat()

Compute the ensemble-averaged heartbeat (template)

ecgdatakit.processing.power_spectrum(lead, method='welch', nperseg=None, *, fs=None)[source]

Compute the power spectral density of an ECG lead.

Parameters:
  • lead (Lead | ndarray[tuple[Any, ...], dtype[double]]) – Input ECG lead or raw signal array.

  • method (str) – "welch" (default) for Welch’s method.

  • nperseg (int | None) – Segment length for Welch’s method. Defaults to min(256, len(samples)).

  • fs (int | None) – Sample rate in Hz. Required when lead is a numpy array.

Returns:

(frequencies, power) arrays.

Return type:

tuple[ndarray[tuple[Any, ...], dtype[double]], ndarray[tuple[Any, ...], dtype[double]]]

ecgdatakit.processing.fft(lead, *, fs=None)[source]

Compute the single-sided FFT magnitude spectrum.

Parameters:
Returns:

(frequencies, magnitudes) arrays (positive frequencies only).

Return type:

tuple[ndarray[tuple[Any, ...], dtype[double]], ndarray[tuple[Any, ...], dtype[double]]]

ecgdatakit.processing.segment_beats(lead, peaks=None, before=0.2, after=0.4, *, fs=None)[source]

Segment individual heartbeats around R-peaks.

Parameters:
  • lead (Lead | ndarray[tuple[Any, ...], dtype[double]]) – Input ECG lead or raw signal array.

  • peaks (ndarray[tuple[Any, ...], dtype[int_]] | None) – R-peak indices. Detected automatically if None.

  • before (float) – Seconds before R-peak to include (default 0.2).

  • after (float) – Seconds after R-peak to include (default 0.4).

  • fs (int | None) – Sample rate in Hz. Required when lead is a numpy array.

Returns:

One Lead per beat, labelled "{label}_beat_{i}".

Return type:

list[Lead]

ecgdatakit.processing.average_beat(lead, peaks=None, before=0.2, after=0.4, *, fs=None)[source]

Compute the ensemble-averaged heartbeat (template).

Parameters:
Returns:

Averaged beat labelled "{label}_avg".

Return type:

Lead