Changeset 426 for branches

Show
Ignore:
Timestamp:
08/25/09 11:09:38 (3 years ago)
Author:
pierre
Message:

Try to pass all the tests with the interval package

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/interval/src/signals/spikes.py

    r425 r426  
    9797            raise ValueError("spikes time stamps should be *positive* *numbers*") 
    9898 
    99         self.interval = self.extract_intervals_from_SpikeTrain_arguments(t_start, t_stop, interval)         
    100         if not (self.interval.t_start() >= 0) and (self.interval.t_stop() >= 0) : 
     99        self.interval = self.extract_intervals_from_SpikeTrain_arguments(t_start, t_stop, interval) 
     100        self.update_t_start_and_t_stop() 
     101         
     102        if not (self.t_start >= 0) and (self.t_stop >= 0) : 
    101103            raise ValueError("t_start and t_stop should be greater than 0") 
    102         self.update_t_start_and_t_stop() 
    103104 
    104105        self.spike_times = self.interval.slice_times(numpy.array(self.spike_times, numpy.float32)) 
     
    119120            if t_start == None and t_stop == None : 
    120121                try: 
    121                     t_start = min(self.spike_times) 
     122                    t_start = numpy.min(self.spike_times) 
    122123                except Exception: 
    123124                    print "Error in guessing t_start (first spike), spikes may be empty !" 
    124125                    t_start = 0 
    125126                try: 
    126                     t_stop  = max(self.spike_times) 
     127                    t_stop  = numpy.max(self.spike_times) 
    127128                except Exception: 
    128129                    print "Error in guessing t_stop (last spike), spikes may be empty !" 
     
    132133                if t_start == None : 
    133134                    try: 
    134                         t_start  = min(self.spike_times) 
     135                        t_start  = numpy.min(self.spike_times) 
    135136                    except Exception: 
    136137                        print "Error in guessing t_stop (last spike), spikes may be empty !" 
     
    140141                    if t_start.__class__.__name__ == 'float' or t_start.__class__.__name__ == 'int' : 
    141142                        try: 
    142                             t_stop  = max(self.spike_times) 
     143                            t_stop  = numpy.max(self.spike_times) 
    143144                        except Exception: 
    144145                            print "Error in guessing t_stop (last spike), spikes may be empty !" 
     
    381382     
    382383 
    383     def fano_factor_isi(self, t_start=None, t_stop=None, interval=None): 
     384    def fano_factor_isi(self): 
    384385        """  
    385386        Return the fano factor of this spike trains ISI. 
     
    848849                if id in id_list: 
    849850                    self.spiketrains[id] = SpikeTrain(spikes[break_points[idx]:break_points[idx+1], 1]) 
     851         
    850852        self.interval = self.extract_intervals_from_SpikeList_arguments(t_start, t_stop, interval) 
     853         
    851854        if len(self) > 0: 
    852855            for id in self.spiketrains.keys(): 
    853856                self.spiketrains[id].interval = self.interval 
     857                self.spiketrains[id].update_t_start_and_t_stop() 
     858 
    854859        self.update_t_start_and_t_stop() 
    855          
     860 
    856861    def id_list(self): 
    857862        """  
     
    863868                [0,1,2,3,....,9999] 
    864869        """ 
    865         print self.spiketrains.keys() 
    866870        return numpy.array(self.spiketrains.keys(), int) 
    867871 
     
    886890            if t_start == None and t_stop == None : 
    887891                try: 
    888                     start_times = numpy.array([self.spiketrains[idx].interval.t_start() for idx in self.id_list()], numpy.float64) 
    889                     t_start = numpy.min(start_times) 
     892                    start_times = numpy.array([self.spiketrains[idx].t_start for idx in self.id_list()], numpy.float32) 
     893                    t_start     = numpy.min(start_times) 
    890894                    logging.debug("Warning, t_start is infered from the data : %f" %t_start) 
    891895                except Exception: 
     
    893897                    t_start = 0 
    894898                try: 
    895                     stop_times = numpy.array([self.spiketrains[idx].interval.t_stop() for idx in self.id_list()], numpy.float64) 
     899                    stop_times = numpy.array([self.spiketrains[idx].t_stop for idx in self.id_list()], numpy.float32) 
    896900                    t_stop  = numpy.max(stop_times) 
    897901                    logging.debug("Warning, t_stop  is infered from the data : %f" %t_stop)      
     
    903907                if t_start == None : 
    904908                    try: 
    905                         start_times = numpy.array([self.spiketrains[idx].interval.t_start() for idx in self.id_list()], numpy.float64) 
     909                        start_times = numpy.array([self.spiketrains[idx].t_start for idx in self.id_list()], numpy.float32) 
    906910                        t_start = numpy.min(start_times) 
    907911                        logging.debug("Warning, t_start is infered from the data : %f" %t_start) 
     
    913917                    if t_start.__class__.__name__ == 'float' or t_start.__class__.__name__ == 'int' : 
    914918                        try: 
    915                             stop_times = numpy.array([self.spiketrains[idx].interval.t_stop() for idx in self.id_list()], numpy.float64) 
     919                            stop_times = numpy.array([self.spiketrains[idx].t_stop for idx in self.id_list()], numpy.float64) 
    916920                            t_stop  = numpy.max(stop_times) 
    917921                            logging.debug("Warning, t_stop  is infered from the data : %f" %t_stop)