diff --git a/documentation/build/doctrees/apireference.doctree b/documentation/build/doctrees/apireference.doctree deleted file mode 100644 index 1620ca32..00000000 Binary files a/documentation/build/doctrees/apireference.doctree and /dev/null differ diff --git a/documentation/build/doctrees/functions.doctree b/documentation/build/doctrees/functions.doctree deleted file mode 100644 index 9d40ecc8..00000000 Binary files a/documentation/build/doctrees/functions.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/arrowitem.doctree b/documentation/build/doctrees/graphicsItems/arrowitem.doctree deleted file mode 100644 index 8a90ddb6..00000000 Binary files a/documentation/build/doctrees/graphicsItems/arrowitem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/axisitem.doctree b/documentation/build/doctrees/graphicsItems/axisitem.doctree deleted file mode 100644 index b0deac26..00000000 Binary files a/documentation/build/doctrees/graphicsItems/axisitem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/buttonitem.doctree b/documentation/build/doctrees/graphicsItems/buttonitem.doctree deleted file mode 100644 index ce962738..00000000 Binary files a/documentation/build/doctrees/graphicsItems/buttonitem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/curvearrow.doctree b/documentation/build/doctrees/graphicsItems/curvearrow.doctree deleted file mode 100644 index 532f7017..00000000 Binary files a/documentation/build/doctrees/graphicsItems/curvearrow.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/curvepoint.doctree b/documentation/build/doctrees/graphicsItems/curvepoint.doctree deleted file mode 100644 index c98a2916..00000000 Binary files a/documentation/build/doctrees/graphicsItems/curvepoint.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/gradienteditoritem.doctree b/documentation/build/doctrees/graphicsItems/gradienteditoritem.doctree deleted file mode 100644 index b1029004..00000000 Binary files a/documentation/build/doctrees/graphicsItems/gradienteditoritem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/gradientlegend.doctree b/documentation/build/doctrees/graphicsItems/gradientlegend.doctree deleted file mode 100644 index 912cb974..00000000 Binary files a/documentation/build/doctrees/graphicsItems/gradientlegend.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/graphicslayout.doctree b/documentation/build/doctrees/graphicsItems/graphicslayout.doctree deleted file mode 100644 index c22d0900..00000000 Binary files a/documentation/build/doctrees/graphicsItems/graphicslayout.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/graphicsobject.doctree b/documentation/build/doctrees/graphicsItems/graphicsobject.doctree deleted file mode 100644 index b892464b..00000000 Binary files a/documentation/build/doctrees/graphicsItems/graphicsobject.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/graphicswidget.doctree b/documentation/build/doctrees/graphicsItems/graphicswidget.doctree deleted file mode 100644 index c6218a6b..00000000 Binary files a/documentation/build/doctrees/graphicsItems/graphicswidget.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/griditem.doctree b/documentation/build/doctrees/graphicsItems/griditem.doctree deleted file mode 100644 index 41a92766..00000000 Binary files a/documentation/build/doctrees/graphicsItems/griditem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/histogramlutitem.doctree b/documentation/build/doctrees/graphicsItems/histogramlutitem.doctree deleted file mode 100644 index 1560ff90..00000000 Binary files a/documentation/build/doctrees/graphicsItems/histogramlutitem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/imageitem.doctree b/documentation/build/doctrees/graphicsItems/imageitem.doctree deleted file mode 100644 index c4bf51cf..00000000 Binary files a/documentation/build/doctrees/graphicsItems/imageitem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/infiniteline.doctree b/documentation/build/doctrees/graphicsItems/infiniteline.doctree deleted file mode 100644 index a39e2dbc..00000000 Binary files a/documentation/build/doctrees/graphicsItems/infiniteline.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/labelitem.doctree b/documentation/build/doctrees/graphicsItems/labelitem.doctree deleted file mode 100644 index c40e04fc..00000000 Binary files a/documentation/build/doctrees/graphicsItems/labelitem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/linearregionitem.doctree b/documentation/build/doctrees/graphicsItems/linearregionitem.doctree deleted file mode 100644 index 40deb4cc..00000000 Binary files a/documentation/build/doctrees/graphicsItems/linearregionitem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/plotcurveitem.doctree b/documentation/build/doctrees/graphicsItems/plotcurveitem.doctree deleted file mode 100644 index f85da9c3..00000000 Binary files a/documentation/build/doctrees/graphicsItems/plotcurveitem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/plotdataitem.doctree b/documentation/build/doctrees/graphicsItems/plotdataitem.doctree deleted file mode 100644 index 11222a9d..00000000 Binary files a/documentation/build/doctrees/graphicsItems/plotdataitem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/plotitem.doctree b/documentation/build/doctrees/graphicsItems/plotitem.doctree deleted file mode 100644 index c80871dc..00000000 Binary files a/documentation/build/doctrees/graphicsItems/plotitem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/roi.doctree b/documentation/build/doctrees/graphicsItems/roi.doctree deleted file mode 100644 index ad83ccd5..00000000 Binary files a/documentation/build/doctrees/graphicsItems/roi.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/scalebar.doctree b/documentation/build/doctrees/graphicsItems/scalebar.doctree deleted file mode 100644 index 3a56a7bf..00000000 Binary files a/documentation/build/doctrees/graphicsItems/scalebar.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/scatterplotitem.doctree b/documentation/build/doctrees/graphicsItems/scatterplotitem.doctree deleted file mode 100644 index c36093d4..00000000 Binary files a/documentation/build/doctrees/graphicsItems/scatterplotitem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/uigraphicsitem.doctree b/documentation/build/doctrees/graphicsItems/uigraphicsitem.doctree deleted file mode 100644 index bc977697..00000000 Binary files a/documentation/build/doctrees/graphicsItems/uigraphicsitem.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/viewbox.doctree b/documentation/build/doctrees/graphicsItems/viewbox.doctree deleted file mode 100644 index 7a2e13a6..00000000 Binary files a/documentation/build/doctrees/graphicsItems/viewbox.doctree and /dev/null differ diff --git a/documentation/build/doctrees/graphicsItems/vtickgroup.doctree b/documentation/build/doctrees/graphicsItems/vtickgroup.doctree deleted file mode 100644 index 9ecc872b..00000000 Binary files a/documentation/build/doctrees/graphicsItems/vtickgroup.doctree and /dev/null differ diff --git a/documentation/build/doctrees/style.doctree b/documentation/build/doctrees/style.doctree deleted file mode 100644 index bf141c9e..00000000 Binary files a/documentation/build/doctrees/style.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/checktable.doctree b/documentation/build/doctrees/widgets/checktable.doctree deleted file mode 100644 index d64858a9..00000000 Binary files a/documentation/build/doctrees/widgets/checktable.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/colorbutton.doctree b/documentation/build/doctrees/widgets/colorbutton.doctree deleted file mode 100644 index e9352b2b..00000000 Binary files a/documentation/build/doctrees/widgets/colorbutton.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/datatreewidget.doctree b/documentation/build/doctrees/widgets/datatreewidget.doctree deleted file mode 100644 index e9673c84..00000000 Binary files a/documentation/build/doctrees/widgets/datatreewidget.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/filedialog.doctree b/documentation/build/doctrees/widgets/filedialog.doctree deleted file mode 100644 index 17e770c9..00000000 Binary files a/documentation/build/doctrees/widgets/filedialog.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/gradientwidget.doctree b/documentation/build/doctrees/widgets/gradientwidget.doctree deleted file mode 100644 index 6d09b2c6..00000000 Binary files a/documentation/build/doctrees/widgets/gradientwidget.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/graphicslayoutwidget.doctree b/documentation/build/doctrees/widgets/graphicslayoutwidget.doctree deleted file mode 100644 index 6fc16da9..00000000 Binary files a/documentation/build/doctrees/widgets/graphicslayoutwidget.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/graphicsview.doctree b/documentation/build/doctrees/widgets/graphicsview.doctree deleted file mode 100644 index 179bef42..00000000 Binary files a/documentation/build/doctrees/widgets/graphicsview.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/histogramlutwidget.doctree b/documentation/build/doctrees/widgets/histogramlutwidget.doctree deleted file mode 100644 index 09c8c0f1..00000000 Binary files a/documentation/build/doctrees/widgets/histogramlutwidget.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/imageview.doctree b/documentation/build/doctrees/widgets/imageview.doctree deleted file mode 100644 index cec32208..00000000 Binary files a/documentation/build/doctrees/widgets/imageview.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/joystickbutton.doctree b/documentation/build/doctrees/widgets/joystickbutton.doctree deleted file mode 100644 index 4e22f97e..00000000 Binary files a/documentation/build/doctrees/widgets/joystickbutton.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/multiplotwidget.doctree b/documentation/build/doctrees/widgets/multiplotwidget.doctree deleted file mode 100644 index c548d001..00000000 Binary files a/documentation/build/doctrees/widgets/multiplotwidget.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/plotwidget.doctree b/documentation/build/doctrees/widgets/plotwidget.doctree deleted file mode 100644 index 29b5c889..00000000 Binary files a/documentation/build/doctrees/widgets/plotwidget.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/progressdialog.doctree b/documentation/build/doctrees/widgets/progressdialog.doctree deleted file mode 100644 index 0c6a7f2c..00000000 Binary files a/documentation/build/doctrees/widgets/progressdialog.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/rawimagewidget.doctree b/documentation/build/doctrees/widgets/rawimagewidget.doctree deleted file mode 100644 index 8bcfeb1b..00000000 Binary files a/documentation/build/doctrees/widgets/rawimagewidget.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/spinbox.doctree b/documentation/build/doctrees/widgets/spinbox.doctree deleted file mode 100644 index f3b88a28..00000000 Binary files a/documentation/build/doctrees/widgets/spinbox.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/tablewidget.doctree b/documentation/build/doctrees/widgets/tablewidget.doctree deleted file mode 100644 index 21539df7..00000000 Binary files a/documentation/build/doctrees/widgets/tablewidget.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/treewidget.doctree b/documentation/build/doctrees/widgets/treewidget.doctree deleted file mode 100644 index 3d171057..00000000 Binary files a/documentation/build/doctrees/widgets/treewidget.doctree and /dev/null differ diff --git a/documentation/build/doctrees/widgets/verticallabel.doctree b/documentation/build/doctrees/widgets/verticallabel.doctree deleted file mode 100644 index c4d66a57..00000000 Binary files a/documentation/build/doctrees/widgets/verticallabel.doctree and /dev/null differ diff --git a/documentation/build/html/_sources/widgets/imageview.txt b/documentation/build/html/_sources/widgets/imageview.txt deleted file mode 100644 index 1eadabbf..00000000 --- a/documentation/build/html/_sources/widgets/imageview.txt +++ /dev/null @@ -1,8 +0,0 @@ -ImageView -========= - -.. autoclass:: pyqtgraph.ImageView - :members: - - .. automethod:: pyqtgraph.ImageView.__init__ - diff --git a/documentation/build/html/widgets/imageview.html b/documentation/build/html/widgets/imageview.html deleted file mode 100644 index 85680aa6..00000000 --- a/documentation/build/html/widgets/imageview.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - ImageView — pyqtgraph v1.8 documentation - - - - - - - - - - - - - - -
-
-
-
- -
-

