Skip to content

PPG / HR / IBI / HRV / respiration

Pulse processing, beat and interval cleaning, time/frequency/nonlinear HRV, respiration, and cardiac toolbox-compatible workflows.

110 functions from the frozen 406-function contract are routed here by the documentation classifier.

Functions

analyze_gazepoint_cardiorespiratory_causality

analyze_gazepoint_cardiorespiratory_causality(dat, respiration_col, cardiac_col, time_col=None, group_cols=None, lag_order=3, min_rows=30, standardise=True)

assess_gazepoint_hrp_waveform_quality

assess_gazepoint_hrp_waveform_quality(data, hrp_col=None, time_col=None, group_cols=None, sampling_rate=None, time_unit='auto', min_rows=20, min_finite_prop=0.8, max_flat_prop=0.95, flat_tolerance=1e-08, max_gap_multiplier=3)

audit_gazepoint_beats

audit_gazepoint_beats(data, ibi_col=None, beat_time_col=None, group_cols=None, min_ibi=300, max_ibi=2000, duplicate_tolerance=0, max_relative_change=None)

audit_gazepoint_hr_quality

audit_gazepoint_hr_quality(data, value_column='HR', validity_column='HRV', min_value=30, max_value=220, jump_threshold=25)

audit_gazepoint_ibi_quality

audit_gazepoint_ibi_quality(data, ibi_col=None, group_cols=None, time_col=None, unit='auto', min_ibi_ms=300, max_ibi_ms=2000, max_jump_ms=500)

baseline_correct_gazepoint_hr

baseline_correct_gazepoint_hr(data, baseline_rows, value_column='HR', validity_column='HRV', group_columns=None, output_column=None, summary='mean', exclude_zero=True)

calculate_gazepoint_rsa

calculate_gazepoint_rsa(dat: 'pd.DataFrame', ibi_col: 'str' = 'IBI', time_col: 'str' = 'CNT', group_cols: 'Iterable[str] | None' = None, pdr=None, resp_rate_hz: 'float | None' = None, respiration_band=(0.12, 0.4), resample_rate: 'float' = 4)

check_gazepoint_ppg_binary_quality

check_gazepoint_ppg_binary_quality(measures=None, peaks=None, min_peaks=5, bpm_range=(40, 180), max_missing_prop=0.25)

check_gazepoint_pyhrv_interval

check_gazepoint_pyhrv_interval(nni_ms, min_ms=250, max_ms=2500)

compare_gazepoint_hr_ibi_consistency

compare_gazepoint_hr_ibi_consistency(data, hr_col='HR', ibi_col='IBI', time_col=None, group_cols=None, unit='auto', max_abs_diff_bpm=10, max_rel_diff_prop=0.15)

compare_gazepoint_pyhrv_psd_methods

compare_gazepoint_pyhrv_psd_methods(nni_ms, time_s=None, methods=('welch', 'lomb', 'ar'), plot=False)

compute_gazepoint_hrv_wavelet_psd

compute_gazepoint_hrv_wavelet_psd(rr_intervals, time=None, bands=None, max_scale=None)

compute_gazepoint_ppg_frequency_measures

compute_gazepoint_ppg_frequency_measures(peaks=None, rr_ms=None, rr_time_s=None, group_col='group', method='welch', resample_hz=4, bands=None, welch_window_seconds=64, welch_overlap=0.5)

compute_gazepoint_ppg_measures

compute_gazepoint_ppg_measures(peaks, group_col='group')

compute_gazepoint_ppg_template_similarity

compute_gazepoint_ppg_template_similarity(data, time_col=None, ppg_col=None, peaks=None, window_s=(-0.25, 0.45), sampling_rate_hz=None, n_grid=101, similarity_threshold=0.8)

compute_gazepoint_pyhrv_ar_psd

compute_gazepoint_pyhrv_ar_psd(nni_ms, time_s=None, resample_hz=4, order=None)

compute_gazepoint_pyhrv_dfa

compute_gazepoint_pyhrv_dfa(nni_ms, scales=None)

compute_gazepoint_pyhrv_frequency_domain

compute_gazepoint_pyhrv_frequency_domain(nni_ms, time_s=None, method='welch')

compute_gazepoint_pyhrv_heart_rate

compute_gazepoint_pyhrv_heart_rate(nni_ms)

compute_gazepoint_pyhrv_hr_parameters

compute_gazepoint_pyhrv_hr_parameters(nni_ms)

compute_gazepoint_pyhrv_lomb_psd

