Esempio n. 1
0
def preparePlot(shapeModeler):
    global sliders, mainPlot, fig
    fig, ax = plt.subplots();
    whiteSpace = 0.15 + numParams*0.05;
    plt.subplots_adjust( bottom=whiteSpace);
    plt.axis('equal');
    
    #plot of initial shape
    params = np.zeros((numParams,1));
    shape = shapeModeler.makeShape(params);
    shape = ShapeModeler.normaliseShape(shape);
    numPointsInShape = len(shape)/2;
    x_shape = shape[0:numPointsInShape];
    y_shape = shape[numPointsInShape:];

    mainPlot, = plt.plot(x_shape, -y_shape);
    plt.axis([-1, 1, -1, 1],autoscale_on=False, aspect='equal');

    #add sliders to modify parameter values
    parameterVariances = shapeModeler.getParameterVariances();
    sliders = [0]*numParams;
    for i in range(numParams):
        slider = Slider(plt.axes([0.25, 0.1+0.05*(numParams-i-1), 0.65, 0.03], axisbg=axcolor),
             'Parameter '+str(i+1), -5*parameterVariances[i], 5*parameterVariances[i], valinit=0);
        slider.on_changed(update);
        sliders[i] = slider;
    
    resetax = plt.axes([0.8, 0.025, 0.1, 0.04])
    button = Button(resetax, 'Reset', color=axcolor, hovercolor='0.975')
    button.on_clicked(reset)
    plt.show()
def param_gui(letter_name, shapeModeler):
    global sliders, mainPlot, fig, pca_params
    fig, ax = plt.subplots()
    whiteSpace = 0.15 + num_params*0.05
    plt.subplots_adjust( bottom=whiteSpace)
    plt.axis('equal')
    
    #plot of initial shape
    params = np.zeros((num_params,1))
    shape = shapeModeler.makeShape(params)
    shape = ShapeModeler.normaliseShape(shape)
    numPointsInShape = len(shape)/2
    x_shape = shape[0:numPointsInShape]
    y_shape = shape[numPointsInShape:]

    mainPlot, = plt.plot(x_shape, -y_shape)
    plt.axis([-1, 1, -1, 1],autoscale_on=False, aspect='equal')
    plt.title(letter_name)

    #add sliders to modify parameter values
    parameterVariances = shapeModeler.getParameterVariances()
    sliders = [0]*num_params
    for i in range(num_params):
        slider = Slider(plt.axes([0.25, 0.1+0.05*(num_params-i-1), 0.65, 0.03], axisbg=axcolor),
             'Parameter '+str(i+1), -5*parameterVariances[i], 5*parameterVariances[i], valinit=0)
        slider.on_changed(partial(update, shapeModeler))
        sliders[i] = slider
    
    resetax = plt.axes([0.8, 0.025, 0.1, 0.04])
    button = Button(resetax, 'Reset', color=axcolor, hovercolor='0.975')
    button.on_clicked(reset)
    plt.show()

    return pca_params
Esempio n. 3
0
def update(val):
    global sliders , mainPlot, fig
    params = np.zeros((numParams,1));
    for i in range(numParams):
        params[i] = sliders[i].val;
    shape = shapeModeler.makeShape(params);
    shape = ShapeModeler.normaliseShape(shape);
    numPointsInShape = len(shape)/2;
    x_shape = shape[0:numPointsInShape];
    y_shape = shape[numPointsInShape:];
    mainPlot.set_data(x_shape, -y_shape);
    fig.canvas.draw_idle();
Esempio n. 4
0
def update(val):
    global sliders, mainPlot, fig
    params = np.zeros((numParams, 1))
    for i in range(numParams):
        params[i] = sliders[i].val
    shape = shapeModeler.makeShape(params)
    shape = ShapeModeler.normaliseShape(shape)
    numPointsInShape = len(shape) / 2
    x_shape = shape[0:numPointsInShape]
    y_shape = shape[numPointsInShape:]
    mainPlot.set_data(x_shape, -y_shape)
    fig.canvas.draw_idle()
def update(shapeModeler, val):
    global sliders , mainPlot, fig, pca_params
    pca_params = np.zeros((num_params, 1))

    for i in range(num_params):
        pca_params[i] = sliders[i].val
    
    shape = shapeModeler.makeShape(pca_params)
    shape = ShapeModeler.normaliseShape(shape)
    numPointsInShape = len(shape)/2
    x_shape = shape[0:numPointsInShape]
    y_shape = shape[numPointsInShape:]
    mainPlot.set_data(x_shape, -y_shape)
    fig.canvas.draw_idle()
Esempio n. 6
0
def preparePlot(shapeModeler):
    global sliders, mainPlot, fig
    fig, ax = plt.subplots()
    whiteSpace = 0.15 + numParams * 0.05
    plt.subplots_adjust(bottom=whiteSpace)
    plt.axis('equal')

    #plot of initial shape
    params = np.zeros((numParams, 1))
    shape = shapeModeler.makeShape(params)
    shape = ShapeModeler.normaliseShape(shape)
    numPointsInShape = len(shape) / 2
    x_shape = shape[0:numPointsInShape]
    y_shape = shape[numPointsInShape:]

    mainPlot, = plt.plot(x_shape, -y_shape)
    plt.axis([-1, 1, -1, 1], autoscale_on=False, aspect='equal')

    #add sliders to modify parameter values
    parameterVariances = shapeModeler.getParameterVariances()
    sliders = [0] * numParams
    for i in range(numParams):
        slider = Slider(plt.axes(
            [0.25, 0.1 + 0.05 * (numParams - i - 1), 0.65, 0.03],
            axisbg=axcolor),
                        'Parameter ' + str(i + 1),
                        -5 * parameterVariances[i],
                        5 * parameterVariances[i],
                        valinit=0)
        slider.on_changed(update)
        sliders[i] = slider

    resetax = plt.axes([0.8, 0.025, 0.1, 0.04])
    button = Button(resetax, 'Reset', color=axcolor, hovercolor='0.975')
    button.on_clicked(reset)
    plt.show()