ImageView

-
-
-class pyqtgraph.ImageView(parent=None, name='ImageView', *args)
-
-
-__init__(parent=None, name='ImageView', *args)
-
- -
-
-jumpFrames(n)
-

If this is a video, move ahead n frames

-
- -
-
-setImage(img, autoRange=True, autoLevels=True, levels=None, axes=None, xvals=None, pos=None, scale=None)
-

Set the image to be displayed in the widget. -Options are:

-
-

img: ndarray; the image to be displayed. -autoRange: bool; whether to scale/pan the view to fit the image. -autoLevels: bool; whether to update the white/black levels to fit the image. -levels: (min, max); the white and black level values to use. -axes: {‘t’:0, ‘x’:1, ‘y’:2, ‘c’:3}; Dictionary indicating the interpretation for each axis.

-
-This is only needed to override the default guess.
-
-
- -
-
-timeIndex(slider)
-

Return the time and frame index indicated by a slider

-
- -
- -
- - -
-
-
-
-
-

Previous topic

-

PlotWidget

-

Next topic

-

DataTreeWidget

-

This Page

- - - -
-
-
-
- - - - \ No newline at end of file diff --git a/graphicsItems/ImageItem.old b/graphicsItems/ImageItem.old deleted file mode 100644 index 726814e0..00000000 --- a/graphicsItems/ImageItem.old +++ /dev/null @@ -1,398 +0,0 @@ -from pyqtgraph.Qt import QtGui, QtCore -import numpy as np -try: - import scipy.weave as weave - from scipy.weave import converters -except: - pass -import pyqtgraph.functions as fn -import pyqtgraph.debug as debug -from GraphicsObject import GraphicsObject - -__all__ = ['ImageItem'] -class ImageItem(GraphicsObject): - """ - GraphicsObject displaying an image. Optimized for rapid update (ie video display) - - """ - - - sigImageChanged = QtCore.Signal() - - ## performance gains from this are marginal, and it's rather unreliable. - useWeave = False - - def __init__(self, image=None, copy=True, parent=None, border=None, mode=None, *args): - #QObjectWorkaround.__init__(self) - GraphicsObject.__init__(self) - #self.pixmapItem = QtGui.QGraphicsPixmapItem(self) - self.qimage = QtGui.QImage() - self.pixmap = None - self.paintMode = mode - #self.useWeave = True - self.blackLevel = None - self.whiteLevel = None - self.alpha = 1.0 - self.image = None - self.clipLevel = None - self.drawKernel = None - if border is not None: - border = fn.mkPen(border) - self.border = border - - #QtGui.QGraphicsPixmapItem.__init__(self, parent, *args) - #self.pixmapItem = QtGui.QGraphicsPixmapItem(self) - if image is not None: - self.updateImage(image, copy, autoRange=True) - #self.setCacheMode(QtGui.QGraphicsItem.DeviceCoordinateCache) - - #self.item = QtGui.QGraphicsPixmapItem(parent=self) - - def setCompositionMode(self, mode): - self.paintMode = mode - self.update() - - def setAlpha(self, alpha): - self.alpha = alpha - self.updateImage() - - #def boundingRect(self): - #return self.pixmapItem.boundingRect() - #return QtCore.QRectF(0, 0, self.qimage.width(), self.qimage.height()) - - def width(self): - if self.pixmap is None: - return None - return self.pixmap.width() - - def height(self): - if self.pixmap is None: - return None - return self.pixmap.height() - - def boundingRect(self): - if self.pixmap is None: - return QtCore.QRectF(0., 0., 0., 0.) - return QtCore.QRectF(0., 0., float(self.width()), float(self.height())) - - def setClipLevel(self, level=None): - self.clipLevel = level - - #def paint(self, p, opt, widget): - #pass - #if self.pixmap is not None: - #p.drawPixmap(0, 0, self.pixmap) - #print "paint" - - def setLevels(self, white=None, black=None): - if white is not None: - self.whiteLevel = white - if black is not None: - self.blackLevel = black - self.updateImage() - - def getLevels(self): - return self.whiteLevel, self.blackLevel - - def updateImage(self, *args, **kargs): - ## can we make any assumptions here that speed things up? - ## dtype, range, size are all the same? - defaults = { - 'autoRange': False, - } - defaults.update(kargs) - return self.setImage(*args, **defaults) - - def setImage(self, image=None, copy=True, autoRange=True, clipMask=None, white=None, black=None, axes=None): - prof = debug.Profiler('ImageItem.updateImage 0x%x' %id(self)) - #debug.printTrace() - if axes is None: - axh = {'x': 0, 'y': 1, 'c': 2} - else: - axh = axes - #print "Update image", black, white - if white is not None: - self.whiteLevel = white - if black is not None: - self.blackLevel = black - - gotNewData = False - if image is None: - if self.image is None: - return - else: - gotNewData = True - if self.image is None or image.shape != self.image.shape: - self.prepareGeometryChange() - if copy: - self.image = image.view(np.ndarray).copy() - else: - self.image = image.view(np.ndarray) - #print " image max:", self.image.max(), "min:", self.image.min() - prof.mark('1') - - # Determine scale factors - if autoRange or self.blackLevel is None: - if self.image.dtype is np.ubyte: - self.blackLevel = 0 - self.whiteLevel = 255 - else: - self.blackLevel = self.image.min() - self.whiteLevel = self.image.max() - #print "Image item using", self.blackLevel, self.whiteLevel - - if self.blackLevel != self.whiteLevel: - scale = 255. / (self.whiteLevel - self.blackLevel) - else: - scale = 0. - - prof.mark('2') - - ## Recolor and convert to 8 bit per channel - # Try using weave, then fall back to python - shape = self.image.shape - black = float(self.blackLevel) - white = float(self.whiteLevel) - - if black == 0 and white == 255 and self.image.dtype == np.ubyte: - im = self.image - elif self.image.dtype in [np.ubyte, np.uint16]: - # use lookup table instead - npts = 2**(self.image.itemsize * 8) - lut = self.getLookupTable(npts, black, white) - im = lut[self.image] - else: - im = self.applyColorScaling(self.image, black, scale) - - prof.mark('3') - - try: - im1 = np.empty((im.shape[axh['y']], im.shape[axh['x']], 4), dtype=np.ubyte) - except: - print im.shape, axh - raise - alpha = np.clip(int(255 * self.alpha), 0, 255) - prof.mark('4') - # Fill image - if im.ndim == 2: - im2 = im.transpose(axh['y'], axh['x']) - im1[..., 0] = im2 - im1[..., 1] = im2 - im1[..., 2] = im2 - im1[..., 3] = alpha - elif im.ndim == 3: #color image - im2 = im.transpose(axh['y'], axh['x'], axh['c']) - if im2.shape[2] > 4: - raise Exception("ImageItem got image with more than 4 color channels (shape is %s; axes are %s)" % (str(im.shape), str(axh))) - ## [B G R A] Reorder colors - order = [2,1,0,3] ## for some reason, the colors line up as BGR in the final image. - - for i in range(0, im.shape[axh['c']]): - im1[..., order[i]] = im2[..., i] - - ## fill in unused channels with 0 or alpha - for i in range(im.shape[axh['c']], 3): - im1[..., i] = 0 - if im.shape[axh['c']] < 4: - im1[..., 3] = alpha - - else: - raise Exception("Image must be 2 or 3 dimensions") - #self.im1 = im1 - # Display image - prof.mark('5') - if self.clipLevel is not None or clipMask is not None: - if clipMask is not None: - mask = clipMask.transpose() - else: - mask = (self.image < self.clipLevel).transpose() - im1[..., 0][mask] *= 0.5 - im1[..., 1][mask] *= 0.5 - im1[..., 2][mask] = 255 - prof.mark('6') - #print "Final image:", im1.dtype, im1.min(), im1.max(), im1.shape - self.ims = im1.tostring() ## Must be held in memory here because qImage won't do it for us :( - prof.mark('7') - qimage = QtGui.QImage(buffer(self.ims), im1.shape[1], im1.shape[0], QtGui.QImage.Format_ARGB32) - prof.mark('8') - self.pixmap = QtGui.QPixmap.fromImage(qimage) - prof.mark('9') - ##del self.ims - #self.item.setPixmap(self.pixmap) - - self.update() - prof.mark('10') - - if gotNewData: - #self.emit(QtCore.SIGNAL('imageChanged')) - self.sigImageChanged.emit() - - prof.finish() - - def getLookupTable(self, num, black, white): - num = int(num) - black = int(black) - white = int(white) - if white < black: - b = black - black = white - white = b - key = (num, black, white) - lut = np.empty(num, dtype=np.ubyte) - lut[:black] = 0 - rng = lut[black:white] - try: - rng[:] = np.linspace(0, 255, white-black)[:len(rng)] - except: - print key, rng.shape - lut[white:] = 255 - return lut - - - def applyColorScaling(self, img, offset, scale): - try: - if not ImageItem.useWeave: - raise Exception('Skipping weave compile') - #sim = np.ascontiguousarray(self.image) ## should not be needed - sim = img.reshape(img.size) - #sim.shape = sim.size - im = np.empty(sim.shape, dtype=np.ubyte) - n = im.size - - code = """ - for( int i=0; i 255.0 ) - a = 255.0; - else if( a < 0.0 ) - a = 0.0; - im(i) = a; - } - """ - - weave.inline(code, ['sim', 'im', 'n', 'offset', 'scale'], type_converters=converters.blitz, compiler = 'gcc') - #sim.shape = shape - im.shape = img.shape - except: - if ImageItem.useWeave: - ImageItem.useWeave = False - #sys.excepthook(*sys.exc_info()) - #print "==============================================================================" - #print "Weave compile failed, falling back to slower version." - #img.shape = shape - im = ((img - offset) * scale).clip(0.,255.).astype(np.ubyte) - return im - - - def getPixmap(self): - return self.pixmap.copy() - - def getHistogram(self, bins=500, step=3): - """returns x and y arrays containing the histogram values for the current image. - The step argument causes pixels to be skipped when computing the histogram to save time.""" - if self.image is None: - return None,None - stepData = self.image[::step, ::step] - hist = np.histogram(stepData, bins=bins) - return hist[1][:-1], hist[0] - - def setPxMode(self, b): - """Set whether the item ignores transformations and draws directly to screen pixels.""" - self.setFlag(self.ItemIgnoresTransformations, b) - - def setScaledMode(self): - self.setPxMode(False) - - def mousePressEvent(self, ev): - if self.drawKernel is not None and ev.button() == QtCore.Qt.LeftButton: - self.drawAt(ev.pos(), ev) - ev.accept() - else: - ev.ignore() - - def mouseMoveEvent(self, ev): - #print "mouse move", ev.pos() - if self.drawKernel is not None: - self.drawAt(ev.pos(), ev) - - def mouseReleaseEvent(self, ev): - pass - - def tabletEvent(self, ev): - print ev.device() - print ev.pointerType() - print ev.pressure() - - def drawAt(self, pos, ev=None): - pos = [int(pos.x()), int(pos.y())] - dk = self.drawKernel - kc = self.drawKernelCenter - sx = [0,dk.shape[0]] - sy = [0,dk.shape[1]] - tx = [pos[0] - kc[0], pos[0] - kc[0]+ dk.shape[0]] - ty = [pos[1] - kc[1], pos[1] - kc[1]+ dk.shape[1]] - - for i in [0,1]: - dx1 = -min(0, tx[i]) - dx2 = min(0, self.image.shape[0]-tx[i]) - tx[i] += dx1+dx2 - sx[i] += dx1+dx2 - - dy1 = -min(0, ty[i]) - dy2 = min(0, self.image.shape[1]-ty[i]) - ty[i] += dy1+dy2 - sy[i] += dy1+dy2 - - #print sx - #print sy - #print tx - #print ty - #print self.image.shape - #print self.image[tx[0]:tx[1], ty[0]:ty[1]].shape - #print dk[sx[0]:sx[1], sy[0]:sy[1]].shape - ts = (slice(tx[0],tx[1]), slice(ty[0],ty[1])) - ss = (slice(sx[0],sx[1]), slice(sy[0],sy[1])) - #src = dk[sx[0]:sx[1], sy[0]:sy[1]] - #mask = self.drawMask[sx[0]:sx[1], sy[0]:sy[1]] - mask = self.drawMask - src = dk - #print self.image[ts].shape, src.shape - - if callable(self.drawMode): - self.drawMode(dk, self.image, mask, ss, ts, ev) - else: - src = src[ss] - if self.drawMode == 'set': - if mask is not None: - mask = mask[ss] - self.image[ts] = self.image[ts] * (1-mask) + src * mask - else: - self.image[ts] = src - elif self.drawMode == 'add': - self.image[ts] += src - else: - raise Exception("Unknown draw mode '%s'" % self.drawMode) - self.updateImage() - - def setDrawKernel(self, kernel=None, mask=None, center=(0,0), mode='set'): - self.drawKernel = kernel - self.drawKernelCenter = center - self.drawMode = mode - self.drawMask = mask - - def paint(self, p, *args): - - #QtGui.QGraphicsPixmapItem.paint(self, p, *args) - if self.pixmap is None: - return - if self.paintMode is not None: - p.setCompositionMode(self.paintMode) - p.drawPixmap(self.boundingRect(), self.pixmap, QtCore.QRectF(0, 0, self.pixmap.width(), self.pixmap.height())) - if self.border is not None: - p.setPen(self.border) - p.drawRect(self.boundingRect()) - - def pixelSize(self): - """return size of a single pixel in the image""" - br = self.sceneBoundingRect() - return br.width()/self.pixmap.width(), br.height()/self.pixmap.height() diff --git a/graphicsItems/ViewBox.pyc.renamed1 b/graphicsItems/ViewBox.pyc.renamed1 deleted file mode 100644 index 29807d79..00000000 Binary files a/graphicsItems/ViewBox.pyc.renamed1 and /dev/null differ