def _save_stream(r, path): size = _remote_file_size(r.url) pr = ProgressReporter() pr.value_max = size or 1 pr.set_progress_message('Downloading `' + path + '`: {progress:.1f}%.') pr.set_complete_message('Download complete.') downloaded = 0 with open(path, 'wb') as f: for i, chunk in enumerate(r.iter_content(chunk_size=1024)): if chunk: f.write(chunk) f.flush() downloaded += len(chunk) if i % 100 == 0: pr.value = downloaded pr.set_complete()
def compute_features(self): pr = ProgressReporter() pr.set_progress_message('Computing features: {progress:.1f}%.') pr.set_complete_message('All features computed.') pr.value_max = self.n_chunks for i, j in self.iter_spikes(): n = j - i # info("Extracting waveforms {} to {}...".format(i, j)) w = self.waveforms[i:j] assert w.shape == (n, self.n_samples_w, self.n_channels) # info("Computing features of spikes {} to {}...".format(i, j)) f = self._sd.features(w, self.pcs) assert f.shape == (n, self.n_channels, self.n_features_per_channel) yield f pr.increment()