compute_gazepoint_pyhrv_lomb_psd(nni_ms, time_s=None, min_hz=0.003, max_hz=0.4, n_freq=512)

compute_gazepoint_pyhrv_nn20

compute_gazepoint_pyhrv_nn20(nni_ms)

compute_gazepoint_pyhrv_nn50

compute_gazepoint_pyhrv_nn50(nni_ms)

compute_gazepoint_pyhrv_nn_diff

compute_gazepoint_pyhrv_nn_diff(nni_ms, absolute=False)

compute_gazepoint_pyhrv_nni_differences_parameters

compute_gazepoint_pyhrv_nni_differences_parameters(nni_ms)

compute_gazepoint_pyhrv_nni_parameters

compute_gazepoint_pyhrv_nni_parameters(nni_ms)

compute_gazepoint_pyhrv_nnxx

compute_gazepoint_pyhrv_nnxx(nni_ms, threshold_ms=50)

compute_gazepoint_pyhrv_nonlinear

compute_gazepoint_pyhrv_nonlinear(nni_ms)

compute_gazepoint_pyhrv_poincare

compute_gazepoint_pyhrv_poincare(nni_ms, plot=False)

compute_gazepoint_pyhrv_psd_waterfall

compute_gazepoint_pyhrv_psd_waterfall(nni_ms, segment_seconds=300, method='welch', plot=False)

compute_gazepoint_pyhrv_rmssd

compute_gazepoint_pyhrv_rmssd(nni_ms)

compute_gazepoint_pyhrv_sample_entropy

compute_gazepoint_pyhrv_sample_entropy(nni_ms, m=2, r=None)

compute_gazepoint_pyhrv_sdann

compute_gazepoint_pyhrv_sdann(nni_ms, segment_seconds=300)

compute_gazepoint_pyhrv_sdnn

compute_gazepoint_pyhrv_sdnn(nni_ms)

compute_gazepoint_pyhrv_sdnn_index

compute_gazepoint_pyhrv_sdnn_index(nni_ms, segment_seconds=300)

compute_gazepoint_pyhrv_sdsd

compute_gazepoint_pyhrv_sdsd(nni_ms)

compute_gazepoint_pyhrv_time_domain

compute_gazepoint_pyhrv_time_domain(nni_ms, segment_seconds=300)

compute_gazepoint_pyhrv_tinn

compute_gazepoint_pyhrv_tinn(nni_ms, bin_width_ms=7.8125)

compute_gazepoint_pyhrv_triangular_index

compute_gazepoint_pyhrv_triangular_index(nni_ms, bin_width_ms=7.8125)

compute_gazepoint_pyhrv_welch_psd

compute_gazepoint_pyhrv_welch_psd(nni_ms, time_s=None, resample_hz=4, window_seconds=256, overlap=0.5)

correct_gazepoint_beats

correct_gazepoint_beats(audit, action='mask', corrected_col='ibi_corrected', local_window=5, overwrite=False, **kwargs)

correct_gazepoint_ppg_hampel

correct_gazepoint_ppg_hampel(x, sampling_rate_hz, window_seconds=1, n_sigmas=3)

correct_gazepoint_rri_artifacts_local

correct_gazepoint_rri_artifacts_local(rri_ms, method='local_median', window_intervals=5, threshold=0.2, replacement='local_median')

create_gazepoint_heartpy_report

create_gazepoint_heartpy_report(detection, output_dir=None, prefix='gazepoint_heartpy')

create_gazepoint_pyhrv_time_vector

create_gazepoint_pyhrv_time_vector(nni_ms, start_s=0)

create_gazepoint_reproducibility_statement

create_gazepoint_reproducibility_statement(decision_log=None, package_version='2.0.0', repository_url=None, validation=None, data_statement=None, include_guardrails=True)

denoise_gazepoint_ppg_autoencoder

denoise_gazepoint_ppg_autoencoder(dat, ppg_col='HRP', time_col=None, group_cols=None, model=None, window_samples=128, output_col=None, overwrite=False)

detect_gazepoint_ppg_onsets

detect_gazepoint_ppg_onsets(data, signal_col=None, time_col=None, peaks=None, group_cols=None, sampling_rate_hz=None, search_seconds=0.6)

detect_gazepoint_ppg_peaks

detect_gazepoint_ppg_peaks(data, signal_col=None, time_col=None, group_cols=None, sampling_rate_hz=None, bpm_min=40, bpm_max=180, moving_average_seconds=0.75, threshold_offsets=None, reconstruct_clipping=True, enhance_peaks=False, lowpass_hz=None, hampel=False, high_precision=True)

