def __init__(self,cnt) :
     QubStdData2ImagePlug.__init__(self)
     self.__image = QubMosaicImage(motX = 0,motY = 0)
     self.__image.setLayer(4096)
     self.__cnt = cnt
     self.__imageAlreadySend = False
class _LiveImagePlug(QubStdData2ImagePlug) :
    def __init__(self,cnt) :
        QubStdData2ImagePlug.__init__(self)
        self.__image = QubMosaicImage(motX = 0,motY = 0)
        self.__image.setLayer(4096)
        self.__cnt = cnt
        self.__imageAlreadySend = False

    def setImage(self,imagezoomed,fullimage) :
        self.__image.setImage(fullimage)
        return False

    def show(self) :
        self.__image.show()
        
    def hide(self) :
        self.__image.hide()
        
    def addImage(self) :
        if not self.__imageAlreadySend:
            self.__cnt.mosaicView.addImage(self.__image)
            self.__imageAlreadySend = True
    
    def setPixelCalibration(self,xSize,ySize) :
        self.__image.setCalibration(xSize,ySize)

    def setBeamPosition(self,x,y) :
        if x and y :
            self.__image.setRefPos(x,y)

    def move(self,x,y) :
        self.__image.move(x,y)

    def setHMotorPosition(self,position) :
        _,vPos = self.__image.position()
        self.__image.move(position,vPos)

    def setVMotorPosition(self,position) :
        hPos,_ = self.__image.position()
        self.__image.move(hPos,position)
    def __init__(self,parent,name,cnt,image = None,
                 beamPos = None,calib = None,
                 hMotor = None,vMotor = None,motorList = None,masterPosition = None,
                 focusMotorPosition = None) :
        try:
            lastItem = parent.lastItem()
        except AttributeError:
            firstChild = parent.firstChild()
            if firstChild:
                childCount = parent.childCount()
                lastItem = firstChild
                try:
                    for i in range(1,childCount) :
                        lastItem = lastItem.itemBelow()
                except AttributeError:
                    lastItem = None
            else:
                lastItem = None
        if isinstance(name,_SavePickleItem) :
            if lastItem:
                qt.QCheckListItem.__init__(self,parent,lastItem,name.textcolumn[0],qt.QCheckListItem.CheckBox)
            else:
                qt.QCheckListItem.__init__(self,parent,name.textcolumn[0],qt.QCheckListItem.CheckBox)
            saveItem = name
            self.__image = saveItem.image

            for i,text in enumerate(saveItem.textcolumn):
                self.setText(i,text)
            self.__masterPosition = masterPosition
            try:
                self.focusMotorPosition = saveItem.focusMotorPosition
            except AttributeError:      # compatibility with old save mosaic
                self.focusMotorPosition = None
            self.__layer = saveItem.layer
            self.__cnt = cnt
            cnt.mosaicView.addImage(self.__image) # adding image to MosaicDisplay
            self.setState(saveItem.masterPosition and qt.QCheckListItem.On or qt.QCheckListItem.Off)
            self.setRenameEnabled(0,True)
        else:
            self.__image = QubMosaicImage(image,hMotor.getPosition(),vMotor.getPosition(),0)
            if lastItem:
                qt.QCheckListItem.__init__(self,parent,lastItem,name,qt.QCheckListItem.CheckBox)
            else:
                qt.QCheckListItem.__init__(self,parent,name,qt.QCheckListItem.CheckBox)
            icon = image.smoothScale(16,16,qt.QImage.ScaleMin)
            self.setPixmap(0,qt.QPixmap(icon))
            try:
                self.__image.setRefPos(*beamPos)
                self.__image.setCalibration(*calib)
            except TypeError:
                logging.getLogger().error('You have to connect ChangeBeamPosition and ChangePixelCalibration slot')
                return
            for i,motor in enumerate(motorList) :
                self.setText(i + 1,'%f' % motor.getPosition())
            self.__masterPosition = masterPosition
            self.focusMotorPosition = focusMotorPosition

            self.setRenameEnabled(0,True)

            self.__layer = 0
            self.__cnt = cnt
            cnt.mosaicView.addImage(self.__image) # adding image to MosaicDisplay
            try:
                self.__state = parent.isSelected() and qt.QCheckListItem.On or qt.QCheckListItem.Off
                self.setState(self.__state)
            except TypeError:
                self.__state = qt.QCheckListItem.On
                self.setState(qt.QCheckListItem.On)
        self.__image.setImageId(id(self))
