# -*- coding: utf-8 -*- import numpy as np import pandas as pd import sys sys.path.insert(0, './Modules') from gratings import grating_model from plotting import plot_data, plot_mean_against_index, show_feature from persistence import persistence from decoding import cohomological_parameterization, remove_feature from noisereduction import PCA_reduction, z_cutoff ## Generate data data = grating_model(Nn=8, Np=(18,1,18,1), deltaT=55, random_neurons=True) ## Apply noise reduction # data = PCA_reduction(data, 5) # data = z_cutoff(data,2) ## Analyze shape persistence(data,homdim=2,coeff=2) persistence(data,homdim=2,coeff=3) ## Decode first parameter decoding1 = cohomological_parameterization(data, coeff=23) show_feature(decoding1) plot_mean_against_index(data,decoding1,"orientation") plot_mean_against_index(data,decoding1,"phase") # plot_data(data,transformation="PCA", labels=decoding1, # colors=["Twilight","Viridis","Twilight","Viridis","Twilight"]) ## Decode second parameter # reduced_data = remove_feature(data, decoding1, cut_amplitude=0.5) # decoding2 = cohomological_parameterization(reduced_data, coeff=23) # show_feature(decoding2) # plot_mean_against_index(data,decoding2,"orientation") # plot_mean_against_index(data,decoding2,"phase") # plot_data(data,transformation="PCA", labels=decoding2, # colors=["Twilight","Viridis","Twilight","Viridis","Twilight"])