detrend_gazepoint_rri_window

detrend_gazepoint_rri_window(rri_ms, time_s=None, window_seconds=60, method='median')

enhance_gazepoint_ppg_peaks

enhance_gazepoint_ppg_peaks(x, sampling_rate_hz, iterations=2)

estimate_gazepoint_breathing_rate_from_ibi

estimate_gazepoint_breathing_rate_from_ibi(rr_ms, rr_time_s=None, resample_hz=4, breathing_band=(0.1, 0.5))

estimate_gazepoint_respiration_from_ppg

estimate_gazepoint_respiration_from_ppg(data, ppg_col=None, time_col=None, sampling_rate_hz=None, respiratory_band_hz=(0.1, 0.5), detrend=True)

export_gazepoint_heartpy_input

export_gazepoint_heartpy_input(data, signal_col=None, time_col=None, group_cols=None, sampling_rate_hz=None, output_dir=None, prefix='gazepoint_heartpy')

export_gazepoint_pyhrv_results

export_gazepoint_pyhrv_results(results, path)

export_gazepoint_rhrv_input

export_gazepoint_rhrv_input(data, ibi_col='IBI_clean_ms', group_cols=None, unit='auto', collapse_repeated_intervals=True, repeated_tolerance_ms=1e-08, min_ibi_ms=300, max_ibi_ms=2000, output_dir=None, prefix='gazepoint_rhrv')

extract_gazepoint_beats_kmeans

extract_gazepoint_beats_kmeans(dat, pulse_col='HRP', time_col='CNT', group_cols=None, k=2, peak_polarity='positive', min_distance_s=0.3, sampling_rate=None, seed=None)

extract_gazepoint_hrv_asymmetry

extract_gazepoint_hrv_asymmetry(dat: 'pd.DataFrame', ibi_col: 'str' = 'IBI', group_cols: 'Iterable[str] | None' = None, zero_tolerance: 'float' = 0)

extract_gazepoint_hrv_features

extract_gazepoint_hrv_features(data, ibi_col='IBI_clean_ms', group_cols=None, unit='auto', min_intervals=3, min_duration_s=30, diff_threshold_ms=50, collapse_repeated_intervals=True, repeated_tolerance_ms=1e-08)

extract_gazepoint_hrv_fragmentation

extract_gazepoint_hrv_fragmentation(dat: 'pd.DataFrame', ibi_col: 'str' = 'IBI', group_cols: 'Iterable[str] | None' = None, zero_tolerance: 'float' = 0, short_segment_length: 'int' = 3)

extract_gazepoint_hrv_fuzzy_csi

extract_gazepoint_hrv_fuzzy_csi(dat, ibi_col='IBI', group_cols=None, m=2, r_multiplier=0.2, fuzzy_power=2, min_intervals=10)

extract_gazepoint_hrv_geometric

extract_gazepoint_hrv_geometric(dat: 'pd.DataFrame', ibi_col: 'str' = 'IBI', group_cols: 'Iterable[str] | None' = None, bin_width: 'float | None' = None)

extract_gazepoint_hrv_nonlinear

extract_gazepoint_hrv_nonlinear(dat: 'pd.DataFrame', ibi_col: 'str' = 'IBI', group_cols: 'Iterable[str] | None' = None, min_intervals: 'int' = 10, sampen_m: 'int' = 2, sampen_r_multiplier: 'float' = 0.2, mse_scales: 'Iterable[int]' = range(1, 6))

extract_gazepoint_hrv_rcmse

extract_gazepoint_hrv_rcmse(dat, ibi_col='IBI', group_cols=None, scales=range(1, 11), m=2, r_multiplier=0.2, min_intervals=20)

extract_gazepoint_hrv_rqa

extract_gazepoint_hrv_rqa(dat: 'pd.DataFrame', ibi_col: 'str' = 'IBI', group_cols: 'Iterable[str] | None' = None, embedding_dimension: 'int' = 2, delay: 'int' = 1, radius: 'float | None' = None, radius_multiplier: 'float' = 0.2, min_line_length: 'int' = 2)

extract_gazepoint_pdr_signals

extract_gazepoint_pdr_signals(dat: 'pd.DataFrame', ppg_col: 'str' = 'HRP', time_col: 'str' = 'CNT', group_cols: 'Iterable[str] | None' = None, sampling_rate: 'float | None' = None, min_peak_distance_s: 'float' = 0.3, smooth_window: 'int' = 5, respiration_band=(0.1, 0.6), pdr_resample_rate: 'float' = 4)

