def onrelease(self, event): modifiers = QApplication.keyboardModifiers() self.modifying_modes = False if modifiers == QtCore.Qt.ShiftModifier: self.modifying_modes = True print('button:', event.button, 'old color gmm:', self.genren.color_gmm) if event.button == 3: color = QColorDialog().getColor() self.genren.color_gmm[self.pt_selected, 1:] = np.array( [color.redF(), color.greenF(), color.blueF()]) print(self.genren.color_gmm.shape) if self.modifying_modes and event.button == 1: color = QColorDialog().getColor() new_color = [ self.cm_to_cv(event.xdata), color.redF(), color.greenF(), color.blueF() ] cl = self.genren.color_gmm.tolist() cl.append(new_color) cl.sort(key=lambda x: x[0]) self.genren.color_gmm = np.array(cl) print('new color gmm:', self.genren.color_gmm) self.genren.update_gmm_transfer_function() self.main_interface.do_update() self.update_plot() self.pt_selected = None self.pressed_plot_pt = None
def onrelease(self, event): modifiers = QApplication.keyboardModifiers() self.modifying_modes = False if modifiers == QtCore.Qt.ShiftModifier: self.modifying_modes = True if self.in_op(event): plot_pt = np.array([event.xdata, event.ydata]) if self.modifying_modes and plot_pt[0] is not None: self.modifying_modes = False if event.button == 1: new_pt = np.array( [plot_pt[0], self.min_bandwidth, plot_pt[1]]) self.genren.opacity_gmm = np.vstack( [self.genren.opacity_gmm, new_pt]) elif event.button == 3: closest_mean_ind = np.argmin( np.linalg.norm(plot_pt - self.op_gmm_pts, axis=1)) mean_pt = self.op_gmm_pts[closest_mean_ind, :] if np.linalg.norm( mean_pt - plot_pt) / self.fig_x_diam < self.selection_thresh: subset_inds = np.arange(self.genren.opacity_gmm. shape[0]) != closest_mean_ind self.genren.opacity_gmm = self.genren.opacity_gmm[ subset_inds, :] if self.in_cm(event): if event.button == 3: color = QColorDialog().getColor() self.genren.color_gmm[self.pt_selected, 1:] = np.array( [color.redF(), color.greenF(), color.blueF()]) print(self.genren.color_gmm.shape) if self.modifying_modes and event.button == 1: color = QColorDialog().getColor() new_color = [ self.cm_to_cv(event.xdata), color.redF(), color.greenF(), color.blueF() ] cl = self.genren.color_gmm.tolist() cl.append(new_color) cl.sort(key=lambda x: x[0]) self.genren.color_gmm = np.array(cl) self.genren.update_gmm_transfer_function() self.main_interface.do_update() self.plot_update() self.pt_selected = None self.pressed_plot_pt = None