Example #1
0
	def showStats2(self, event=None):
		stats=WAVESTATS.keys()
		optstats=["None"]+stats
		d=self.askParam([{"Name":"X Axis", "Type":"List", "Value":stats},
						 {"Name":"Y Axis", "Type":"List", "Value":stats},
						 {"Name":"Color",  "Type":"List", "Value":optstats},
						 {"Name":"Point Size",  "Type":"List", "Value":optstats},
						  ])
		if not d:
			return
		g=self.subPlot("%s vs %s" % (d[1], d[0]))
		x=self.getWaveformStats(d[0])	
		self.report("X axis is %s: %.4g to %.4g" % (d[0], x.min(), x.max()))
		y=self.getWaveformStats(d[1])	
		self.report("Y axis is %s: %.4g to %.4g" % (d[1], y.min(), y.max()))
		x=column_stack([x, y])
		c=None
		w=None
		if d[2]!="None":
			c=self.getWaveformStats(d[2])
			self.report("Color is %s: %.4g to %.4g" % (d[2], c.min(), c.max()))
			g.addCscale(c, 'hot')
			c=colorscale(c, 'hot')
		if d[3]!="None":
			w=self.getWaveformStats(d[3])
			self.report("Point size is %s: %.4g to %.4g" % (d[3], w.min(), w.max()))
			w=w-w.min()
			w=w/w.max()
			w=4+15*w
		g.addPlot(x, style="points", colorlist=c, widthlist=w, width=6, name="SSStats")
		g.fullScale()
		g.DrawAll()
Example #2
0
	def subAltClick(self, event):
		x=event.GetX()
		y=event.GetY()
		dat=self.subplot.plots['SSStats']['data']
		dat=self.subplot.graphCoords(dat)
		spike=argmin(eucd(dat, array([x,y])))
		c=zeros(dat.shape[0])
		c[spike]=1.0
		self.selected=spike
		self.showSpike(self.selected)
		self.subplot.plots["SSStats"]['colorlist']=colorscale(c, 'hot', (-1,1.2))
		self.subplot.DrawAll()
Example #3
0
	def local_update(self, what):
		if what=='selectspike':
			if self.showing=='resid': 
				self.showCSResid(None)
			try:
				dat=self.subplot.plots['SSStats']['data']
				c=zeros(dat.shape[0])
				c[self.ss.current_spike]=1.0
				self.subplot.plots["SSStats"]['colorlist']=colorscale(c, 'hot', (-1,1.2))
				self.subplot.DrawAll()
			except:
				pass
Example #4
0
	def showStats2(self, event=None):
		check=self.cacheEvents()
		if not check:
			self.report("No waveform or event templates")
			return 
		stats=WAVESTATS.keys()
		optstats=["None"]+stats
		d=self.askParam([{"Name":"X Axis", "Type":"List", "Value":stats},
						 {"Name":"Y Axis", "Type":"List", "Value":stats},
						 {"Name":"Color",  "Type":"List", "Value":optstats},
						 {"Name":"Point Size",  "Type":"List", "Value":optstats},
						  ])
		if not d:
			return
		print d[0]
		x=self.getWaveformStats(d[0])	
		self.report("X axis is %s: %.4g to %.4g" % (d[0], x.min(), x.max()))
		y=self.getWaveformStats(d[1])	
		self.report("Y axis is %s: %.4g to %.4g" % (d[1], y.min(), y.max()))
		x=column_stack([x, y])
		c=None
		w=None
		g=self.subPlot("%s vs %s" % (d[1], d[0]))
		if d[2]!="None":
			c=self.getWaveformStats(d[2])
			self.report("Color is %s: %.4g to %.4g" % (d[2], c.min(), c.max()))
			g.addCscale(c, 'hot')
			c=colorscale(c, 'hot')
		if d[3]!="None":
			w=self.getWaveformStats(d[3])
			self.report("Point size is %s: %.4g to %.4g" % (d[3], w.min(), w.max()))
			w=w-w.min()
			w=w/w.max()
			w=4+15*w
		n=g.addPlot(x, style="points", width=6, name="SSStats")
		if c:
			g.plots[n]['colorlist']=c
		if w!=None:
			g.plots[n]['widthlist']=w
		g.fullScale()
		g.DrawAll()
Example #5
0
	def showSelectedEvents(self, event=None):
		try:
			p=self.subplot.plots['SSStats']
			if len(self.selected_events):
				c=zeros(p['data'].shape[0])
				put(c, self.selected_events, 1)
				p['colorlist']=colorscale(c, 'hot', (-1,1.2))
			else:
				p['colorlist']=None
			self.subplot.DrawAll()
		except:
			pass
		evts=self.ss.getTemp('spikes')
		if evts[1] and len(self.selected_events):
			for n in self.ss.rgraph.plots.keys():
				if self.ss.rgraph.plots[n]['style']=='evts':
					del(self.ss.rgraph.plots[n])
			evts=evts[1].getData()
			sel=take(evts, self.selected_events, 0)
			unsel=take(evts, setdiff1d(arange(evts.shape[0]), self.selected_events), 0)
			st=domain(self.ss.dv.data)[0]
			self.ss.rgraph.addPlot(sel,style="evts", start=0, color=(250, 0, 0))
			self.ss.rgraph.addPlot(unsel,style="evts", start=0, color=(125, 125, 125))
			self.ss.rgraph.DrawAll()