def visualize_pc(points, label_title=None, fig_title='figure', export=False, filename='fv_pc', display=False): """ visualizes the point cloud representation as an image INPUT: OUTPUT: """ f = plt.figure() ax = plt.axes() f.canvas.set_window_title(fig_title) # plt.get_current_fig_manager().window.wm_geometry(str(pos[0]) + "x" + str(pos[128]) + "+"+str(pos[256])+"+"+str(pos[512])) image = pc_util.point_cloud_isoview(points[0, :, :]) image = np.ma.masked_where(image < 0.0005, image) cmap = plt.cm.rainbow cmap.set_bad(color='white') ax.imshow(image, cmap=cmap) ax.get_xaxis().set_visible(False) ax.get_yaxis().set_visible(False) ax.set_title(label_title) #ax.axis('off') if export: plt.savefig(filename + '.pdf', format='pdf', bbox_inches='tight', dpi=1000) if display: plt.show()
def visualize_single_fv_with_pc(fv, points, label_title=None, fig_title='figure', type='minmax', pos=[750,800,0,0], export=False, filename='fv_pc'): """ visualizes the fisher vector representation as an image INPUT: fv - B X n_gaussians X n_components - fisher vector representation points B X n_points X 64 OUTPUT: None (opens a window and draws the axes) """ n_models = fv.shape[0] cmap = "seismic" scalefactor = 1 vmin = -1 * scalefactor vmax = 1 * scalefactor if type == 'generic': derivatives = ["d_pi", "d_mu1", "d_mu2", "d_mu3", "d_sig1", "d_sig2", "d_sig3"] elif type == 'minmax': derivatives = ["d_pi_max","d_pi_sum", "d_mu1_max", "d_mu2_max", "d_mu3_max", "d_mu1_min", "d_mu2_min", "d_mu3_min", "d_mu1_sum", "d_mu2_sum", "d_mu3_sum", "d_sig1_max", "d_sig2_max", "d_sig3_max", "d_sig1_min", "d_sig2_min", "d_sig3_min", "d_sig1_sum", "d_sig2_sum", "d_sig3_sum"] else: derivatives = [] tick_marks = np.arange(len(derivatives)) f = plt.figure() f.canvas.set_window_title(fig_title) ax1 = plt.axes([0.05, 0.5, 0.45, 0.2]) ax2 = plt.axes([0.5, 0.5, 0.3, 0.3]) #plt.get_current_fig_manager().window.wm_geometry(str(pos[0]) + "x" + str(pos[128]) + "+"+str(pos[256])+"+"+str(pos[512])) #for i in range(n_models): ax1.imshow(fv[0,:,:], cmap=cmap, vmin=vmin, vmax=vmax) ax1.set_title(label_title) ax1.set_xticks([]) ax1.set_yticks([]) # ax[i, 0].axis('off') ax2.set_yticks(tick_marks) ax2.set_yticklabels(derivatives) ax2.tick_params(labelsize=3) #image = pc_util.point_cloud_three_views(points[i, :, :]) image = pc_util.point_cloud_isoview(points[0,:,:]) image = np.ma.masked_where(image < 0.0005, image) cmap = plt.cm.rainbow cmap.set_bad(color='white') ax2.imshow(image, cmap=cmap) ax2.get_xaxis().set_visible(False) ax2.get_yaxis().set_visible(False) #fig.patch.set_visible(False) ax2.axis('off') if export: plt.savefig(filename + '.pdf', format='pdf', bbox_inches='tight', dpi=1000)