def __init__(self, dart, costMeasure, parent, name=None): self.__base.__init__(self, parent) if name: self.setObjectName(name) self.dart = dart self.costMeasure = costMeasure self.ui = Ui_DartNavigator() self.ui.setupUi(self) self.connect(self.ui.nextPhiButton, QtCore.SIGNAL("clicked()"), self.nextPhi) self.connect(self.ui.prevPhiButton, QtCore.SIGNAL("clicked()"), self.prevPhi) self.connect(self.ui.nextAlphaButton, QtCore.SIGNAL("clicked()"), self.nextAlpha) self.connect(self.ui.nextSigmaButton, QtCore.SIGNAL("clicked()"), self.nextSigma) self.connect(self.ui.prevSigmaButton, QtCore.SIGNAL("clicked()"), self.prevSigma) self.connect(self.ui.continuousCheckBox, QtCore.SIGNAL("toggled(bool)"), self.toggleContinuous) self.timer = QtCore.QTimer(self) self.connect(self.timer, QtCore.SIGNAL("timeout()"), self.highlightNext) self._darthighlighter = DartHighlighter(parent.map, parent.viewer) self.updateLabel()
def __init__(self, map, preparedImage=None, immediateShow=True, faceMeans=None): self.__base.__init__(self) self.tool = None self._togglingGUI = False self._faceMeans = None # temp. needed (for _enableImageActions) self.ui = Ui_DisplaySettings() self.ui.setupUi(self) # for backward compatibility: if hasattr(preparedImage, "imageSize") and hasattr(map, "width"): map, preparedImage = preparedImage, map elif preparedImage is None: preparedImage = map.labelImage() if preparedImage is None: preparedImage = vigra.ScalarImage(map.imageSize()) self.viewer = None # setImage would norm. pass the image on if hasattr(preparedImage, "orig"): self.images = { "original": preparedImage.view, "colored": preparedImage.orig, "bi": preparedImage.bi.gm, } preparedImage = preparedImage.view else: self.images = {} # auto-detects role colored/original: self.setImage(preparedImage, normalize=False) self.image = preparedImage self.viewer = VigraQt.OverlayViewer(self) self.setCentralWidget(self.viewer) self._setImage(self.image, normalize=False) self.viewer.autoZoom() # convenience: self.addOverlay = self.viewer.addOverlay self.removeOverlay = self.viewer.removeOverlay # self.overlays = self.viewer.overlays self.map = map if not faceMeans and hasattr(map, "faceMeans"): faceMeans = map.faceMeans self.setFaceMeans(faceMeans) self._attachedHooks = None self._normalizeStates = [False, False, True, True, False] if self.image.channels == 3: self._backgroundMode = 1 self.ui.displayColoredAction.setChecked(True) else: self._backgroundMode = 0 self.ui.displayOriginalAction.setChecked(True) self._enableImageActions() self.connect(self.ui.backgroundGroup, QtCore.SIGNAL("selected(QAction*)"), self.setBackgroundMode) self.connect(self.ui.nodeDisplayAction, QtCore.SIGNAL("toggled(bool)"), self.toggleNodeDisplay) self.connect(self.ui.edgeDisplayAction, QtCore.SIGNAL("toggled(bool)"), self.toggleEdgeDisplay) self.connect(self.ui.normalizeAction, QtCore.SIGNAL("toggled(bool)"), self.toggleNormalize) self.connect(self.ui.mapCleanupAction, QtCore.SIGNAL("activated()"), self.cleanupMap) self.connect(self.ui.paintbrushAction, QtCore.SIGNAL("toggled(bool)"), self.activatePaintbrush) self.connect(self.ui.scissorsAction, QtCore.SIGNAL("toggled(bool)"), self.activateScissors) self.connect(self.ui.navigateAction, QtCore.SIGNAL("toggled(bool)"), self.activateNavigator) self.setWindowTitle("Map Display") self.edgeOverlay = MapEdges(self.viewer) self.edgeOverlay.setMap(map) self.edgeOverlay.setPen(QtCore.Qt.red) # protectedColor = QtCore.Qt.green, # protectedWidth = 2) self.viewer.addOverlay(self.edgeOverlay) self.edgeOverlay.visible = self.ui.edgeDisplayAction.isChecked() # self.nodeOverlay = MapNodes(map, QtCore.Qt.blue) # self.viewer.addOverlay(self.nodeOverlay) # self.nodeOverlay.visible = self.ui.nodeDisplayAction.isChecked() self._dh = DartHighlighter(map, self.viewer) self.dn = None if immediateShow: self.show()