extract_gazepoint_ppg_morphology

extract_gazepoint_ppg_morphology(data, time_col=None, ppg_col=None, peaks=None, min_peak_distance_s=0.3)

extract_gazepoint_ppg_templates

extract_gazepoint_ppg_templates(data, signal_col=None, time_col=None, peaks=None, group_cols=None, sampling_rate_hz=None, before_seconds=0.3, after_seconds=0.6)

extract_gazepoint_pyhrv_nn_intervals

extract_gazepoint_pyhrv_nn_intervals(peaks, peak_time_col='peak_time_s', time_unit='seconds')

extract_gazepoint_respiration_ceemdan

extract_gazepoint_respiration_ceemdan(dat, signal_col, time_col='CNT', group_cols=None, sampling_rate=None, respiration_band=(0.1, 0.6), scales=(5, 15, 30, 60, 120), external_fun=None)

filter_gazepoint_ibi_implausible

filter_gazepoint_ibi_implausible(data, ibi_col='IBI', time_col=None, group_cols=None, validity_col=None, unit='auto', min_ibi_ms=300, max_ibi_ms=2000, max_change_ms=400, max_change_prop=0.3, output_col='IBI_clean_ms')

filter_gazepoint_ppg_butterworth

filter_gazepoint_ppg_butterworth(x, cutoff_hz=5, sampling_rate_hz=None, passes=1)

filter_gazepoint_ppg_signal

filter_gazepoint_ppg_signal(x, sampling_rate_hz, type='lowpass', low_hz=None, high_hz=None, passes=1)

flag_gazepoint_hrv_segments

flag_gazepoint_hrv_segments(data, rr_col=None, time_col=None, group_cols=None, window_s=60, min_beats=20, min_duration_s=20, min_rr_ms=300, max_rr_ms=2000, max_artifact_prop=0.2, max_successive_change_prop=0.2)

flag_gazepoint_ppg_quality

flag_gazepoint_ppg_quality(data, time_col=None, ppg_col=None, window_s=10, step_s=None, missing_prop_threshold=0.2, flat_sd_threshold=1e-06, outlier_prop_threshold=0.1)

flip_gazepoint_ppg_signal

flip_gazepoint_ppg_signal(x, method='negative')

fuse_gazepoint_respiration_kalman

fuse_gazepoint_respiration_kalman(dat, primary_col, secondary_col, time_col=None, group_cols=None, process_var=0.01, primary_var=0.05, secondary_var=0.05, output_col='respiration_kalman_fused')

import_gazepoint_pyhrv_results

import_gazepoint_pyhrv_results(path)

model_gazepoint_hr_point_process

model_gazepoint_hr_point_process(dat, ibi_col='IBI', time_col=None, beat_time_col=None, group_cols=None, ibi_units='auto')

model_gazepoint_hrv_ipfm

model_gazepoint_hrv_ipfm(dat, ibi_col='IBI', beat_time_col=None, group_cols=None, ibi_units='auto', output_sampling_rate=4, max_frequency=0.5)

plot_gazepoint_ppg_breathing

plot_gazepoint_ppg_breathing(rr_ms, rr_time_s=None, resample_hz=4, breathing_band=(0.1, 0.5))

plot_gazepoint_ppg_peak_detection

plot_gazepoint_ppg_peak_detection(detection, group=None, accepted_only=False)

plot_gazepoint_ppg_poincare

plot_gazepoint_ppg_poincare(peaks=None, rr_ms=None, group_col='group')

plot_gazepoint_ppg_segmentwise

plot_gazepoint_ppg_segmentwise(segmentwise, measure='bpm')

plot_gazepoint_pyhrv_hr_heatplot

plot_gazepoint_pyhrv_hr_heatplot(nni_ms, time_bins=20, hr_bins=20)

plot_gazepoint_pyhrv_radar_chart

plot_gazepoint_pyhrv_radar_chart(measures, columns=('sdnn', 'rmssd', 'sdsd', 'pnn50', 'lf_norm', 'hf_norm', 'sd1', 'sd2'))

plot_gazepoint_pyhrv_tachogram

plot_gazepoint_pyhrv_tachogram(nni_ms, time_s=None)

prepare_gazepoint_heartpy_input

prepare_gazepoint_heartpy_input(data, signal_col=None, time_col=None, group_cols=None, sampling_rate_hz=None, output_dir=None, prefix='gazepoint_heartpy')

prepare_gazepoint_pyhrv_input