Exemple #4
0
 def __init__(self, cnt):
     QubStdData2ImagePlug.__init__(self)
     self.__image = QubMosaicImage(motX=0, motY=0)
     self.__image.setLayer(4096)
     self.__cnt = cnt
     self.__imageAlreadySend = False
Exemple #5
0
class _LiveImagePlug(QubStdData2ImagePlug):
    def __init__(self, cnt):
        QubStdData2ImagePlug.__init__(self)
        self.__image = QubMosaicImage(motX=0, motY=0)
        self.__image.setLayer(4096)
        self.__cnt = cnt
        self.__imageAlreadySend = False

    def setImage(self, imagezoomed, fullimage):
        self.__image.setImage(fullimage)
        return False

    def show(self):
        self.__image.show()

    def hide(self):
        self.__image.hide()

    def addImage(self):
        if not self.__imageAlreadySend:
            self.__cnt.mosaicView.addImage(self.__image)
            self.__imageAlreadySend = True

    def setPixelCalibration(self, xSize, ySize):
        self.__image.setCalibration(xSize, ySize)

    def setBeamPosition(self, x, y):
        if x and y:
            self.__image.setRefPos(x, y)

    def move(self, x, y):
        self.__image.move(x, y)

    def setHMotorPosition(self, position):
        _, vPos = self.__image.position()
        self.__image.move(position, vPos)

    def setVMotorPosition(self, position):
        hPos, _ = self.__image.position()
        self.__image.move(hPos, position)
Exemple #6
0
    def __init__(self,
                 parent,
                 name,
                 cnt,
                 image=None,
                 beamPos=None,
                 calib=None,
                 hMotor=None,
                 vMotor=None,
                 motorList=None,
                 masterPosition=None,
                 focusMotorPosition=None):
        try:
            lastItem = parent.lastItem()
        except AttributeError:
            firstChild = parent.firstChild()
            if firstChild:
                childCount = parent.childCount()
                lastItem = firstChild
                try:
                    for i in range(1, childCount):
                        lastItem = lastItem.itemBelow()
                except AttributeError:
                    lastItem = None
            else:
                lastItem = None
        if isinstance(name, _SavePickleItem):
            if lastItem:
                qt.QCheckListItem.__init__(self, parent, lastItem,
                                           name.textcolumn[0],
                                           qt.QCheckListItem.CheckBox)
            else:
                qt.QCheckListItem.__init__(self, parent, name.textcolumn[0],
                                           qt.QCheckListItem.CheckBox)
            saveItem = name
            self.__image = saveItem.image

            for i, text in enumerate(saveItem.textcolumn):
                self.setText(i, text)
            self.__masterPosition = masterPosition
            try:
                self.focusMotorPosition = saveItem.focusMotorPosition
            except AttributeError:  # compatibility with old save mosaic
                self.focusMotorPosition = None
            self.__layer = saveItem.layer
            self.__cnt = cnt
            cnt.mosaicView.addImage(
                self.__image)  # adding image to MosaicDisplay
            self.setState(saveItem.masterPosition and qt.QCheckListItem.On
                          or qt.QCheckListItem.Off)
            self.setRenameEnabled(0, True)
        else:
            self.__image = QubMosaicImage(image, hMotor.getPosition(),
                                          vMotor.getPosition(), 0)
            if lastItem:
                qt.QCheckListItem.__init__(self, parent, lastItem, name,
                                           qt.QCheckListItem.CheckBox)
            else:
                qt.QCheckListItem.__init__(self, parent, name,
                                           qt.QCheckListItem.CheckBox)
            icon = image.smoothScale(16, 16, qt.QImage.ScaleMin)
            self.setPixmap(0, qt.QPixmap(icon))
            try:
                self.__image.setRefPos(*beamPos)
                self.__image.setCalibration(*calib)
            except TypeError:
                logging.getLogger().error(
                    'You have to connect ChangeBeamPosition and ChangePixelCalibration slot'
                )
                return
            for i, motor in enumerate(motorList):
                self.setText(i + 1, '%f' % motor.getPosition())
            self.__masterPosition = masterPosition
            self.focusMotorPosition = focusMotorPosition

            self.setRenameEnabled(0, True)

            self.__layer = 0
            self.__cnt = cnt
            cnt.mosaicView.addImage(
                self.__image)  # adding image to MosaicDisplay
            try:
                self.__state = parent.isSelected(
                ) and qt.QCheckListItem.On or qt.QCheckListItem.Off
                self.setState(self.__state)
            except TypeError:
                self.__state = qt.QCheckListItem.On
                self.setState(qt.QCheckListItem.On)
        self.__image.setImageId(id(self))