def isolation_score(sp, spt, sp_win, spike_type='positive', lam=10., max_spikes=None): "calculate spike isolation score from raw data and spike times" spike_waves = extract.extract_spikes(sp, spt, sp_win) spt_noise = detect_noise(sp, spt, sp_win, spike_type) noise_waves = extract.extract_spikes(sp, spt_noise, sp_win) iso_score = calc_isolation_score(spike_waves, noise_waves, spike_type, lam=lam, max_spikes=max_spikes) return iso_score
def detect_noise(sp, spt, sp_win, type="positive", max_spikes=None, resample=1): """Find noisy spikes""" spike_waves = extract.extract_spikes(sp, spt, sp_win) if type == "positive": threshold = calc_noise_threshold(spike_waves, 1) spt_noise = extract.detect_spikes(sp, threshold, 'rising') spt_noise = rand_sample_spt(spt_noise, max_spikes) spt_noise = extract.remove_spikes(spt_noise, spt, sp_win) spt_noise = extract.align_spikes(sp, spt_noise, sp_win, 'max', resample=resample) else: threshold = calc_noise_threshold(spike_waves, -1) spt_noise = extract.detect_spikes(sp, threshold, 'falling') spt_noise = rand_sample_spt(spt_noise, max_spikes) spt_noise = extract.remove_spikes(spt_noise, spt, sp_win) spt_noise = extract.align_spikes(sp, spt_noise, sp_win, 'min', resample=resample) return spt_noise
def extract_noise_cluster(sp, spt, sp_win, type="positive"): deprecation("extract_noise_cluster deprecated. Use" " detect_noise and extract_spikes instead.") spt_noise = detect_noise(sp, spt, sp_win, type) sp_waves = extract.extract_spikes(sp, spt_noise, sp_win) return sp_waves