class EMVolumeInspector(QtGui.QWidget): def __init__(self,target) : QtGui.QWidget.__init__(self,None) self.target=weakref.ref(target) self.setWindowIcon(QtGui.QIcon(get_image_directory() +"desktop.png")) self.rotation_sliders = EMTransformPanel(target,self) self.vbl = QtGui.QVBoxLayout(self) self.vbl.setMargin(0) self.vbl.setSpacing(6) self.vbl.setObjectName("vbl") self.hbl = QtGui.QHBoxLayout() self.hbl.setMargin(0) self.hbl.setSpacing(6) self.hbl.setObjectName("hbl") self.vbl.addLayout(self.hbl) self.hist = ImgHistogram(self) self.hist.setObjectName("hist") self.hbl.addWidget(self.hist) self.vbl2 = QtGui.QVBoxLayout() self.vbl2.setMargin(0) self.vbl2.setSpacing(6) self.vbl2.setObjectName("vbl2") self.hbl.addLayout(self.vbl2) self.cubetog = QtGui.QPushButton("Cube") self.cubetog.setCheckable(1) self.vbl2.addWidget(self.cubetog) self.defaults = QtGui.QPushButton("Defaults") self.vbl2.addWidget(self.defaults) self.tabwidget = QtGui.QTabWidget() self.tabwidget.addTab(self.get_main_tab(), "Main") self.tabwidget.addTab(self.get_GL_tab(),"GL") self.vbl.addWidget(self.tabwidget) self.n3_showing = False QtCore.QObject.connect(self.contrast, QtCore.SIGNAL("valueChanged"), target.set_contrast) QtCore.QObject.connect(self.glcontrast, QtCore.SIGNAL("valueChanged"), target.set_GL_contrast) QtCore.QObject.connect(self.glbrightness, QtCore.SIGNAL("valueChanged"), target.set_GL_brightness) QtCore.QObject.connect(self.bright, QtCore.SIGNAL("valueChanged"), target.set_brightness) QtCore.QObject.connect(self.cubetog, QtCore.SIGNAL("toggled(bool)"), target.toggle_cube) QtCore.QObject.connect(self.defaults, QtCore.SIGNAL("clicked(bool)"), self.set_defaults) QtCore.QObject.connect(self.smp, QtCore.SIGNAL("valueChanged(int)"), target.set_texture_sample) def update_rotations(self,t3d): self.rotation_sliders.update_rotations(t3d) def set_scale(self,val): self.rotation_sliders.set_scale(val) def set_xy_trans(self, x, y): self.rotation_sliders.set_xy_trans(x,y) def set_xyz_trans(self,x,y,z): self.rotation_sliders.set_xyz_trans(x,y,z) def get_transform_layout(self): return self.maintab.vbl def get_GL_tab(self): self.gltab = QtGui.QWidget() gltab = self.gltab gltab.vbl = QtGui.QVBoxLayout(self.gltab ) gltab.vbl.setMargin(0) gltab.vbl.setSpacing(6) gltab.vbl.setObjectName("Main") self.glcontrast = ValSlider(gltab,(1.0,5.0),"GLShd:") self.glcontrast.setObjectName("GLShade") self.glcontrast.setValue(1.0) gltab.vbl.addWidget(self.glcontrast) self.glbrightness = ValSlider(gltab,(-1.0,0.0),"GLBst:") self.glbrightness.setObjectName("GLBoost") self.glbrightness.setValue(0.1) self.glbrightness.setValue(0.0) gltab.vbl.addWidget(self.glbrightness) return gltab def get_main_tab(self): self.maintab = QtGui.QWidget() maintab = self.maintab maintab.vbl = QtGui.QVBoxLayout(self.maintab) maintab.vbl.setMargin(0) maintab.vbl.setSpacing(6) maintab.vbl.setObjectName("Main") self.contrast = ValSlider(maintab,(0.0,20.0),"Cont:") self.contrast.setObjectName("contrast") self.contrast.setValue(1.0) maintab.vbl.addWidget(self.contrast) self.bright = ValSlider(maintab,(-5.0,5.0),"Brt:") self.bright.setObjectName("bright") self.bright.setValue(0.1) self.bright.setValue(0.0) maintab.vbl.addWidget(self.bright) self.hbl_smp = QtGui.QHBoxLayout() self.hbl_smp.setMargin(0) self.hbl_smp.setSpacing(6) self.hbl_smp.setObjectName("Texture Oversampling") maintab.vbl.addLayout(self.hbl_smp) self.smp_label = QtGui.QLabel() self.smp_label.setText('Texture Oversampling') self.hbl_smp.addWidget(self.smp_label) self.smp = QtGui.QSpinBox(maintab) self.smp.setMaximum(10) self.smp.setMinimum(1) self.smp.setValue(1) self.hbl_smp.addWidget(self.smp) self.lowlim=0 self.highlim=1.0 self.busy=0 self.rotation_sliders.addWidgets(maintab.vbl) return maintab def set_defaults(self): self.contrast.setValue(1.0) self.bright.setValue(0.0) self.glcontrast.setValue(1.0) self.glbrightness.setValue(0.0) self.rotation_sliders.set_defaults() def slider_rotate(self): self.target().load_rotation(self.get_current_rotation()) def set_hist(self,hist,minden,maxden): self.hist.set_data(hist,minden,maxden)
class EM3DSliceInspector(QtGui.QWidget): def __init__(self,target) : self.busy = False QtGui.QWidget.__init__(self,None) self.setWindowIcon(QtGui.QIcon(get_image_directory() +"desktop.png")) self.transform_panel = EMTransformPanel(target,self) self.target=weakref.ref(target) self.vbl = QtGui.QVBoxLayout(self) self.vbl.setMargin(0) self.vbl.setSpacing(6) self.vbl.setObjectName("vbl") self.hbl = QtGui.QHBoxLayout() self.hbl.setMargin(0) self.hbl.setSpacing(6) self.hbl.setObjectName("hbl") self.vbl.addLayout(self.hbl) self.hist = ImgHistogram(self) self.hist.setObjectName("hist") self.hbl.addWidget(self.hist) self.vbl2 = QtGui.QVBoxLayout() self.vbl2.setMargin(0) self.vbl2.setSpacing(6) self.vbl2.setObjectName("vbl2") self.hbl.addLayout(self.vbl2) self.cubetog = QtGui.QPushButton("Cube") self.cubetog.setCheckable(1) self.vbl2.addWidget(self.cubetog) self.defaults = QtGui.QPushButton("Defaults") self.vbl2.addWidget(self.defaults) self.vbl.addWidget(self.get_main_tab()) self.n3_showing = False # self.current_src = EULER_EMAN QtCore.QObject.connect(self.slice, QtCore.SIGNAL("valueChanged"), target.set_slice) QtCore.QObject.connect(self.glcontrast, QtCore.SIGNAL("valueChanged"), target.set_GL_contrast) QtCore.QObject.connect(self.glbrightness, QtCore.SIGNAL("valueChanged"), target.set_GL_brightness) QtCore.QObject.connect(self.axisCombo, QtCore.SIGNAL("currentIndexChanged(QString)"), target.setAxis) QtCore.QObject.connect(self.cubetog, QtCore.SIGNAL("toggled(bool)"), target.toggle_cube) QtCore.QObject.connect(self.defaults, QtCore.SIGNAL("clicked(bool)"), self.set_defaults) QtCore.QObject.connect(self.contrast, QtCore.SIGNAL("valueChanged"), self.on_contrast_changed) QtCore.QObject.connect(self.bright, QtCore.SIGNAL("valueChanged"), self.on_brightness_changed) def on_contrast_changed(self,val): if self.busy: return self.target().set_contrast(val) def on_brightness_changed(self,val): if self.busy: return self.target().set_brightness(val) def set_contrast_bright(self,c,b): self.busy = True self.contrast.setValue(c) self.bright.setValue(b) self.busy = False def update_rotations(self,t3d): self.transform_panel.update_rotations(t3d) def set_scale(self,val): self.transform_panel.set_scale(val) def set_xy_trans(self, x, y): self.transform_panel.set_xy_trans(x,y) def set_xyz_trans(self,x,y,z): self.transform_panel.set_xyz_trans(x,y,z) def get_transform_layout(self): return self.maintab.vbl def set_defaults(self): self.target().set_default_contrast_settings() self.set_contrast_bright(self.target().contrast,self.target().bright) self.glcontrast.setValue(1.0) self.glbrightness.setValue(0.0) self.transform_panel.set_defaults() self.target().generate_current_display_list() self.target().updateGL() def get_main_tab(self): self.maintab = QtGui.QWidget() maintab = self.maintab maintab.vbl = QtGui.QVBoxLayout(self.maintab) maintab.vbl.setMargin(0) maintab.vbl.setSpacing(6) maintab.vbl.setObjectName("Main") self.hbl_slice = QtGui.QHBoxLayout() self.hbl_slice.setMargin(0) self.hbl_slice.setSpacing(6) self.hbl_slice.setObjectName("Axis") maintab.vbl.addLayout(self.hbl_slice) self.slice = ValSlider(maintab,(0.0,10.0),"Slice:") self.slice.setObjectName("slice") self.slice.setValue(1.0) self.hbl_slice.addWidget(self.slice) self.axisCombo = QtGui.QComboBox(maintab) self.axisCombo.addItem(' z ') self.axisCombo.addItem(' y ') self.axisCombo.addItem(' x ') self.axisCombo.addItem(' track ') self.hbl_slice.addWidget(self.axisCombo) self.contrast = ValSlider(maintab,(0.0,20.0),"Cont:") self.contrast.setObjectName("contrast") self.contrast.setValue(1.0) maintab.vbl.addWidget(self.contrast) self.bright = ValSlider(maintab,(-5.0,5.0),"Brt:") self.bright.setObjectName("bright") self.bright.setValue(0.1) self.bright.setValue(0.0) maintab.vbl.addWidget(self.bright) self.glcontrast = ValSlider(maintab,(1.0,5.0),"GLShd:") self.glcontrast.setObjectName("GLShade") self.glcontrast.setValue(1.0) maintab.vbl.addWidget(self.glcontrast) self.glbrightness = ValSlider(maintab,(-1.0,0.0),"GLBst:") self.glbrightness.setObjectName("GLBoost") self.glbrightness.setValue(0.1) self.glbrightness.setValue(0.0) maintab.vbl.addWidget(self.glbrightness) self.transform_panel.addWidgets(maintab.vbl) return maintab def slider_rotate(self): self.target().load_rotation(self.get_current_rotation()) def set_hist(self,hist,minden,maxden): self.hist.set_data(hist,minden,maxden) def set_slice(self,val): self.slice.setValue(val) def set_sliceRange(self,min,max): self.slice.setRange(min,max)
class EM3DSliceInspector(QtGui.QWidget): def __init__(self, target): self.busy = False QtGui.QWidget.__init__(self, None) self.setWindowIcon(QtGui.QIcon(get_image_directory() + "desktop.png")) self.transform_panel = EMTransformPanel(target, self) self.target = weakref.ref(target) self.vbl = QtGui.QVBoxLayout(self) self.vbl.setMargin(0) self.vbl.setSpacing(6) self.vbl.setObjectName("vbl") self.hbl = QtGui.QHBoxLayout() self.hbl.setMargin(0) self.hbl.setSpacing(6) self.hbl.setObjectName("hbl") self.vbl.addLayout(self.hbl) self.hist = ImgHistogram(self) self.hist.setObjectName("hist") self.hbl.addWidget(self.hist) self.vbl2 = QtGui.QVBoxLayout() self.vbl2.setMargin(0) self.vbl2.setSpacing(6) self.vbl2.setObjectName("vbl2") self.hbl.addLayout(self.vbl2) self.cubetog = QtGui.QPushButton("Cube") self.cubetog.setCheckable(1) self.vbl2.addWidget(self.cubetog) self.defaults = QtGui.QPushButton("Defaults") self.vbl2.addWidget(self.defaults) self.vbl.addWidget(self.get_main_tab()) self.n3_showing = False # self.current_src = EULER_EMAN QtCore.QObject.connect(self.slice, QtCore.SIGNAL("valueChanged"), target.set_slice) QtCore.QObject.connect(self.glcontrast, QtCore.SIGNAL("valueChanged"), target.set_GL_contrast) QtCore.QObject.connect(self.glbrightness, QtCore.SIGNAL("valueChanged"), target.set_GL_brightness) QtCore.QObject.connect(self.axisCombo, QtCore.SIGNAL("currentIndexChanged(QString)"), target.setAxis) QtCore.QObject.connect(self.cubetog, QtCore.SIGNAL("toggled(bool)"), target.toggle_cube) QtCore.QObject.connect(self.defaults, QtCore.SIGNAL("clicked(bool)"), self.set_defaults) QtCore.QObject.connect(self.contrast, QtCore.SIGNAL("valueChanged"), self.on_contrast_changed) QtCore.QObject.connect(self.bright, QtCore.SIGNAL("valueChanged"), self.on_brightness_changed) def on_contrast_changed(self, val): if self.busy: return self.target().set_contrast(val) def on_brightness_changed(self, val): if self.busy: return self.target().set_brightness(val) def set_contrast_bright(self, c, b): self.busy = True self.contrast.setValue(c) self.bright.setValue(b) self.busy = False def update_rotations(self, t3d): self.transform_panel.update_rotations(t3d) def set_scale(self, val): self.transform_panel.set_scale(val) def set_xy_trans(self, x, y): self.transform_panel.set_xy_trans(x, y) def set_xyz_trans(self, x, y, z): self.transform_panel.set_xyz_trans(x, y, z) def get_transform_layout(self): return self.maintab.vbl def set_defaults(self): self.target().set_default_contrast_settings() self.set_contrast_bright(self.target().contrast, self.target().bright) self.glcontrast.setValue(1.0) self.glbrightness.setValue(0.0) self.transform_panel.set_defaults() self.target().generate_current_display_list() self.target().updateGL() def get_main_tab(self): self.maintab = QtGui.QWidget() maintab = self.maintab maintab.vbl = QtGui.QVBoxLayout(self.maintab) maintab.vbl.setMargin(0) maintab.vbl.setSpacing(6) maintab.vbl.setObjectName("Main") self.hbl_slice = QtGui.QHBoxLayout() self.hbl_slice.setMargin(0) self.hbl_slice.setSpacing(6) self.hbl_slice.setObjectName("Axis") maintab.vbl.addLayout(self.hbl_slice) self.slice = ValSlider(maintab, (0.0, 10.0), "Slice:") self.slice.setObjectName("slice") self.slice.setValue(1.0) self.hbl_slice.addWidget(self.slice) self.axisCombo = QtGui.QComboBox(maintab) self.axisCombo.addItem(' z ') self.axisCombo.addItem(' y ') self.axisCombo.addItem(' x ') self.axisCombo.addItem(' track ') self.hbl_slice.addWidget(self.axisCombo) self.contrast = ValSlider(maintab, (0.0, 20.0), "Cont:") self.contrast.setObjectName("contrast") self.contrast.setValue(1.0) maintab.vbl.addWidget(self.contrast) self.bright = ValSlider(maintab, (-5.0, 5.0), "Brt:") self.bright.setObjectName("bright") self.bright.setValue(0.1) self.bright.setValue(0.0) maintab.vbl.addWidget(self.bright) self.glcontrast = ValSlider(maintab, (1.0, 5.0), "GLShd:") self.glcontrast.setObjectName("GLShade") self.glcontrast.setValue(1.0) maintab.vbl.addWidget(self.glcontrast) self.glbrightness = ValSlider(maintab, (-1.0, 0.0), "GLBst:") self.glbrightness.setObjectName("GLBoost") self.glbrightness.setValue(0.1) self.glbrightness.setValue(0.0) maintab.vbl.addWidget(self.glbrightness) self.transform_panel.addWidgets(maintab.vbl) return maintab def slider_rotate(self): self.target().load_rotation(self.get_current_rotation()) def set_hist(self, hist, minden, maxden): self.hist.set_data(hist, minden, maxden) def set_slice(self, val): self.slice.setValue(val) def set_sliceRange(self, min, max): self.slice.setRange(min, max)