BRS

Several methods to estimate baroreflex sensitivity (BRS) have been defined, many of which are contained in this package. All methods require the following inputs:

  • RR: The RR Interval series in ms
  • SBP: The systolic blood pressure in mmHg

Several methods can be tweaked by using keywords, though the most common and recommended parameters are set as default.

Cardio.BRS.getBRSFunction
    getBRS(RR::Vector{<:Real}, SBP::Vector{<:Real})

Returns all BRS measures with default settings for individual methods. For more control use each method individually.

Methods

  • SME: Sequence Method
  • RMSSDR: RMSSD ratio
  • xBRS: Cross-correlation baroreflex sensitivity
  • TFBRS: Transfer Function based BRS (fft)
  • PRSABRS: Phase Rectified Signal Averaging
  • αLF: LF component of the AR based spectral decomposition
  • αHF: HF component of the AR based spectral decomposition
source

Sequence Method

Cardio.BRS.smeFunction
sme(RR::Vector{<:Real}, SBP::Vector{<:Real}; thresholdRR::Float64 = 4.0, thresholdSBP::Float64 = 1.0, seqLen::Int = 3, delay::Int = 1, minCor::Float64 = 0.8)

Calculate the Baroreflex Sensitivity (BRS) for a serious of RR intervals and respective systolic blood pressure using the Sequence Method (SME).

Keywords:

  • thresholdRR: Threshold for change in RR interval to qualify for a valid sequence (literature: 4ms)
  • thresholdSBP: Threshold for change in SBP to qualify for a valid sequence (literature: 1mmHg)
  • seqLen: Minimum length of a valid sequence (literature: 3)
  • delay: Delay between RR and SBP (literature: 1)
  • minCor: The minimal correlation between RR and SBP in a sequence to qualify as a valid sequence

Return:

Returns a SME struct for which a plotting recipe is provided, so that found sequences can be inspected by calling plot() when using Plots.jl

source
Cardio.BRS.SMEType

Struct that stores all information related to the sequence method. The main result is stored in 'value'. It can be plotted for visual inspection.

source
result = BRS.sme(input.RR, input.SBP)
plot(result, dpi = 120)

xBRS Method

Cardio.BRS.xbrsFunction
xbrs(RR::Vector{<:Real}, SBP::Vector{<:Real};...)

Calculate the xBRS index for the assesment of baroreflex sensitivity. Based on Westerhof, B. E. et al. (2004). Time-domain cross-correlation baroreflex sensitivity: performance on the EUROBAVAR data set. Journal of hypertension, 22(7), 1371-1380

Keyword Arguments

  • minCor: Minimal significant correlation, dafaults to 0.632 (p = 0.05, two-sided for 10 s window)
  • tExcerpt: Length of the sliding window in seconds, defaults to 10 s
  • delays: Which delays, shift of the RR window shall be considered, defaults to 0:5

Return

Returns an xBRS structure, that can be be plotted for visual inspection.

source
Cardio.BRS.xBRSType

Struct that stores all information regarting the xBRS etimation. The final result is stored in 'xBRSg'. It can be plotted for visual inspection.

source
result = BRS.xbrs(input.RR, input.SBP)
plot(result, dpi = 120)

RMSSD Ratio

Cardio.BRS.rmssdrFunction
rmssdr(RR::Vector{<:Real}, SBP::Vector{<:Real})

Returns the RMSSD ratio := RMSSD(RR) / RMSSD(SBP)

source

Transfer Function Method

Cardio.BRS.tfbrsFunction
tfbrs(RR::Vector{<:Real}, SBP::Vector{<:Real}; ...)

Transfer function based BRS measure as defined by Robbe et al.

Keyword Arguments

  • n: length of hamming window for spectral estimation, defaults to length(RR) ÷ 10
  • minCoh: minimal valid coherence, defaults to 0.5
  • LF: The frequency range defined as low frequency, defaults to (0.04, 0.15)
source
Cardio.BRS.tfBRSType

Struct that stores all information regarding the tfBRS estimation. The final result is stored in 'value'. It can be plotted for visual inspection.

source
result = BRS.tfbrs(input.RR, input.SBP, n = 100)
plot(result, dpi = 120)

Spectral AR-based Method

Cardio.BRS.arbrsFunction
arbrs(RR::Vector{<:Real}, SBP::Vector{<:Real}; p::Union{Int, UnitRange{Int}} = 12:18, nfreq::Int = 256, sf::Real = 1, LF::Tuple{<:Real, <:Real} = (0.04, 0.15), HF::Tuple{<:Real, <:Real} = (0.15, 0.4))

Calculate the BRS indices αLF, αHF using AR spectral decomposition.

Keywords

  • p: order of the AR process, if a UnitRange is given, the optimal order will be chosen through AIC, defaults to 12:18.
  • nfreq: resolution of the analysed spectra, defaults to 256
  • sf: sampling frequency in Hz, defaults to 1
  • LF: Tuple that defined the LF band, defaults to (0.04, 0.15)
  • HF: Tuple that defined the HF band, defaults to (0.15, 0.4)
  • verbose: print some information oder selection, defaults to false
source
Cardio.BRS.arBRSType

Struct that stores all information regarding the arBRS estimation. The final result is stored in αLF & αHF. It can be plotted for visual inspection.

source
result = BRS.arbrs(input.RR, input.SBP; sf = 1000 / mean(input.RR))
plot(result, dpi = 120)

Phase-Rectified Signal Averaging Method

Source: Bauer, A., Morley-Davies, A., Barthel, P., Müller, A., Ulm, K., Malik, M., & Schmidt, G. (2010). Bivariate phase-rectified signal averaging for assessment of spontaneous baroreflex sensitivity: pilot study of the technology. Journal of electrocardiology, 43(6), 649-653. DOI

Cardio.BRS.prsabrsFunction
prsabrs(RR::Vector{<:Real}, SBP::Vector{<:Real}; L::Int = 15)

Calculate a measure for BRS based on phase-rectified signal averaging as defined by Bauer et al. 2010.

Keywords

  • L: defines the segment length as 2L+1
source
Cardio.BRS.prsaBRSType

Struct that stores all information regarding the prsaBRS estimation. The final result is stored in value or valueNorm for a normalized value. It can be plotted for visual inspection.

source
result = BRS.prsabrs(input.RR, input.SBP)
plot(result, dpi = 120)