Exemple #1
0
    def __init__(self, cp, parentImage=None):
        self.cp = cp
        QtGui.QTreeWidgetItem.__init__(self)
        self.paramCombo = pg.ComboBox()
        self.thresholdSpin = pg.SpinBox(value=0.98, dec=True, step=0.1)
        self.maxCheck = QtGui.QCheckBox()
        self.colorBtn = ColorButton(color=(255, 255, 255))
        self.remBtn = QtGui.QPushButton('Remove')
        self.curveItem = pg.IsocurveItem()
        self.curveItem.setParentItem(parentImage)

        self.paramCombo.currentIndexChanged.connect(self.emitChanged)
        self.thresholdSpin.valueChanged.connect(self.emitChanged)
        self.maxCheck.stateChanged.connect(self.emitChanged)

        self.colorBtn.sigColorChanged.connect(self.setPen)
        self.remBtn.clicked.connect(self.delete)
Exemple #2
0
 def __init__(self, cp, parentImage=None):
     self.cp = cp
     QtGui.QTreeWidgetItem.__init__(self)
     self.paramCombo = pg.ComboBox()
     self.thresholdSpin = pg.SpinBox(value=0.98, dec=True, step=0.1)
     self.maxCheck = QtGui.QCheckBox()
     self.colorBtn = ColorButton(color=(255,255,255))
     self.remBtn = QtGui.QPushButton('Remove')
     self.curveItem = pg.IsocurveItem()
     self.curveItem.setParentItem(parentImage)
     
     
     self.paramCombo.currentIndexChanged.connect(self.emitChanged)
     self.thresholdSpin.valueChanged.connect(self.emitChanged)
     self.maxCheck.stateChanged.connect(self.emitChanged)
     
     self.colorBtn.sigColorChanged.connect(self.setPen)
     self.remBtn.clicked.connect(self.delete)
Exemple #3
0
class ContourItem(QtGui.QTreeWidgetItem):
    def __init__(self, cp, parentImage=None):
        self.cp = cp
        QtGui.QTreeWidgetItem.__init__(self)
        self.paramCombo = pg.ComboBox()
        self.thresholdSpin = pg.SpinBox(value=0.98, dec=True, step=0.1)
        self.maxCheck = QtGui.QCheckBox()
        self.colorBtn = ColorButton(color=(255, 255, 255))
        self.remBtn = QtGui.QPushButton('Remove')
        self.curveItem = pg.IsocurveItem()
        self.curveItem.setParentItem(parentImage)

        self.paramCombo.currentIndexChanged.connect(self.emitChanged)
        self.thresholdSpin.valueChanged.connect(self.emitChanged)
        self.maxCheck.stateChanged.connect(self.emitChanged)

        self.colorBtn.sigColorChanged.connect(self.setPen)
        self.remBtn.clicked.connect(self.delete)

    def setPen(self, btn):
        self.curveItem.setPen(btn.color())

    def emitChanged(self):
        self.cp.emitChanged()

    def postAdd(self):
        t = self.treeWidget()
        #self.setText(0, "-")
        t.setItemWidget(self, 0, self.paramCombo)
        t.setItemWidget(self, 1, self.thresholdSpin)
        t.setItemWidget(self, 2, self.maxCheck)
        t.setItemWidget(self, 3, self.colorBtn)
        #t.setItemWidget(self, 4, self.gradient)
        t.setItemWidget(self, 4, self.remBtn)

    def delete(self):
        self.cp.remClicked(self)

    def updateParamCombo(self, paramList):
        #prev = str(self.paramCombo.currentText())
        #self.paramCombo.clear()
        #for p in paramList:
        #self.paramCombo.addItem(p)
        #if p == prev:
        #self.paramCombo.setCurrentIndex(self.paramCombo.count()-1)
        self.paramCombo.updateList(paramList)

    def updateContour(self, data, parentItem):
        #print "updateContour called."
        param = str(self.paramCombo.currentText())
        #print param
        if param == '':
            return
        #if param == 'Probability': ## fix for compatability with Spatial correlator
        #   param = 'prob'
        data = data[param]
        if self.maxCheck.isChecked():
            level = self.thresholdSpin.value() * data.max()
        else:
            level = self.thresholdSpin.value()
        pen = self.colorBtn.color()
        self.curveItem.setPen(pen)
        self.curveItem.updateLines(data, level)
        #print "boundingrect:", self.curveItem.boundingRect()
        #print data.min(), data.max()
        if hasattr(parentItem, 'graphicsItem'):
            self.curveItem.setParentItem(parentItem.graphicsItem())
        else:
            self.curveItem.setParentItem(parentItem)
Exemple #4
0
class ContourItem(QtGui.QTreeWidgetItem):
    def __init__(self, cp, parentImage=None):
        self.cp = cp
        QtGui.QTreeWidgetItem.__init__(self)
        self.paramCombo = pg.ComboBox()
        self.thresholdSpin = pg.SpinBox(value=0.98, dec=True, step=0.1)
        self.maxCheck = QtGui.QCheckBox()
        self.colorBtn = ColorButton(color=(255,255,255))
        self.remBtn = QtGui.QPushButton('Remove')
        self.curveItem = pg.IsocurveItem()
        self.curveItem.setParentItem(parentImage)
        
        
        self.paramCombo.currentIndexChanged.connect(self.emitChanged)
        self.thresholdSpin.valueChanged.connect(self.emitChanged)
        self.maxCheck.stateChanged.connect(self.emitChanged)
        
        self.colorBtn.sigColorChanged.connect(self.setPen)
        self.remBtn.clicked.connect(self.delete)
       
    def setPen(self, btn):
        self.curveItem.setPen(btn.color())
       
    def emitChanged(self):
        self.cp.emitChanged()
        
    def postAdd(self):
        t = self.treeWidget()
        #self.setText(0, "-")
        t.setItemWidget(self, 0, self.paramCombo)
        t.setItemWidget(self, 1, self.thresholdSpin)
        t.setItemWidget(self, 2, self.maxCheck)
        t.setItemWidget(self, 3, self.colorBtn)
        #t.setItemWidget(self, 4, self.gradient)
        t.setItemWidget(self, 4, self.remBtn)
        
    def delete(self):
        self.cp.remClicked(self)
        
    def updateParamCombo(self, paramList):
        #prev = str(self.paramCombo.currentText())
        #self.paramCombo.clear()
        #for p in paramList:
            #self.paramCombo.addItem(p)
            #if p == prev:
                #self.paramCombo.setCurrentIndex(self.paramCombo.count()-1) 
        self.paramCombo.updateList(paramList)
 
    def updateContour(self, data, parentItem):
        #print "updateContour called."
        param = str(self.paramCombo.currentText())
        #print param
        if param == '':
            return
        #if param == 'Probability': ## fix for compatability with Spatial correlator
         #   param = 'prob'
        data = data[param]
        if self.maxCheck.isChecked():
            level = self.thresholdSpin.value()*data.max()
        else:
            level = self.thresholdSpin.value()
        pen = self.colorBtn.color()
        self.curveItem.setPen(pen)
        self.curveItem.updateLines(data, level)
        #print "boundingrect:", self.curveItem.boundingRect()
        #print data.min(), data.max()
        if hasattr(parentItem, 'graphicsItem'):
            self.curveItem.setParentItem(parentItem.graphicsItem())
        else:
            self.curveItem.setParentItem(parentItem)