Source code for biobss.edatools.eda_peaks

from typing import Tuple

import neurokit2 as nk
import pandas as pd
from numpy.typing import ArrayLike


[docs]def eda_detectpeaks(phasic_signal: ArrayLike, sampling_rate: float) -> Tuple: """Detects peaks from phasic component of EDA signal. Args: phasic_signal (ArrayLike): Phasic EDA signal. sampling_rate (float): Sampling rate of the EDA signal (Hz). Raises: ValueError: If sampling rate is not greater than 0. Returns: Tuple: Peak array, info """ if sampling_rate <= 0: raise ValueError("Sampling rate must be greater than 0.") if not isinstance(phasic_signal, pd.Series): phasic_signal = pd.Series(phasic_signal) # This function is a placeholder peak detection peak_signal, info = nk.eda_peaks( phasic_signal.values, sampling_rate=sampling_rate, method="neurokit", amplitude_min=0.1, ) return peak_signal, info