def __init__(self, session_id, params, count_type='rate', anat_region='all'): if count_type == 'binned': bw = params['binwidth'] self.spike_data = np.load(gen_params['spike_counts_dir'] + '%0.0fms/%s_%0.0fms.p' % (bw * 1000, session_id, bw * 1000), allow_pickle=True) elif count_type == 'rate': sigma = params['sigma'] dt = params['dt'] # If dt is a multiple of 50ms, we subsample assert (((dt * 100) % (0.05 * 100)) == 0),\ ValueError('Please specify a dt that is a multiple of 50ms') self.spike_data = np.load(gen_params['kernel_rates_dir'] + '%0.0fms_sigma/%s.p' % (sigma * 1000, session_id), allow_pickle=True) self.dt = dt self.cell_ids = sorted(self.spike_data['cells']) self.session_id = self.spike_data['session'] self.count_type = count_type self.anat_region = anat_region self.params = params # anat_region is either 'all' or a specific area if anat_region is not 'all': area_info = load_pickle_file('../general_params/area_shank_info.p') relevant_shanks = area_info[session_id][anat_region] relevant_cells = [ x for x in self.cell_ids if x[0] in relevant_shanks ] self.cell_ids = relevant_cells
import time, datetime import numpy as np import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec from ripser import ripser as tda sd = int((time.time() % 1) * (2**31)) np.random.seed(sd) curr_date = datetime.datetime.now().strftime('%Y_%m_%d') + '_' gen_fn_dir = os.path.abspath('..') + '/shared_scripts' sys.path.append(gen_fn_dir) import general_file_fns as gff gen_params = gff.load_pickle_file('../general_params/general_params.p') from binned_spikes_class import spike_counts from dim_red_fns import run_dim_red from scipy.spatial.distance import pdist from sklearn import neighbors save_dir = gff.return_dir(gen_params['results_dir'] + '2019_03_22_tda/') plot_barcode = True cmd_line = False # if thrsh is True then we threshold out low density points (nt-TDA in the # paper) if cmd_line: session = sys.argv[1] state = sys.argv[2]
import numpy as np import numpy.linalg as la import sys, os import time, datetime gen_fn_dir = os.path.abspath('..') + '/shared_scripts' sys.path.append(gen_fn_dir) import general_file_fns as gff import data_read_fns as drf import rate_functions as rf # Paths to save the data are in this dict. If you haven't already, edit # general_params/make_general_params_file.py to set the paths you want # and run it to generate general_params.p gen_params = gff.load_pickle_file('../general_params/general_params.p') session = 'Mouse28-140313' make_processed_files = True make_rates = True if make_processed_files: data_path = gen_params['raw_data_dir'] + session + '/' params = { 'session': 'Mouse28-140313', 'data_path': data_path, 'eeg_sampling_rate': 1250., 'spike_sampling_interval': 1.0 / (20e3) } data = drf.gather_session_spike_info(params)