perplexity=perplexity,
                          theta=theta,
                          iterations=iterations,
                          random_seed=random_seed,
                          verbose=verbose)

tsne_results = tsne.t_sne_from_existing_distances(files_dir=tsne_cortex_folder,
                                                  data_has_exageration=True,
                                                  num_dims=num_dims,
                                                  theta=theta,
                                                  iterations=iterations,
                                                  random_seed=random_seed,
                                                  verbose=verbose,
                                                  exe_dir=exe_dir)

spike_info = preproc_kilo.generate_spike_info_from_full_tsne(
    kilosort_folder=kilosort_folder_denoised, tsne_folder=tsne_cortex_folder)

# OR Load previously run t-sne
tsne_results = tsne_io.load_tsne_result(files_dir=tsne_cortex_folder)

# and previously generated spike_info
spike_info = pd.read_pickle(join(tsne_cortex_folder, 'spike_info.df'))

# Have a look
viz.plot_tsne_of_spikes(spike_info=spike_info, legent_on=False)

# Update the original spike info (created after just cleaning) with the new spike_info information from manually sorting
# on the t-sne
spike_info_after_cleaning = preproc_kilo.generate_spike_info_after_cleaning(
    kilosort_folder_denoised)
spike_info_cortex_sorted = spike_info
예제 #2
0
cluster_info = tsne_cl.create_cluster_info_from_kilosort_spike_templates(join(base_folder, 'cluster_info.pkl'),
                                                                         spike_templates_clean)
labels_dict = pf.generate_labels_dict_from_cluster_info_dataframe(cluster_info=cluster_info)

markers = ['.', '*', 'o', '>', '<', '_', ',']
labeled_sizes = range(20, 100, 20)

pf.plot_tsne(tsne.T, cm=plt.cm.prism, labels_dict=labels_dict, legent_on=False, markers=None, labeled_sizes=None)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(tsne[:, 0], tsne[:, 1], tsne[:, 2], zdir='z', s=20, c='b', depthshade=True)


pf.make_video_of_tsne_iterations(iterations=3000, video_dir=files_dir, data_file_name='interim_{:0>6}.dat',
                                 video_file_name='tsne_video.mp4', figsize=(15, 15), dpi=200, fps=30,
                                 labels_dict=labels_dict, cm=plt.cm.prism,
                                 label_name='Label', legent_on=False, labeled_sizes=None, markers=None,
                                 max_screen=True)




spike_info = preproc.generate_spike_info_from_full_tsne(base_folder, files_dir)






verbose = 2

# This is a full T-sne (calculates distances in GPU and the T-sne embedding in CPU)
tsne_results = tsne.t_sne(template_features, files_dir=tsne_folder, exe_dir=tsne_exe_dir, num_dims=num_dims,
                          perplexity=perplexity, theta=theta, iterations=iterations, random_seed=random_seed,
                          verbose=verbose)


# OR load previously run t-sne
tsne_results = tsne_io.load_tsne_result(files_dir=tsne_folder)

# </editor-fold>
# ----------------------------------------------------------------------------------------------------------------------

# ----------------------------------------------------------------------------------------------------------------------
# <editor-fold desc = STEP 4: HAVE A LOOK AT THE T-SNE DATA

# a) Make a spike_info from the t-sne data (will be used later in the t-sne sorting gui)
spike_info = preproc_kilo.generate_spike_info_from_full_tsne(kilosort_folder=kilosort_folder,
                                                             tsne_folder=tsne_folder)

# OR load a previously generated spike_info
spike_info = pd.read_pickle(join(tsne_folder, 'spike_info.df'))

# and have a look
viz.plot_tsne_of_spikes(spike_info=spike_info, legent_on=False)

# </editor-fold>
# ----------------------------------------------------------------------------------------------------------------------

num_dims = 2
perplexity = 100
theta = 0.3
iterations = 4000
random_seed = 1
verbose = 3

tsne_results = tsne.t_sne(template_features_matrix,
                          files_dir=tsne_folder,
                          num_dims=num_dims,
                          perplexity=perplexity,
                          theta=theta,
                          iterations=iterations,
                          random_seed=random_seed,
                          verbose=verbose)
spike_info = preproc_kilo.generate_spike_info_from_full_tsne(
    kilosort_folder=kilosort_folder, tsne_folder=tsne_folder)

# Run t-sne again with different parameters starting from the already calculated hd distances
num_dims = 2
perplexity = 100
theta = 0.3
iterations = 4000
random_seed = 1
verbose = 3

tsne_results = tsne.t_sne_from_existing_distances(files_dir=tsne_folder,
                                                  data_has_exageration=True,
                                                  num_dims=num_dims,
                                                  theta=theta,
                                                  iterations=iterations,
                                                  random_seed=random_seed,