コード例 #1
0
def plotObjectives(vars_set, interval, objectives):
    ax = fun_lib.getAxes(vars_set)

    ax.plot(vars_set['time'], vars_set['brachial_pressure']/133.32, label='Brachial pressure mmHg')
    # ax.plot(vars_set['time'], vars_set['SV']*1e6, label='Stroke volume ml')    
    ax.plot(vars_set['time'], vars_set['CO']/lpm2SI, label='CO')   
    ax.plot(vars_set['time'], vars_set['HR']/bpm2SI, label='HR')    

    pack = (objectives, vars_set['time'], ax, interval)
    fun_lib.plotObjectiveTarget(pack, 'BPs', 1/133.32)
    fun_lib.plotObjectiveTarget(pack, 'BPd', 1/133.32)
    fun_lib.plotObjectiveTarget(pack, 'CO', 1/lpm2SI)
    fun_lib.plotObjectiveTarget(pack, 'HR', 1/bpm2SI)

    total_costs = fun_lib.countTotalWeightedCost(objectives)
    ax.set_title('Tilt costs %.6f' % total_costs)
    ax.set_ylim([0, 140])
コード例 #2
0
def plotObjectives(vars_set, interval, objectives):
    if '__plot_axes' in vars_set:
        ax = vars_set['__plot_axes']
    else:
        fig = plt.figure()
        ax = fig.subplots()

    ax.plot(vars_set['time'],
            vars_set['brachial_pressure'] / 133.32,
            label='Brachial pressure mmHg')
    ax.plot(vars_set['time'], vars_set['CO'] * 1000 * 60, label='CO l/min')

    # bounds
    pack = (objectives, vars_set['time'], ax, interval)
    fun_lib.plotObjectiveTarget(pack, 'BPs', 1 / 133.32)
    fun_lib.plotObjectiveTarget(pack, 'BPd', 1 / 133.32)
    fun_lib.plotObjectiveTarget(pack, 'CO', 1000 * 60, fmt='r')

    total_costs = fun_lib.countTotalWeightedCost(objectives)
    ax.set_title('Baseline costs %.6f' % total_costs)
コード例 #3
0
ファイル: cost_function.py プロジェクト: beards-lab/Valsalva
def plotObjectives(vars_set, interval, objectives):

    ax = fun_lib.getAxes(vars_set)

    ax.plot(vars_set['time'],
            vars_set['brachial_pressure'] / 133.32,
            label='Brachial pressure mmHg')
    # ax.plot(vars_set['time'], vars_set['V_LV']*1000*1000, label='V_LV ml')
    ax.plot(vars_set['time'], vars_set['CO'] / lpm2SI, label='CO')

    # ax.plot(vars_set['time'], vars_set['TEjection'], label='TEjection')
    # ax.plot(vars_set['time'], vars_set['TFilling'], label='TFilling')

    pack = (objectives, vars_set['time'], ax, interval)
    fun_lib.plotObjectiveTarget(pack, 'BPs', 1 / 133.32)
    # fun_lib.plotObjectiveTarget(pack, 'EDV', 1e6)
    fun_lib.plotObjectiveTarget(pack, 'ESV', 1e6)
    fun_lib.plotObjectiveTarget(pack, 'Ts', 1, verticalalignment='top')
    fun_lib.plotObjectiveTarget(pack, 'Td', 1)
    fun_lib.plotObjectiveTarget(pack, 'Ppa', 1 / 133.32)
    fun_lib.plotObjectiveTarget(pack, 'Ppa_s', 1 / 133.32)
    fun_lib.plotObjectiveTarget(pack, 'Ppa_d', 1 / 133.32)
    fun_lib.plotObjectiveTarget(pack, 'Ppv', 1 / 133.32)
    fun_lib.plotObjectiveLimit(pack, 'CO', 1 / lpm2SI, 'lower')

    total_costs = fun_lib.countTotalWeightedCost(objectives)
    ax.set_title('Exercise costs %.6f' % total_costs)
    ax.set_ylim([0, 165])
コード例 #4
0
def plotObjectives(vars_set, interval, objectives):
    if '__plot_axes' in vars_set:
        ax = vars_set['__plot_axes']
    else:
        fig = plt.figure()
        ax = fig.subplots()

    ax.plot(vars_set['time'],
            vars_set['brachial_pressure'] / 133.32,
            label='Brachial pressure mmHg')
    ax.plot(vars_set['time'], vars_set['CO'] * 1000 * 60, label='CO l/min')
    ax.plot(vars_set['time'],
            vars_set['renal_capillary'] / 133.32,
            label='Capillary pressure')
    # ax.plot([vars_set['time'][interval[0]], vars_set['time'][interval[-1]]], [fun_lib.getObjectiveByName(objectives, 'EF').value*100]*2, label='EF')
    ax.plot([vars_set['time'][interval[0]], vars_set['time'][interval[-1]]],
            [fun_lib.getObjectiveByName(objectives, 'PWV').value * 1] * 2,
            label='PWV')

    # bounds
    pack = (objectives, vars_set['time'], ax, interval)
    fun_lib.plotObjectiveTarget(pack, 'BPs', 1 / 133.32)
    fun_lib.plotObjectiveTarget(pack, 'BPd', 1 / 133.32)
    # fun_lib.plotObjectiveTarget(pack,'CO', 1000*60)
    fun_lib.plotObjectiveTarget(pack, 'BPk', 1 / 133.32)
    # fun_lib.plotObjectiveTarget(pack,'EF', 100)
    fun_lib.plotObjectiveTarget(pack, 'HR', 60, verticalalignment='top')
    # fun_lib.plotObjectiveTarget(pack,'Ppa', 1/133.32)
    fun_lib.plotObjectiveTarget(pack, 'Ppas', 1 / 133.32)
    fun_lib.plotObjectiveTarget(pack, 'Ppad', 1 / 133.32)
    fun_lib.plotObjectiveTarget(pack, 'Ppv', 1 / 133.32)
    fun_lib.plotObjectiveLimit(pack,
                               'PWV',
                               1,
                               'lower',
                               verticalalignment='top')

    total_costs = fun_lib.countTotalWeightedCost(objectives)
    ax.set_title('Baseline costs %.6f' % total_costs)
    ax.set_ylim([0, 140])