def test_rsp_rrv(): rsp90 = nk.rsp_simulate(duration=60, sampling_rate=1000, respiratory_rate=90, random_state=42) rsp110 = nk.rsp_simulate(duration=60, sampling_rate=1000, respiratory_rate=110, random_state=42) cleaned90 = nk.rsp_clean(rsp90, sampling_rate=1000) _, peaks90 = nk.rsp_peaks(cleaned90) rsp_rate90 = nk.rsp_rate(peaks90, desired_length=len(rsp90)) cleaned110 = nk.rsp_clean(rsp110, sampling_rate=1000) _, peaks110 = nk.rsp_peaks(cleaned110) rsp_rate110 = nk.rsp_rate(peaks110, desired_length=len(rsp110)) rsp90_rrv = nk.rsp_rrv(rsp_rate90, peaks90) rsp110_rrv = nk.rsp_rrv(rsp_rate110, peaks110) assert np.array(rsp90_rrv["RRV_SDBB"]) < np.array(rsp110_rrv["RRV_SDBB"]) assert np.array(rsp90_rrv["RRV_RMSSD"]) < np.array(rsp110_rrv["RRV_RMSSD"]) assert np.array(rsp90_rrv["RRV_SDSD"]) < np.array(rsp110_rrv["RRV_SDSD"]) # assert np.array(rsp90_rrv["RRV_pNN50"]) == np.array(rsp110_rrv["RRV_pNN50"]) == np.array(rsp110_rrv["RRV_pNN20"]) == np.array(rsp90_rrv["RRV_pNN20"]) == 0 # assert np.array(rsp90_rrv["RRV_TINN"]) < np.array(rsp110_rrv["RRV_TINN"]) # assert np.array(rsp90_rrv["RRV_HTI"]) > np.array(rsp110_rrv["RRV_HTI"]) assert np.array(rsp90_rrv["RRV_HF"]) < np.array(rsp110_rrv["RRV_HF"]) assert np.array(rsp90_rrv["RRV_LF"]) < np.array(rsp110_rrv["RRV_LF"])
def test_rsp_rrv(): rsp90 = nk.rsp_simulate(duration=60, sampling_rate=1000, respiratory_rate=90, random_state=42) rsp110 = nk.rsp_simulate(duration=60, sampling_rate=1000, respiratory_rate=110, random_state=42) cleaned90 = nk.rsp_clean(rsp90, sampling_rate=1000) _, peaks90 = nk.rsp_peaks(cleaned90) rsp_rate90 = nk.signal_rate(peaks90, desired_length=len(rsp90)) cleaned110 = nk.rsp_clean(rsp110, sampling_rate=1000) _, peaks110 = nk.rsp_peaks(cleaned110) rsp_rate110 = nk.signal_rate(peaks110, desired_length=len(rsp110)) rsp90_rrv = nk.rsp_rrv(rsp_rate90, peaks90) rsp110_rrv = nk.rsp_rrv(rsp_rate110, peaks110) assert np.array(rsp90_rrv["RRV_SDBB"]) < np.array(rsp110_rrv["RRV_SDBB"]) assert np.array(rsp90_rrv["RRV_RMSSD"]) < np.array(rsp110_rrv["RRV_RMSSD"]) assert np.array(rsp90_rrv["RRV_SDSD"]) < np.array(rsp110_rrv["RRV_SDSD"]) # assert np.array(rsp90_rrv["RRV_pNN50"]) == np.array(rsp110_rrv["RRV_pNN50"]) == np.array(rsp110_rrv["RRV_pNN20"]) == np.array(rsp90_rrv["RRV_pNN20"]) == 0 # assert np.array(rsp90_rrv["RRV_TINN"]) < np.array(rsp110_rrv["RRV_TINN"]) # assert np.array(rsp90_rrv["RRV_HTI"]) > np.array(rsp110_rrv["RRV_HTI"]) assert np.array(rsp90_rrv["RRV_HF"]) < np.array(rsp110_rrv["RRV_HF"]) assert np.isnan(rsp90_rrv["RRV_LF"][0]) assert np.isnan(rsp110_rrv["RRV_LF"][0]) # Test warning on too short duration with pytest.warns(nk.misc.NeuroKitWarning, match=r"The duration of recording is too short.*"): short_rsp90 = nk.rsp_simulate(duration=10, sampling_rate=1000, respiratory_rate=90, random_state=42) short_cleaned90 = nk.rsp_clean(short_rsp90, sampling_rate=1000) _, short_peaks90 = nk.rsp_peaks(short_cleaned90) short_rsp_rate90 = nk.signal_rate(short_peaks90, desired_length=len(short_rsp90)) nk.rsp_rrv(short_rsp_rate90, short_peaks90)