本文整理匯總了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: