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:
objectA 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:
‘realistic’ see [Struys2004]
‘realistic2’ see [Ionescu2021]
‘liver_transplantation’
‘simple’, see [Dumont2009]
‘step’: a simple step function on BIS signal
‘VitalDb’ See Disturbance Modelling and Identification
None: No disturbance
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.