public static List<PointF> ABP_Rhythm (Patient _P, float _Amplitude) { VaryAmplitude_Random (0.1f, ref _Amplitude); return Plotting.Concatenate (new List<PointF> (), Plotting.Stretch (Dictionary.ABP_Default, _P.GetPulsatility_Seconds), _Amplitude); }
public static List<PointF> PCW_Rhythm (Patient _P, float _Amplitude) { DampenAmplitude_IntrathoracicPressure (_P, ref _Amplitude); DampenAmplitude_EctopicBeat (_P, ref _Amplitude); return Plotting.Concatenate (new List<PointF> (), Plotting.Stretch (Dictionary.PCW_Default, _P.GetHR_Seconds), _Amplitude); }
public static List<PointF> SPO2_Rhythm (Patient _P, float _Amplitude) { VaryAmplitude_Random (0.1f, ref _Amplitude); DampenAmplitude_EctopicBeat (_P, ref _Amplitude); DampenAmplitude_PulsusAlternans (_P, ref _Amplitude); DampenAmplitude_PulsusParadoxus (_P, ref _Amplitude); return Plotting.Concatenate (new List<PointF> (), Plotting.Stretch (Dictionary.SPO2_Rhythm, _P.GetHR_Seconds), _Amplitude); }
public static List<PointF> ICP_Rhythm (Patient _P, float _Amplitude) { DampenAmplitude_EctopicBeat (_P, ref _Amplitude); VaryAmplitude_Random (0.1f, ref _Amplitude); return Plotting.Concatenate (new List<PointF> (), Plotting.Stretch ( // Lerp to change waveform based on intracranial compliance due to ICP Dictionary.Lerp (Dictionary.ICP_HighCompliance, Dictionary.ICP_LowCompliance, Math.Clamp (Math.InverseLerp (15, 25, _P.ICP), 0, 1)), // ICP compliance coefficient _P.GetHR_Seconds), _Amplitude); }
public static List<PointF> IABP_ABP_Rhythm (Patient _P, float _Amplitude) { if (!_P.Cardiac_Rhythm.HasPulse_Ventricular) return Plotting.Concatenate (new List<PointF> (), Plotting.Stretch (Dictionary.IABP_ABP_Nonpulsatile, _P.GetHR_Seconds), _Amplitude); else if (_P.Cardiac_Rhythm.AberrantBeat) return Plotting.Concatenate (new List<PointF> (), Plotting.Stretch (Dictionary.IABP_ABP_Ectopic, _P.GetHR_Seconds), _Amplitude); else return Plotting.Concatenate (new List<PointF> (), Plotting.Stretch (Dictionary.IABP_ABP_Default, _P.GetHR_Seconds), _Amplitude); }
public static List<PointF> CVP_Rhythm (Patient _P, float _Amplitude) { VaryAmplitude_Random (0.1f, ref _Amplitude); DampenAmplitude_IntrathoracicPressure (_P, ref _Amplitude); DampenAmplitude_EctopicBeat (_P, ref _Amplitude); if (_P.Cardiac_Rhythm.HasPulse_Atrial && !_P.Cardiac_Rhythm.AberrantBeat) return Plotting.Concatenate (new List<PointF> (), Plotting.Stretch (Dictionary.CVP_Atrioventricular, _P.GetHR_Seconds), _Amplitude); else return Plotting.Concatenate (new List<PointF> (), Plotting.Stretch (Dictionary.CVP_Ventricular, _P.GetHR_Seconds), _Amplitude); }
public static List<PointF> ETCO2_Rhythm (Patient _P) { return Plotting.Concatenate (new List<PointF> (), Plotting.Stretch (Dictionary.ETCO2_Default, _P.GetRR_Seconds_E)); }
public static List<PointF> ECG_CPR_Artifact (Patient _P, Lead _L) { return Plotting.Concatenate (new List<PointF> (), Plotting.Multiply ( Plotting.Stretch (Dictionary.ECG_CPR_Artifact, _P.GetHR_Seconds), baseLeadCoeff [(int)_L.Value, (int)WavePart.QRST])); }
public static List<PointF> IABP_Balloon_Rhythm (Patient _P, float _Amplitude) { return Plotting.Concatenate (new List<PointF> (), Plotting.Stretch (Dictionary.IABP_Balloon_Default, _P.GetHR_Seconds * 0.6f), _Amplitude); }