예제 #1
0
    def applyExpression(self, expr=None, normalized=None):
        if expr is not None:
            self._savedExpression = expr
        else:
            d = quickdialog.QuickDialog(self, "Enter Expression")
            d.expression = quickdialog.OptionalStringInput(
                d, "Execute 'lambda x: ")
            d.expression.setText(self._savedExpression)
            d.expression.setFocus()
            d.addSpacing(10)
            d.norm = quickdialog.CheckBox(
                d, "Normalize intensity to range 0...255")
            d.norm.setChecked(self._normalized)
            if d.exec_() == 0:
                return
            self._savedExpression = d.expression.text()
            self._normalized = True if d.norm.selection() else False

        if normalized is not None:
            self._normalized = normalized

        try:
            image, normalized = self.getDisplayedImage()
        except Exception as e:
            qt.QMessageBox.critical(self, "Error Applying Expression", str(e))
            return

        OverlayViewer.setImage(self, image.qimage(normalized))
예제 #2
0
    def applyExpression(self, expr=None, normalized=None):
        if expr is not None:
            self._savedExpression = expr
        else:
            d = quickdialog.QuickDialog(self, "Enter Expression")
            d.expression = quickdialog.OptionalStringInput(d, "Execute 'lambda x: ")
            d.expression.setText(self._savedExpression)
            d.expression.setFocus()
            d.addSpacing(10)
            d.norm = quickdialog.CheckBox(d, "Normalize intensity to range 0...255")
            d.norm.setChecked(self._normalized)
            if d.exec_() == 0:
                return
            self._savedExpression = d.expression.text()
            self._normalized = True if d.norm.selection() else False

        if normalized is not None:
            self._normalized = normalized

        try:
            image, normalized = self.getDisplayedImage()
        except Exception as e:
            qt.QMessageBox.critical(self, "Error Applying Expression", str(e))
            return

        OverlayViewer.setImage(self, image.qimage(normalized))
예제 #3
0
 def setImage(self, image, normalize=True):
     if not hasattr(image, "qimage"):
         image = image.view(vigra.Image)
     self.image = image
     self._normalized = normalize
     OverlayViewer.setImage(self, image.qimage(normalize))
예제 #4
0
 def setImage(self, image, normalize=True):
     if not hasattr(image, "qimage"):
         image = image.view(vigra.Image)
     self.image = image
     self._normalized = normalize
     OverlayViewer.setImage(self, image.qimage(normalize))
예제 #5
0
            d.norm.setChecked(self._normalized)
            if d.exec_() == 0:
                return
            self._savedExpression = d.expression.text()
            self._normalized = True if d.norm.selection() else False

        if normalized is not None:
            self._normalized = normalized

        try:
            image, normalized = self.getDisplayedImage()
        except Exception, e:
            qt.QMessageBox.critical(self, "Error Applying Expression", str(e))
            return

        OverlayViewer.setImage(self, image.qimage(normalized))

    def getDisplayedImage(self):
        """Returns the displayed image and the normalize flag
        (BYTE or NBYTE) as tuple/pair.

        Note that the returned image is the original image if no
        expression is applied, i.e. you should not change the returned
        object.  If active, the expression is applied via
        eval() on every call of getDisplayedImage()."""

        if not self._savedExpression or self._savedExpression == "x":
            self._savedExpression = "x"
            image = self.image
        else:
            for f in vigra.ufunc.__all__:
예제 #6
0
            d.norm.setChecked(self._normalized)
            if d.exec_() == 0:
                return
            self._savedExpression = d.expression.text()
            self._normalized = True if d.norm.selection() else False

        if normalized is not None:
            self._normalized = normalized

        try:
            image, normalized = self.getDisplayedImage()
        except Exception, e:
            qt.QMessageBox.critical(self, "Error Applying Expression", str(e))
            return

        OverlayViewer.setImage(self, image.qimage(normalized))

    def getDisplayedImage(self):
        """Returns the displayed image and the normalize flag
        (BYTE or NBYTE) as tuple/pair.

        Note that the returned image is the original image if no
        expression is applied, i.e. you should not change the returned
        object.  If active, the expression is applied via
        eval() on every call of getDisplayedImage()."""

        if not self._savedExpression or self._savedExpression == "x":
            self._savedExpression = "x"
            image = self.image
        else:
            for f in vigra.ufunc.__all__: