本文整理汇总了Python中silx.gui.plot.PlotWidget.getActiveImage方法的典型用法代码示例。如果您正苦于以下问题:Python PlotWidget.getActiveImage方法的具体用法?Python PlotWidget.getActiveImage怎么用?Python PlotWidget.getActiveImage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类silx.gui.plot.PlotWidget
的用法示例。
在下文中一共展示了PlotWidget.getActiveImage方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestActiveImageAlphaSlider
# 需要导入模块: from silx.gui.plot import PlotWidget [as 别名]
# 或者: from silx.gui.plot.PlotWidget import getActiveImage [as 别名]
class TestActiveImageAlphaSlider(TestCaseQt):
def setUp(self):
super(TestActiveImageAlphaSlider, self).setUp()
self.plot = PlotWidget()
self.aslider = AlphaSlider.ActiveImageAlphaSlider(plot=self.plot)
self.aslider.setOrientation(qt.Qt.Horizontal)
toolbar = qt.QToolBar("plot", self.plot)
toolbar.addWidget(self.aslider)
self.plot.addToolBar(toolbar)
self.plot.show()
self.qWaitForWindowExposed(self.plot)
self.mouseMove(self.plot) # Move to center
self.qapp.processEvents()
def tearDown(self):
self.qapp.processEvents()
self.plot.setAttribute(qt.Qt.WA_DeleteOnClose)
self.plot.close()
del self.plot
del self.aslider
super(TestActiveImageAlphaSlider, self).tearDown()
def testWidgetEnabled(self):
# no active image initially, slider must be deactivate
self.assertFalse(self.aslider.isEnabled())
self.plot.addImage(numpy.array([[0, 1, 2], [3, 4, 5]]))
# now we have an active image
self.assertTrue(self.aslider.isEnabled())
self.plot.setActiveImage(None)
self.assertFalse(self.aslider.isEnabled())
def testGetImage(self):
self.plot.addImage(numpy.array([[0, 1, 2], [3, 4, 5]]))
self.assertEqual(self.plot.getActiveImage(),
self.aslider.getItem())
self.plot.addImage(numpy.array([[0, 1, 3], [2, 4, 6]]), legend="2")
self.plot.setActiveImage("2")
self.assertEqual(self.plot.getImage("2"),
self.aslider.getItem())
def testGetAlpha(self):
self.plot.addImage(numpy.array([[0, 1, 2], [3, 4, 5]]), legend="1")
self.aslider.setValue(137)
self.assertAlmostEqual(self.aslider.getAlpha(),
137. / 255)
示例2: SilxMaskImageWidget
# 需要导入模块: from silx.gui.plot import PlotWidget [as 别名]
# 或者: from silx.gui.plot.PlotWidget import getActiveImage [as 别名]
#.........这里部分代码省略.........
kernelSize = [kernelSize.item()] * 2
self._medianParameters['row_width'] = kernelSize[0]
self._medianParameters['column_width'] = kernelSize[1]
self._medianParametersWidget.widthSpin.setValue(int(kernelSize[0]))
self.showImage(self.slider.value())
def _setMedianConditionalFlag(self, value):
self._medianParameters['conditional'] = int(value)
self._medianParametersWidget.conditionalSpin.setValue(int(value))
self.showImage(self.slider.value())
def _subtractBackground(self):
"""When background button is clicked, this causes showImage to
display the data after subtracting the stack background image.
This background image is unrelated to the background images set
with :meth:`setBackgroundImages`, it is simply the first data image
whose label ends with 'background'."""
current = self.getCurrentIndex()
self.showImage(current)
def _updateMotors(self, ddict):
if not ddict["event"] == "mouseMoved":
return
if not self.motorPositionsWidget.isVisible():
return
motorsValuesAtCursor = self._getPositionersFromXY(ddict["x"],
ddict["y"])
if motorsValuesAtCursor is None:
return
self.motorPositionsWidget.table.updateTable(
legList=[self.plot.getActiveImage().getLegend()],
motList=[motorsValuesAtCursor])
if self._motors_first_update:
self._select_motors()
self._motors_first_update = False
def _select_motors(self):
"""This methods sets the motors in the comboboxes when the widget
is first initialized."""
for i, combobox in enumerate(self.motorPositionsWidget.table.header.boxes):
# First item (index 0) in combobox is "", so first motor name is at index 1.
# First combobox in header.boxes is at index 1 (boxes[0] is None).
if i == 0:
continue
if i < combobox.count():
combobox.setCurrentIndex(i)
def _getPositionersFromXY(self, x, y):
"""Return positioner values for a stack pixel identified
by it's (x, y) coordinates.
"""
activeImage = self.plot.getActiveImage()
if activeImage is None:
return None
info = activeImage.getInfo()
if not info or not isinstance(info, dict):
return None
positioners = info.get("positioners", {})
nRows, nCols = activeImage.getData().shape
xScale, yScale = activeImage.getScale()
xOrigin, yOrigin = activeImage.getOrigin()
示例3: RGBCorrelatorGraph
# 需要导入模块: from silx.gui.plot import PlotWidget [as 别名]
# 或者: from silx.gui.plot.PlotWidget import getActiveImage [as 别名]
#.........这里部分代码省略.........
outstr = qt.safe_str(outfile.selectedFiles()[0])
try:
outputFile = os.path.basename(outstr)
except:
outputFile = outstr
outputDir = os.path.dirname(outstr)
self.saveDirectory = outputDir
PyMcaDirs.outputDir = outputDir
#always overwrite for the time being
if len(outputFile) < len(extension[1:]):
outputFile += extension[1:]
elif outputFile[-4:] != extension[1:]:
outputFile += extension[1:]
outputFile = os.path.join(outputDir, outputFile)
if os.path.exists(outputFile):
try:
os.remove(outputFile)
except:
qt.QMessageBox.critical(self, "Save Error",
"Cannot overwrite existing file")
return
if filetype.upper() == "IMAGE":
self.saveGraphImage(outputFile, original=True)
elif filetype.upper() == "ZOOMEDIMAGE":
self.saveGraphImage(outputFile, original=False)
else:
self.saveGraphWidget(outputFile)
def saveGraphImage(self, filename, original=False):
format_ = filename[-3:].upper()
activeImage = self.graph.getActiveImage()
rgbdata = activeImage.getRgbaImageData()
# silx to pymca scale convention (a + b x)
xScale = activeImage.getOrigin()[0], activeImage.getScale()[0]
yScale = activeImage.getOrigin()[1], activeImage.getScale()[1]
if original:
# save whole image
bgradata = numpy.array(rgbdata, copy=True)
bgradata[:, :, 0] = rgbdata[:, :, 2]
bgradata[:, :, 2] = rgbdata[:, :, 0]
else:
shape = rgbdata.shape[:2]
xmin, xmax = self.graph.getGraphXLimits()
ymin, ymax = self.graph.getGraphYLimits()
# save zoomed image, for that we have to get the limits
r0, c0 = convertToRowAndColumn(xmin, ymin, shape, xScale=xScale, yScale=yScale, safe=True)
r1, c1 = convertToRowAndColumn(xmax, ymax, shape, xScale=xScale, yScale=yScale, safe=True)
row0 = int(min(r0, r1))
row1 = int(max(r0, r1))
col0 = int(min(c0, c1))
col1 = int(max(c0, c1))
if row1 < shape[0]:
row1 += 1
if col1 < shape[1]:
col1 += 1
tmpArray = rgbdata[row0:row1, col0:col1, :]
bgradata = numpy.array(tmpArray, copy=True, dtype=rgbdata.dtype)
bgradata[:, :, 0] = tmpArray[:, :, 2]
bgradata[:, :, 2] = tmpArray[:, :, 0]
if self.graph.isYAxisInverted():
qImage = qt.QImage(bgradata, bgradata.shape[1], bgradata.shape[0],
qt.QImage.Format_ARGB32)
else: