Disturbances

class Disturbances(dist_profil: str = None, start_step: float = 600, end_step: float = 1200, start_intub_time: float = 180, start_surgery_time: float = 2400)

Bases: object

A class to compte time dependent disturbance signal to mimic exogenous action impacting the signals measured on the patient.

Parameters:
dist_profilstr, optional

disturbance profile, can be:

The default is None.

start_stepfloat, optional

For step profile, start time of the step disturbance (seconds). The default is 600s.

end_stepfloat, optional

For step profile, end time of the step disturbance (seconds). The default is 1200s.

start_intub_timefloat, optional

For VitalDb profile, start time of the intubation disturbance (seconds). The default is 180s.

start_surgery_timefloat, optional

For VitalDb profile, start time of the surgery disturbance (seconds). The default is 40 minutes

Returns:
none

References

[Struys2004]

M. M. R. F. Struys, T. De Smet, S. Greenwald, A. R. Absalom, S. Bingé, and E. P. Mortier, “Performance Evaluation of Two Published Closed-loop Control Systems Using Bispectral Index Monitoring: A Simulation Study,” Anesthesiology, vol. 100, no. 3, pp. 640–647, Mar. 2004, doi: 10.1097/00000542-200403000-00026.

[Ionescu2021]

Ionescu, Clara M., et al. “An open source patient simulator for design and evaluation of computer based multiple drug dosing control for anesthetic and hemodynamic variables.” IEEE Access 9 (2021): 8680-8694. doi: 10.1109/ACCESS.2021.3049880

[Dumont2009]

G. A. Dumont, A. Martinez, and J. M. Ansermino, “Robust control of depth of anesthesia,” International Journal of Adaptive Control and Signal Processing, vol. 23, no. 5, pp. 435–454, 2009, doi: 10.1002/acs.1087.

compute_dist(time: float)

Interpolate the disturbance profile for the given time.

Parameters:
timefloat or np.ndarray

Time in seconds, can also be a vector.

Returns:
list

dist_bis, dist_map, dist_co, dist_tpr, dist_sv, dist_hr: respectively the additive disturbance to add to the BIS, MAP, CO, TPR, SV, and HR signals.

disturbance_dynamic()

Compute the disturbance from the VitalDB profile.

plot_dist()

Plot the selected profile.