class PsdPreview(Preview): def __init__(self, master, dim, lf, hf, dpi=72, label="PSD", Z=None): Preview.__init__(self, master, dim, dpi, label) self.lf = lf self.hf = hf if self.ring: self.createRing() else: self.canvas.draw() def _createAxes(self): #axdef = SubplotZero(self.figure, 111) #ax = self.figure.add_subplot(axdef) ax = self.figure.add_axes([0.1, 0.1, 0.8, 0.8], frameon=False) #ax.xaxis.set_offset_position(0.5) #ax.set_position([0, 0, 1, 1]) h = 0.5 ax.set_xlim(-h, h) ax.set_ylim(-h, h) ax.grid(True) self.ring = None self.img = ax.imshow(self.bg, cmap=cm.gray, extent=[-h, h, -h, h]) self.ax = ax def createRing(self): radius = float(self.hf) width = radius - float(self.lf) self.ring = Wedge((0, 0), radius, 0, 360, width=width, alpha=0.15) # Full ring self.ax.add_patch(self.ring) self.canvas.draw() def updateFreq(self, lf, hf): self.lf = lf self.hf = hf if self.ring: self.ring.remove() self.ring = None if self.hf: self.createRing() def _update(self, Z): if self.ring: self.ring.remove() self.ring = None if self.hf: self.createRing() self.img.set_data(Z) self.img.autoscale() self.canvas.draw()
class PsdPreview(Preview): def __init__(self, master, dim, lf, hf, dpi=72, label="PSD", Z=None): Preview.__init__(self, master, dim, dpi, label) self.lf = lf self.hf = hf if self.ring: self.createRing() else: self.canvas.draw() def _createAxes(self): #axdef = SubplotZero(self.figure, 111) #ax = self.figure.add_subplot(axdef) ax = self.figure.add_axes([0.1,0.1,0.8,0.8], frameon=False) #ax.xaxis.set_offset_position(0.5) #ax.set_position([0, 0, 1, 1]) h = 0.5 ax.set_xlim(-h, h) ax.set_ylim(-h, h) ax.grid(True) self.ring = None self.img = ax.imshow(self.bg, cmap=cm.gray, extent=[-h, h, -h, h]) self.ax = ax def createRing(self): radius = float(self.hf) width = radius - float(self.lf) self.ring = Wedge((0,0), radius, 0, 360, width=width, alpha=0.15) # Full ring self.ax.add_patch(self.ring) self.canvas.draw() def updateFreq(self, lf, hf): self.lf = lf self.hf = hf if self.ring: self.ring.remove() self.ring = None if self.hf: self.createRing() def _update(self, Z): if self.ring: self.ring.remove() self.ring = None if self.hf: self.createRing() self.img.set_data(Z) self.img.autoscale() self.canvas.draw()
class PsdPreview(Preview): def __init__(self, master, dim, lf, hf, dpi=72, label="PSD", listenersDict=None): Preview.__init__(self, master, dim, dpi, label, listenersDict=listenersDict) self.lf = lf self.hf = hf if self.ring: self.createRing() else: self.canvas.draw() def _createAxes(self): ax = self.figure.add_axes([0, 0, 1, 1], frameon=False) h = 0.5 ax.set_xlim(-h, h) ax.set_ylim(-h, h) ax.tick_params(axis="x", direction="in", pad=-15) ax.tick_params(axis="y", direction="in", pad=-22) ax.grid(True) self.ring = None self.img = ax.imshow(self.bg, cmap=cm.gray, extent=[-h, h, -h, h]) self.ax = ax def createRing(self): radius = float(self.hf) width = radius - float(self.lf) styleArgs = getWedgeExtraParams(self.dim / 2) self.ring = Wedge((0, 0), radius, 0, 360, width=width, **styleArgs) # Full ring self.ax.add_patch(self.ring) self.canvas.draw() def updateFreq(self, lf, hf): self.lf = lf self.hf = hf if self.ring: self.ring.remove() self.ring = None if self.hf: self.createRing() def _update(self, Z): if self.ring: self.ring.remove() self.ring = None if self.hf: self.createRing() self.img.set_data(Z) self.img.autoscale() self.canvas.draw()