def analyzeLoop(self): respDelay=self.params['respDelay'] res=int(self.params['res']) pre=int(self.params['pre']) dur=int(self.params['dur']) rep=self.repCounter step=self.stepCounter-1 cn=int(self.params['box_order'][step]) lineNum=cn ''' if mod(res,2)==0: lineNum=cn-(res**2/2+1) else: lineNum=cn-(res**2/2.-res/2.+1) ''' if self.params['analysis']=='spike' or self.params['analysis']=='spikes': reload(spikeAnalysis) spt=spikeAnalysis.findspikes(self.dataIn[1],slope=self.params['slope']) if len(spt)>0 or True: spt=spt*DT preAmp=len(nonzero(spt<pre+respDelay)[0]) durAmp=len(intersect1d(nonzero(spt>pre+respDelay)[0],nonzero(spt<pre+dur+respDelay)[0])) postAmp=len(intersect1d(nonzero(spt>pre+dur+respDelay)[0],nonzero(spt<pre+dur+respDelay+500)[0])) newValues=((float(durAmp)/dur-float(preAmp)/(pre+respDelay))*1e3,1e3*(float(postAmp)/500-float(preAmp)/(pre+respDelay))) self.analysisDict['bgf']=1e3*float(preAmp)/(pre+respDelay) durFR=1e3*float(durAmp)/dur postFR=1e3*float(postAmp)/500 print 'spike rate (pre,dur,post): (%1.0f, %1.0f, %1.0f,)' % (self.analysisDict['bgf'],durFR,postFR) else: newValues=(0,0) else: d=self.dataIn[1] preAmp=d[0:int(pre/DT)].mean() durAmp=d[int((pre+respDelay)/DT):int((pre+dur+respDelay)/DT)].mean() postAmp=d[int((pre+dur+respDelay)/DT):int((pre+dur+respDelay+500)/DT)].mean() newValues=(durAmp-preAmp,postAmp-preAmp) self.RFLineDur[rep-1][lineNum]=newValues[0] self.RFLinePost[rep-1][lineNum]=newValues[1]
def analyzeLoop(self): respDelay=self.params['respDelay'] pre=int(self.params['pre']) dur=int(self.params['dur']) step=int(mod(self.repCounter-1,len(self.params['box_order']))) cn=int(self.params['box_order'][step]) res=int(self.params['res']) [xi,yi]=meshgrid(arange(res),arange(res)) self.visParams['step']=step+1 self.visParams['squarenum']=cn if self.params['analysis']=='spike': reload(spikeAnalysis) spt=spikeAnalysis.findspikes(self.dataIn[1],slope=self.params['slope']) spt=spt*DT preAmp=len(nonzero(spt<pre+respDelay)[0]) durAmp=len(intersect1d(nonzero(spt>pre+respDelay)[0],nonzero(spt<pre+dur+respDelay)[0])) postAmp=len(intersect1d(nonzero(spt>pre+dur+respDelay)[0],nonzero(spt<pre+dur+respDelay+500)[0])) newValues=((float(durAmp)/dur-float(preAmp)/(pre+respDelay))*1e3,1e3*(float(postAmp)/500-float(preAmp)/(pre+respDelay))) self.analysisDict['bgf']=1e3*float(preAmp)/(pre+respDelay) durFR=1e3*float(durAmp)/dur postFR=1e3*float(postAmp)/500 print 'spike rate (pre,dur,post): (%1.0f, %1.0f, %1.0f,)' % (self.analysisDict['bgf'],durFR,postFR) else: d=self.dataIn[1] preAmp=d[0:int(pre/DT)].mean() durAmp=d[int((pre+respDelay)/DT):int((pre+dur+respDelay)/DT)].mean() postAmp=d[int((pre+dur+respDelay)/DT):int((pre+dur+respDelay+500)/DT)].mean() newValues=(durAmp-preAmp,postAmp-preAmp) curX=floor((cn-1)/res) curY=mod(cn-1,res) for i in range(2): self.RFmap[i][curX][curY]=newValues[i] self.RFvec[i][cn]=newValues[i] self.curX=curX self.curY=curY