Example #1
0
    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()
Example #2
0
    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()