Changeset 188
- Timestamp:
- 08/05/08 15:38:51 (4 months ago)
- Files:
-
- trunk/src/analysis.py (modified) (3 diffs)
- trunk/src/parameters.py (modified) (1 diff)
- trunk/src/signals.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/analysis.py
r187 r188 118 118 """ 119 119 self._tuning_curves = {} 120 self._counts = {} 120 121 if D is not None: 121 122 for k,v in D.items(): 122 123 self._tuning_curves[k] = [v] 124 self._counts[k] = 1 123 125 self.n = 1 124 126 else: … … 128 130 for k,v in D.items(): 129 131 self._tuning_curves[k].append(v) 132 self._counts[k] += 1 130 133 self.n += 1 131 134 … … 135 138 D[k] = v[i] 136 139 return D 140 141 def __repr__(self): 142 return "TuningCurve: %s" % self._tuning_curves 137 143 138 144 def stats(self): trunk/src/parameters.py
r187 r188 101 101 else: 102 102 self._values = value 103 104 def __str__(self): 105 return self._values.__str__() 103 106 104 107 def __repr__(self): trunk/src/signals.py
r186 r188 253 253 firing rates in spikes/second, otherwise it's the number of spikes per bin. 254 254 """ 255 nbins = self.time_axis(time_bin) 256 (hist, lower_edges ) = numpy.histogram(self.spike_times, nbins) 257 if normalized: 255 if hasattr(time_bin, '__len__'): 256 bins = time_bin 257 else: 258 bins = self.time_axis(time_bin) 259 260 (hist, lower_edges ) = numpy.histogram(self.spike_times, bins) 261 if normalized and isinstance(time_bin, int): # what about normalization if time_bin is a sequence? 258 262 hist *= 1000.0/time_bin 259 263 return hist … … 311 315 if method == 'mean': 312 316 for k in tuning_curve.keys(): 313 tuning_curve[k] = tuning_curve[k]/ counts[k]317 tuning_curve[k] = tuning_curve[k]/float(counts[k]) 314 318 return tuning_curve 315 319 … … 460 464 self.spiketrains[id] = spiketrain 461 465 self.id_list.append(id) 462 self.__calc_startstop() 466 self.t_start = min(self.t_start, spiketrain.t_start) or spiketrain.t_start # in case self.t_start is None 467 self.t_stop = max(self.t_stop, spiketrain.t_stop) 463 468 464 469 def get_time_parameters(self): … … 649 654 mean firing rate of the all population along time 650 655 """ 651 nbins = numpy.ceil((self.t_stop-self.t_start)/time_bin) 652 spike_hist = numpy.zeros((self.N(),nbins), float) 656 if hasattr(time_bin, '__len__'): 657 nbins = len(time_bin) 658 else: 659 nbins = numpy.ceil((self.t_stop-self.t_start)/float(time_bin)) 660 spike_hist = numpy.zeros((self.N(), nbins), float) 653 661 logging.debug("nbins = %d" % nbins) 654 662 for idx,id in enumerate(self.id_list): 655 spike_hist[idx,:] = self.spiketrains[id].time_histogram(time_bin,normalized) 663 try: 664 spike_hist[idx,:] = self.spiketrains[id].time_histogram(time_bin,normalized) 665 except ValueError: 666 print spike_hist[idx,:].shape, self.spiketrains[id].time_histogram(time_bin,normalized).shape 667 print nbins, self.t_start, self.t_stop 668 print self.spiketrains[id].t_start, self.spiketrains[id].t_stop 669 raise 656 670 if display: 657 671 pylab.figure()

