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])
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' })
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])
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'})