# -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
from .rsp_rrv import rsp_rrv
# =============================================================================
# Internals
# =============================================================================
def _rsp_intervalrelated_formatinput(data, output={}):
# Sanitize input
colnames = data.columns.values
if len([i for i in colnames if "RSP_Rate" in i]) == 0:
raise ValueError(
"NeuroKit error: rsp_intervalrelated(): Wrong"
"input, we couldn't extract breathing rate."
"Please make sure your DataFrame"
"contains an `RSP_Rate` column."
)
if len([i for i in colnames if "RSP_Amplitude" in i]) == 0:
raise ValueError(
"NeuroKit error: rsp_intervalrelated(): Wrong"
"input we couldn't extract respiratory amplitude."
"Please make sure your DataFrame"
"contains an `RSP_Amplitude` column."
)
rate = data["RSP_Rate"].values
amplitude = data["RSP_Amplitude"].values
output["RSP_Rate_Mean"] = np.mean(rate)
output["RSP_Amplitude_Mean"] = np.mean(amplitude)
return output
def _rsp_intervalrelated_rrv(data, sampling_rate, output={}):
rrv = rsp_rrv(data, sampling_rate=sampling_rate)
for column in rrv.columns:
output[column] = float(rrv[column])
return output