Esempio n. 1
0
 def get_waveforms(self, spikes=None, clusters=None):
     
     if self.waveforms_selected is None:
         return None
     # Special case: return the already-selected values from the cache.
     if spikes is None and clusters is None:
         values = self.process_waveforms(self.waveforms_selected)
         return pandaize(values, self.spikes_waveforms)
     
     # Normal case.
     if self.spikes_selected_table is None:
         return None
     if spikes is not None:
         return select(self.waveforms, spikes)
     else:
         if clusters is None:
             clusters = self.clusters_selected
         if clusters is not None:
             spikes = get_some_spikes_in_clusters(clusters, self.clusters,
                 counter=self.counter,
                 nspikes_max_expected=self.userpref['waveforms_nspikes_max_expected'],
                 nspikes_per_cluster_min=self.userpref['waveforms_nspikes_per_cluster_min'])
         else:
             spikes = self.spikes_selected
     return select(self.waveforms, spikes)
 def get_waveforms(self, spikes=None, clusters=None):
     if spikes is not None:
         return select(self.waveforms, spikes)
     else:
         if clusters is None:
             clusters = self.clusters_selected
         if clusters is not None:
             spikes = get_some_spikes_in_clusters(clusters, self.clusters,
                 counter=self.counter,
                 nspikes_max_expected=self.userpref['waveforms_nspikes_max_expected'],
                 nspikes_per_cluster_min=self.userpref['waveforms_nspikes_per_cluster_min'])
         else:
             spikes = self.spikes_selected
     return select(self.waveforms, spikes)
Esempio n. 3
0
 def get_waveforms(self, spikes=None, clusters=None):
     if spikes is not None:
         return select(self.waveforms, spikes)
     else:
         if clusters is None:
             clusters = self.clusters_selected
         if clusters is not None:
             spikes = get_some_spikes_in_clusters(clusters, self.clusters,
                 counter=self.counter,
                 nspikes_max_expected=self.userpref['waveforms_nspikes_max_expected'],
                 nspikes_per_cluster_min=self.userpref['waveforms_nspikes_per_cluster_min'])
         else:
             spikes = self.spikes_selected
     return select(self.waveforms, spikes)
 def get_some_features(self, clusters=None):
     """Return the features for a subset of all spikes: a large number
     of spikes from any cluster, and a controlled subset of the selected 
     clusters."""
     if clusters is None:
         clusters = self.clusters_selected
     if clusters is not None:
         spikes_background = get_some_spikes(self.clusters,
             nspikes_max=self.userpref['features_nspikes_background_max'],)
         spikes_clusters = get_some_spikes_in_clusters(
             clusters,
             self.clusters,
             counter=self.counter,
             nspikes_max_expected=self.userpref[
                 'features_nspikes_selection_max'],
             nspikes_per_cluster_min=self.userpref[
                 'features_nspikes_per_cluster_min'])
         spikes = np.union1d(spikes_background, spikes_clusters)
     else:
         spikes = self.spikes_selected
     return select(self.features, spikes)
Esempio n. 5
0
 def get_some_features(self, clusters=None):
     """Return the features for a subset of all spikes: a large number
     of spikes from any cluster, and a controlled subset of the selected 
     clusters."""
     if clusters is None:
         clusters = self.clusters_selected
     if clusters is not None:
         spikes_background = get_some_spikes(self.clusters,
             nspikes_max=self.userpref['features_nspikes_background_max'],)
         spikes_clusters = get_some_spikes_in_clusters(
             clusters,
             self.clusters,
             counter=self.counter,
             nspikes_max_expected=self.userpref[
                 'features_nspikes_selection_max'],
             nspikes_per_cluster_min=self.userpref[
                 'features_nspikes_per_cluster_min'])
         spikes = np.union1d(spikes_background, spikes_clusters)
     else:
         spikes = self.spikes_selected
     return select(self.features, spikes)
Esempio n. 6
0
 def select(self, spikes=None, clusters=None):
     if clusters is not None:
         if not hasattr(clusters, '__len__'):
             clusters = [clusters]
         spikes = get_spikes_in_clusters(clusters, self.clusters)
     # HDD access here: get the portion of the table with the requested 
     # clusters (cache). It is very quick to access the different columns
     # from this in-memory table later.
     if spikes is not None:
         self.spikes_selected_table = self.spike_table[spikes]
         # Select waveforms too.
         self.spikes_waveforms = get_some_spikes_in_clusters(clusters, self.clusters,
                 counter=self.counter,
                 nspikes_max_expected=self.userpref['waveforms_nspikes_max_expected'],
                 nspikes_per_cluster_min=self.userpref['waveforms_nspikes_per_cluster_min'])
         self.waveforms_selected = self.waveforms[0][self.spikes_waveforms]['waveform_filtered']
     else:
         self.spikes_selected_table = None
         self.waveforms_selected = None
     self.spikes_selected = spikes
     self.clusters_selected = clusters