Example #1
0
    def __init__(self, display):
        ROITool.__init__(self, display)
        self.scene = self.view.scene()
        self.ROI01Slave = None

        self.pLimitBins = self._menu.p.addChild({
            'name':
            'Limit number of bins',
            'type':
            'bool',
            'value':
            False,
            'tip':
            'If False: number of bins is calculated by max(img)-min(img)'
        })
        self.pLimitBins.sigValueChanged.connect(
            lambda param, value: [ch.show(value) for ch in param.children()])

        self.pNBins = self.pLimitBins.addChild({
            'name': 'number of bins',
            'type': 'int',
            'value': 100,
            'limits': [1, 1e4],
            'visible': False
        })

        self.pLimitRange = self._menu.p.addChild({
            'name': 'Limit Range',
            'type': 'bool',
            'value': False
        })
        self.pLimitRange.sigValueChanged.connect(
            lambda param, value: [ch.show(value) for ch in param.children()])

        self.pRangeFrom = self.pLimitRange.addChild({
            'name': 'From',
            'type': 'float',
            'value': 0,
            'limits': [0, 2**24],
            'visible': False
        })

        self.pRangeTo = self.pLimitRange.addChild({
            'name': 'To',
            'type': 'float',
            'value': 2**16,
            'limits': [0, 2**24],
            'visible': False
        })

        #update view when parameters changed:
        for p in (self.pLimitBins, self.pNBins, self.pLimitRange,
                  self.pRangeFrom, self.pRangeTo):
            p.sigValueChanged.connect(
                lambda: [r.updateView() for r in self.ROIs])
Example #2
0
    def __init__(self, imageDisplay):
        ROITool.__init__(self, imageDisplay)

        self.ROI01Slave = None
        self.stdSlave = None
        self.rmsSlave = None

        self.pAveraging = self._menu.p.insertChild(
            0, {
                'name': 'Averaging',
                'type': 'list',
                'value': 'one side',
                'limits': ['No', 'one side', 'both sides']
            })
        self.pAveraging.sigValueChanged.connect(
            lambda param, value:
            [ch.show(value != 'No') for ch in param.children()])

        self.pRotatable = self._menu.p.insertChild(1, {
            'name': 'Rotatable',
            'type': 'bool',
            'value': False
        })
        self.pRotatable.sigValueChanged.connect(
            lambda param, value:
            [ch.show(not value) for ch in param.children()])

        self.pAvDirection = self.pRotatable.addChild({
            'name':
            'Averaging direction',
            'type':
            'list',
            'value':
            'vertical',
            'limits': ['vertical', 'horizontal']
        })

        self.pStd = self.pAveraging.addChild({
            'name': 'show standard deviation',
            'type': 'bool',
            'value': False,
            'visible': False
        })

        self.pRMS = self.pAveraging.addChild({
            'name': 'show RMS',
            'type': 'bool',
            'value': False,
            'visible': False,
            'tip': 'Root Mean Square'
        })
Example #3
0
    def __init__(self, display):
        ROITool.__init__(self, display)
        self.scene = self.view.scene()
        self.ROI01Slave = None

        self.pLimitBins = self._menu.p.addChild({
            'name': 'Limit number of bins',
            'type': 'bool',
            'value': False,
            'tip': 'If False: number of bins is calculated by max(img)-min(img)'})
        self.pLimitBins.sigValueChanged.connect(lambda param, value:
                                                [ch.show(value) for ch in param.children()])

        self.pNBins = self.pLimitBins.addChild({
            'name': 'number of bins',
            'type': 'int',
            'value': 100,
            'limits': [1, 1e4],
            'visible': False})

        self.pLimitRange = self._menu.p.addChild({
            'name': 'Limit Range',
            'type': 'bool',
            'value': False})
        self.pLimitRange.sigValueChanged.connect(lambda param, value:
                                                 [ch.show(value) for ch in param.children()])

        self.pRangeFrom = self.pLimitRange.addChild({
            'name': 'From',
            'type': 'float',
            'value': 0,
            'visible': False})

        self.pRangeTo = self.pLimitRange.addChild({
            'name': 'To',
            'type': 'float',
            'value': 2**16,
            'visible': False})

        # update view when parameters changed:
        for p in (self.pLimitBins, self.pNBins, self.pLimitRange,
                  self.pRangeFrom, self.pRangeTo):
            p.sigValueChanged.connect(
                lambda: [r.updateView() for r in self.ROIs])
Example #4
0
    def __init__(self, imageDisplay):
        ROITool.__init__(self, imageDisplay)

        self.ROI01Slave = None
        self.stdSlave = None
        self.rmsSlave = None

        self.pAveraging = self._menu.p.insertChild(0, {
            'name': 'Averaging',
            'type': 'list',
            'value': 'one side',
            'limits': ['No', 'one side', 'both sides']})
        self.pAveraging.sigValueChanged.connect(lambda param, value:
                                                [ch.show(value != 'No') for ch in param.children()])

        self.pRotatable = self._menu.p.insertChild(1, {
            'name': 'Rotatable',
            'type': 'bool',
            'value': False})
        self.pRotatable.sigValueChanged.connect(lambda param, value:
                                                [ch.show(not value) for ch in param.children()])

        self.pAvDirection = self.pRotatable.addChild({
            'name': 'Averaging direction',
            'type': 'list',
            'value': 'vertical',
            'limits': ['vertical', 'horizontal']})

        self.pStd = self.pAveraging.addChild({
            'name': 'show standard deviation',
            'type': 'bool',
            'value': False,
            'visible': False})

        self.pRMS = self.pAveraging.addChild({
            'name': 'show RMS',
            'type': 'bool',
            'value': False,
            'visible': False,
            'tip': 'Root Mean Square'})