Show
Ignore:
Timestamp:
09/02/10 15:42:45 (21 months ago)
Author:
pierre
Message:

Add a gamma_generator function into stgen, and simplify all the positions index in SpikeTrains? objects with dimensions

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/signals/spikes.py

    r453 r462  
    915915    #def __setslice__(self, i, j): 
    916916 
    917  
    918  
    919917    def __setitem__(self, id, spktrain): 
    920918        assert isinstance(spktrain, SpikeTrain), "A SpikeList object can only contain SpikeTrain objects" 
     
    10721070         
    10731071        Examples: 
    1074             >> spklist.id_list() 
     1072            >> spklist.id_list 
    10751073                [0,2,5] 
    10761074            >> spklist.complete(arange(5)) 
    1077             >> spklist.id_list() 
     1075            >> spklist.id_list 
    10781076                [0,1,2,3,4] 
    10791077        """ 
     
    17121710            return id-offset 
    17131711        if len(self.dimensions) == 2: 
    1714             x = (id-offset) % self.dimensions[1] 
    1715             y = self.dimensions[0] - 1 - numpy.floor((id-offset)/self.dimensions[1]).astype(int) 
     1712            x = (id-offset) % self.dimensions[0] 
     1713            y = ((id-offset)/self.dimensions[0]).astype(int) 
    17161714            return (x,y) 
    17171715 
     
    17351733        assert len(position) == len(tuple(self.dimensions)), "position does not have the correct shape !" 
    17361734        if len(self.dimensions) == 1: 
    1737             return position+offset 
     1735            return position + offset 
    17381736        if len(self.dimensions) == 2: 
    1739             return (self.dimensions[0] - 1 - position[1])*self.dimensions[1] + position[0] + offset 
     1737            return position[1]*self.dimensions[1] + position[0] + offset 
    17401738 
    17411739 
     
    17861784            activity_map = numpy.zeros(self.dimensions, float) 
    17871785            rates        = spklist.mean_rates() 
    1788             id_offset = min(self.id_list()) 
     1786            #id_offset    = min(self.id_list()) 
     1787            #x,y          = spklist.id2position(spklist.id_list(), id_offset) 
     1788            x,y          = spklist.id2position(spklist.id_list())             
     1789            #j,i = x, self.dimensions[0] - 1 - y 
    17891790            for count, id in enumerate(spklist.id_list()): 
    1790                 x,y = spklist.id2position(id, id_offset) 
    1791                 j,i = x, self.dimensions[0] - 1 -y 
    1792                 activity_map[i,j] = rates[count] 
     1791                #activity_map[i[count],j[count]] = rates[count]                             
     1792                activity_map[x[count],y[count]] = rates[count] 
    17931793            if not subplot or not HAVE_PYLAB or not HAVE_MATPLOTLIB: 
    17941794                return activity_map 
     
    22472247            time      = time[sort_idx] 
    22482248            pos       = pos[sort_idx] 
     2249            x,y       = spk.id2position(pos) 
    22492250            max_idx   = len(time)-1 
    22502251            logging.info('Making movie %s - this make take a while' % output) 
     
    22542255                while (t_start < t_stop): 
    22552256                    activity_map = numpy.zeros(spk.dimensions) 
    2256                     while ((time[idx] < t_start + time_bin) and (idx < max_idx)):                         
    2257                         x,y = spk.id2position(pos[idx]) 
    2258                         j,i = x, self.dimensions[0] - 1 -y 
    2259                         activity_map[i,j] += 1 
     2257                    while ((time[idx] < t_start + time_bin) and (idx < max_idx)):                                                 
     2258                        #j,i = x, self.dimensions[0] - 1 -y 
     2259                        activity_map[x[idx],y[idx]] += 1 
    22602260                        idx += 1 
    22612261                    im.set_array(activity_map)