@@ -3774,9 +3774,9 @@ def extractStimData_ABF_v1(self, abf_file, chanId=0, idx0=936, idx1=40936):
37743774 abf = pyabf .ABF (abf_file )
37753775 self .currentPulseTree .stimUnit = abf .dacUnits [0 ]
37763776 if 'n' in self .currentPulseTree .stimUnit .lower ():
3777- sfactor = 1000
3777+ sfactor = 1000
37783778 elif 'p' in self .currentPulseTree .stimUnit .lower ():
3779- sfactor = 1
3779+ sfactor = 1 # default pA
37803780 else :
37813781 print ('current unit not clear!' )
37823782 sfactor = 1
@@ -7143,10 +7143,13 @@ def getSingleTraceFeature(self, seriesIdx):
71437143 waves = np .zeros ((after_ + before_ , len (peaks )))
71447144 waves_dvdt = np .zeros ((after_ + before_ , len (peaks )))
71457145 waveTime = np .arange (- before_ , after_ ) / sampleRate * 1e3
7146+ max_sample = len (v_filtered )
71467147 for j , p in enumerate (peaks ):
7147- start_index = p - before_
7148- end_index = p + after_
7149- # print(start_index, end_index, sweepCount)
7148+ start_index = int (p - before_ )
7149+ end_index = int (p + after_ )
7150+ if start_index < 0 or end_index > max_sample :
7151+ continue
7152+ print (start_index , end_index )
71507153 waves [:, j ] = v_filtered [start_index :end_index ]
71517154 waves_dvdt [:, j ] = dvdt1 [start_index :end_index ]
71527155 else :
@@ -7419,6 +7422,9 @@ def plot_alignedSpikes_SingleTrace(
74197422 mplWidget .clf ()
74207423 plotWidget2 .clear ()
74217424 return
7425+ else :
7426+ peaks = [int (p ) for p in peaks ]
7427+ threhold_index = [int (p ) for p in threhold_index ]
74227428 if mplWidget == None : ## pure matplotlib
74237429 fig = MATPLT .figure (figsize = (10 , 10 ))
74247430 fig .canvas .set_window_title (title )
0 commit comments