Skip to content

spo2

Spo2

get_SpO2(rgb_signal, A=1.0, B=0.02)

Returns an estimated SpO2 value.

Parameters

array

Red LED signal data.

array

Infrared LED signal data.

int, optional

A constant, by default 1.

float, optional

B constant, by default 0.02.

Returns

float An estimated SpO2 value.

Source code in redesign_pipeline/vital_calculations/spo2.py
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def get_SpO2(rgb_signal, A=1.0, B=0.02):
    '''
    Returns an estimated SpO2 value.

    Parameters
    ----------
    r_signal : array
        Red LED signal data.
    b_signal : array
        Infrared LED signal data.
    A : int, optional
        A constant, by default 1.
    B : float, optional
        B constant, by default 0.02.

    Returns
    -------
    float
        An estimated SpO2 value.
    '''
    r_signal = rgb_signal[:,0]
    b_signal = rgb_signal[:,2]

    ac_r = np.std(r_signal, axis=1)
    dc_r = np.mean(r_signal, axis=1)
    ac_b = np.std(b_signal, axis=1)
    dc_b = np.mean(b_signal, axis=1)
    spo2 = A - B * ( (ac_r/dc_r) / (ac_b/dc_b) )

    return spo2