def load_data(self, cell_list): self.cell_info = cell_list reload(hf) for row in cell_list: # go through each cell cur_exp = hf.load_analyzed_exp(row[0]) if np.size(cur_exp['spike_times']) >1: self.spike_times.append( cur_exp['spike_times'][row[1]] ) # get spike times for given cell else: # for single cell files, just append the single cell self.spike_times.append( cur_exp['spike_times'] ) self.laser_times.append( cur_exp['laser_times'][row[2]:row[3]] ) # get laser times for range of trials # initialize some variables for calculation later self.num_cells = np.size(self.cell_info, 0) self.mean_pre_isi = np.zeros(self.num_cells) self.mean_first_spike = np.zeros(self.num_cells) self.std_first_spike = np.zeros(self.num_cells) self.first_firing_above_mean = np.zeros(self.num_cells) self.inhib_latency = np.zeros(self.num_cells) self.failure_rate = np.zeros(self.num_cells)
def main(bool_plot = True): reload(hf) # list of experiments to go through exp_list = ['140819B', '140813B', '140812B', '140729B', '140722A', '140718A', '140710A', '140708B'] all_feed_rates = np.empty(0) all_nonfeed_rates = np.empty(0) for cur_exp in exp_list: #$pdb.set_trace() # load current experiment in list cur_data = hf.load_analyzed_exp(cur_exp) cur_spike_times = cur_data['spike_times'] feed_times, water_times = hf.load_feed_times(cur_exp) # calculate average firing rate for experiment and add to list feed_avg, nonfeed_avg = cfrf.main(cur_spike_times, feed_times) all_feed_rates = np.append(all_feed_rates, feed_avg) all_nonfeed_rates = np.append(all_nonfeed_rates, nonfeed_avg) if bool_plot: plot_nonfeed_vs_feed(all_nonfeed_rates, all_feed_rates) return all_feed_rates, all_nonfeed_rates