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.
Recommended articles¶
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¶
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_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_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_dfa¶
compute_gazepoint_pyhrv_frequency_domain¶
compute_gazepoint_pyhrv_heart_rate¶
compute_gazepoint_pyhrv_hr_parameters¶
compute_gazepoint_pyhrv_lomb_psd¶
compute_gazepoint_pyhrv_nn20¶
compute_gazepoint_pyhrv_nn50¶
compute_gazepoint_pyhrv_nn_diff¶
compute_gazepoint_pyhrv_nni_differences_parameters¶
compute_gazepoint_pyhrv_nni_parameters¶
compute_gazepoint_pyhrv_nnxx¶
compute_gazepoint_pyhrv_nonlinear¶
compute_gazepoint_pyhrv_poincare¶
compute_gazepoint_pyhrv_psd_waterfall¶
compute_gazepoint_pyhrv_rmssd¶
compute_gazepoint_pyhrv_sample_entropy¶
compute_gazepoint_pyhrv_sdann¶
compute_gazepoint_pyhrv_sdnn¶
compute_gazepoint_pyhrv_sdnn_index¶
compute_gazepoint_pyhrv_sdsd¶
compute_gazepoint_pyhrv_time_domain¶
compute_gazepoint_pyhrv_tinn¶
compute_gazepoint_pyhrv_triangular_index¶
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_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_pyhrv_time_vector¶
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¶
enhance_gazepoint_ppg_peaks¶
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_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_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_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¶
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¶
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_peak_detection¶
plot_gazepoint_ppg_poincare¶
plot_gazepoint_ppg_segmentwise¶
plot_gazepoint_pyhrv_hr_heatplot¶
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¶
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¶
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¶
reject_gazepoint_ppg_peaks¶
remove_gazepoint_ppg_baseline_wander¶
respiration_from_ppg¶
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¶
segment_gazepoint_pyhrv_nni¶
smooth_gazepoint_ppg_signal¶
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)