prepare_gazepoint_pyhrv_input(data, ibi_col=None, group_cols=None, unit='auto', filter='none', min_nni_ms=300, max_nni_ms=2000, collapse_repeated_intervals=False, repeated_tolerance_ms=1e-08, output_dir=None, prefix='gazepoint_pyhrv', write_manifest=True, overwrite=False)

prepare_gazepoint_pyppg_input

prepare_gazepoint_pyppg_input(data, ppg_col=None, time_col=None, group_cols=None, sampling_rate=None, time_unit='auto', min_finite_prop=0.5, output_dir=None, prefix='gazepoint_pyppg')

prepare_gazepoint_rhrv_input

prepare_gazepoint_rhrv_input(*args, **kwargs)

process_gazepoint_ppg_heartpy_style

process_gazepoint_ppg_heartpy_style(data, signal_col=None, time_col=None, group_cols=None, sampling_rate_hz=None, clean_rr=True, clean_rr_method='quotient', frequency_method='welch', output_dir=None, **kwargs)

process_gazepoint_ppg_segmentwise

process_gazepoint_ppg_segmentwise(data, signal_col=None, time_col=None, group_cols=None, sampling_rate_hz=None, window_seconds=60, overlap=0.5, min_segment_seconds=10, clean_rr=True, clean_rr_method='quotient', frequency_method='welch', **kwargs)

reconstruct_gazepoint_ppg_clipping

reconstruct_gazepoint_ppg_clipping(x, near_max_prop=0.02, flat_diff_prop=0.001, min_run=2)

reject_gazepoint_ppg_peaks

reject_gazepoint_ppg_peaks(peaks, group_col='group', rr_tolerance=0.3, min_rr_ms=300)

remove_gazepoint_ppg_baseline_wander

remove_gazepoint_ppg_baseline_wander(x, sampling_rate_hz, method='median', window_seconds=2)

respiration_from_ppg

respiration_from_ppg(data, **kwargs)

run_gazepoint_biosppy_ppg

run_gazepoint_biosppy_ppg(data, signal_col=None, time_col=None, group_cols=None, sampling_rate_hz=None)

run_gazepoint_heartpy_crosscheck

run_gazepoint_heartpy_crosscheck(data, signal_col=None, time_col=None, group_cols=None, sampling_rate_hz=None, **kwargs)

run_gazepoint_pyhrv_style

run_gazepoint_pyhrv_style(nni_ms=None, peaks=None, peak_time_col='peak_time_s', time_unit='seconds', frequency_method='welch')

scale_gazepoint_ppg_sections

scale_gazepoint_ppg_sections(data, signal_col=None, section_cols=None, method='zscore', output_col='ppg_scaled', range=(0, 1))

scale_gazepoint_ppg_signal

scale_gazepoint_ppg_signal(x, method='zscore', range=(0, 1))

segment_gazepoint_pyhrv_nni

segment_gazepoint_pyhrv_nni(nni_ms, segment_seconds=300, overlap=0, min_intervals=3)

smooth_gazepoint_ppg_signal

smooth_gazepoint_ppg_signal(x, sampling_rate_hz, method='mean', window_seconds=0.1)

summarise_gazepoint_hr_windows

summarise_gazepoint_hr_windows(data, group_columns=None, value_column='HR', validity_column='HRV', exclude_zero=True)

summarise_gazepoint_hrv_features

summarise_gazepoint_hrv_features(data, ibi_col=None, group_cols=None, time_col=None, ibi_unit='auto', min_ibi_ms=300, max_ibi_ms=2000, min_valid_ibi=3)

summarise_gazepoint_ibi_hrv_windows

summarise_gazepoint_ibi_hrv_windows(data, group_columns, ibi_column='IBI', validity_column='HRV', min_ibi=0.3, max_ibi=2.0)

summarise_gazepoint_ibi_windows

summarise_gazepoint_ibi_windows(data, ibi_col=None, group_cols=None, time_col=None, unit='auto', min_ibi_ms=300, max_ibi_ms=2000, max_jump_ms=500, exclude_large_jumps=True, min_valid_ibi=2)

summarize_gazepoint_beat_corrections

summarize_gazepoint_beat_corrections(correction, by=None)

test_gazepoint_hrv_nonlinearity

test_gazepoint_hrv_nonlinearity(dat, ibi_col='IBI', group_cols=None, metric='sample_entropy', n_surrogates=99, surrogate_method='phase_randomized', m=2, r_multiplier=0.2, statistic_fun=None, seed=None)