This commit is contained in:
saschuta 2024-05-18 12:15:48 +02:00
parent 396347bd74
commit f1b588d9ae
21 changed files with 395 additions and 1123 deletions

View File

@ -1,5 +1,4 @@
from threefish.core_cell_choice import p_units_to_show, update_cell_names
from threefish.utils0 import p_units_to_show, update_cell_names
from threefish.plot_suscept import ampullary_punit from threefish.plot_suscept import ampullary_punit
if __name__ == '__main__': if __name__ == '__main__':

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 145 KiB

View File

@ -1,5 +1,5 @@
from threefish.utils0 import p_units_to_show from threefish.core_cell_choice import p_units_to_show
from threefish.utils1_suscept import fr_name_rm from threefish.core_plot_labels import label_fr_name_rm
from threefish.plot_suscept import ampullary_punit from threefish.plot_suscept import ampullary_punit
if __name__ == '__main__': if __name__ == '__main__':
@ -7,4 +7,4 @@ if __name__ == '__main__':
#stack_file = pd.read_csv('..\calc_RAM\calc_nix_RAM-eod_2022-01-28-ag-invivo-1_all__amp_20.0_filename_InputArr_400hz_30_P-unitApteronotusleptorhynchus.csv') #stack_file = pd.read_csv('..\calc_RAM\calc_nix_RAM-eod_2022-01-28-ag-invivo-1_all__amp_20.0_filename_InputArr_400hz_30_P-unitApteronotusleptorhynchus.csv')
cells_plot2 = p_units_to_show(type_here = 'contrasts')#permuted = True, cells_plot2 = p_units_to_show(type_here = 'contrasts')#permuted = True,
ampullary_punit(eod_metrice = False, color_same = False,base_extra = True, fr_name = fr_name_rm(), cells_plot2=[cells_plot2[0]], isi_delta = 5, titles=[''],tags_individual = True, xlim_p = [0,1.15])#Low-CV P-unit, ampullary_punit(eod_metrice = False, color_same = False, base_extra = True, fr_name = label_fr_name_rm(), cells_plot2=[cells_plot2[0]], isi_delta = 5, titles=[''], tags_individual = True, xlim_p = [0, 1.15])#Low-CV P-unit,

Binary file not shown.

View File

@ -1,9 +1,9 @@
from threefish.utils0 import p_units_to_show from threefish.core_cell_choice import p_units_to_show
from threefish.utils1_suscept import fr_name_rm from threefish.core_plot_labels import label_fr_name_rm
from threefish.plot_suscept import ampullary_punit from threefish.plot_suscept import ampullary_punit
if __name__ == '__main__': if __name__ == '__main__':
cells_plot2 = p_units_to_show(type_here='contrasts')#permuted = True, cells_plot2 = p_units_to_show(type_here='contrasts')#permuted = True,
ampullary_punit(base_extra = True,eod_metrice = False, color_same = False, fr_name = fr_name_rm(), tags_individual = True, isi_delta = 5, cells_plot2=[cells_plot2[1]], titles=['', 'Ampullary cell,'],)#High-CV P-unit, ampullary_punit(base_extra = True, eod_metrice = False, color_same = False, fr_name = label_fr_name_rm(), tags_individual = True, isi_delta = 5, cells_plot2=[cells_plot2[1]], titles=['', 'Ampullary cell,'], )#High-CV P-unit,

Binary file not shown.

View File

@ -2,12 +2,17 @@ from IPython import embed
from matplotlib import gridspec as gridspec, pyplot as plt from matplotlib import gridspec as gridspec, pyplot as plt
import numpy as np import numpy as np
from threefish.utils0 import basename_small, colors_overview, default_figsize, exclude_nans_for_corr, get_grid_4, \ from threefish.core_cell_choice import update_cell_names
scatter_with_marginals_colorcoded, update_cell_names, \ from threefish.core_filenames import version_final
load_overview_susept, \ from threefish.core_plot_suscept import get_grid_4, scatter_with_marginals_colorcoded
make_log_ticks, save_visualization, setting_overview_score, version_final from threefish.defaults import default_figsize
from threefish.core_plot_labels import pearson_label from threefish.core_plot_colors import colors_overview
from threefish.utils1_suscept import plt_specific_cells, stimname_small, NLI_scorename2_small, start_name from threefish.core_reformat import exclude_nans_for_corr, load_overview_susept
from threefish.core_load import save_visualization
from threefish.core_bursts import setting_overview_score
from threefish.core_plot_labels import basename_small, label_NLI_scorename2_small, label_pearson, label_stimname_small, \
make_log_ticks
from threefish.utils1_suscept import plt_specific_cells, start_name
from scipy import stats from scipy import stats
try: try:
from plotstyle import plot_style, spines_params from plotstyle import plot_style, spines_params
@ -126,14 +131,14 @@ def data_overview3():
var_item_names = [var_it,var_it,var_it2]#,var_it2]#['Response Modulation [Hz]',] var_item_names = [var_it,var_it,var_it2]#,var_it2]#['Response Modulation [Hz]',]
var_types = ['response_modulation','response_modulation','']#,'']#'response_modulation' var_types = ['response_modulation','response_modulation','']#,'']#'response_modulation'
max_x = max_xs[c] max_x = max_xs[c]
x_axis_names = ['CV$'+basename_small()+'$','CV$'+stimname_small()+'$','Response Modulation [Hz]']#$'+basename()+'$,'Fr$'+basename()+'$',] x_axis_names = ['CV$' + basename_small() +'$','CV$' + label_stimname_small() + '$', 'Response Modulation [Hz]']#$'+basename()+'$,'Fr$'+basename()+'$',]
#score = scores[0] #score = scores[0]
score_n = ['Perc99/Med', 'Perc99/Med', 'Perc99/Med'] score_n = ['Perc99/Med', 'Perc99/Med', 'Perc99/Med']
score = scores[c] score = scores[c]
scores_here = [score,score,score]#,score] scores_here = [score,score,score]#,score]
score_name = ['max(diag5Hz)/med_diagonal_proj_fr','max(diag5Hz)/med_diagonal_proj_fr']#,'max(diag5Hz)/med_diagonal_proj_fr']#'Perc99/Med' score_name = ['max(diag5Hz)/med_diagonal_proj_fr','max(diag5Hz)/med_diagonal_proj_fr']#,'max(diag5Hz)/med_diagonal_proj_fr']#'Perc99/Med'
score_name = ['Fr/Med', 'Fr/Med']#'Fr/Med'] # 'Perc99/Med' score_name = ['Fr/Med', 'Fr/Med']#'Fr/Med'] # 'Perc99/Med'
score_name = [NLI_scorename2_small(), NLI_scorename2_small(), NLI_scorename2_small()]#NLI_scorename()] # 'Fr/Med''Perc99/Med' score_name = [label_NLI_scorename2_small(), label_NLI_scorename2_small(), label_NLI_scorename2_small()]#NLI_scorename()] # 'Fr/Med''Perc99/Med'
ax_j = [] ax_j = []
axls = [] axls = []
axss = [] axss = []
@ -246,7 +251,7 @@ def data_overview3():
print('frame file lost') print('frame file lost')
embed() embed()
corr, p_value = stats.pearsonr(x_axis, y_axis) corr, p_value = stats.pearsonr(x_axis, y_axis)
pears_l = pearson_label(corr, p_value, y_axis, n=True) pears_l = label_pearson(corr, p_value, y_axis, n=True)
print(start_name(cell_type_here, species) + ' ' + corr_var + ' to '+str(score) + pears_l) print(start_name(cell_type_here, species) + ' ' + corr_var + ' to '+str(score) + pears_l)
#if corr_var == 'ser_first_base':# #if corr_var == 'ser_first_base':#
# embed() # embed()
@ -256,7 +261,7 @@ def data_overview3():
c_axis, x_axis, y_axis, exclude_here = exclude_nans_for_corr(frame_file, 'fr_base', cv_name='fr_base', c_axis, x_axis, y_axis, exclude_here = exclude_nans_for_corr(frame_file, 'fr_base', cv_name='fr_base',
score='cv_base') score='cv_base')
corr, p_value = stats.pearsonr(x_axis, y_axis) corr, p_value = stats.pearsonr(x_axis, y_axis)
pears_l = pearson_label(corr, p_value, y_axis, n=True) pears_l = label_pearson(corr, p_value, y_axis, n=True)
print(start_name(cell_type_here, species) + ' ' + 'fr_base' + ' to ' + 'cv_base' + pears_l) print(start_name(cell_type_here, species) + ' ' + 'fr_base' + ' to ' + 'cv_base' + pears_l)
@ -266,7 +271,7 @@ def data_overview3():
c_axis, x_axis, y_axis, exclude_here = exclude_nans_for_corr(frame_file, 'burst_fraction_burst_corr_individual_base', cv_name='burst_fraction_burst_corr_individual_base', c_axis, x_axis, y_axis, exclude_here = exclude_nans_for_corr(frame_file, 'burst_fraction_burst_corr_individual_base', cv_name='burst_fraction_burst_corr_individual_base',
score='cv_base') score='cv_base')
corr, p_value = stats.pearsonr(x_axis, y_axis) corr, p_value = stats.pearsonr(x_axis, y_axis)
pears_l = pearson_label(corr, p_value, y_axis, n=True) pears_l = label_pearson(corr, p_value, y_axis, n=True)
print(start_name(cell_type_here, species) + ' amprange: ' + 'burst_fraction_individual_base' + ' to ' + 'cv_base' + pears_l) print(start_name(cell_type_here, species) + ' amprange: ' + 'burst_fraction_individual_base' + ' to ' + 'cv_base' + pears_l)
############################### ###############################
# fr to nonline but for both modulations # fr to nonline but for both modulations
@ -274,7 +279,7 @@ def data_overview3():
c_axis, x_axis, y_axis, exclude_here = exclude_nans_for_corr(frame_file, 'fr_base', cv_name='fr_base', c_axis, x_axis, y_axis, exclude_here = exclude_nans_for_corr(frame_file, 'fr_base', cv_name='fr_base',
score=score) score=score)
corr, p_value = stats.pearsonr(x_axis, y_axis) corr, p_value = stats.pearsonr(x_axis, y_axis)
pears_l = pearson_label(corr, p_value, y_axis, n=True) pears_l = label_pearson(corr, p_value, y_axis, n=True)
print(start_name(cell_type_here, species) + ' amprange: ' + ' ' + 'fr_base' + ' to score' + pears_l) print(start_name(cell_type_here, species) + ' amprange: ' + ' ' + 'fr_base' + ' to score' + pears_l)
################################## ##################################
print('\n') print('\n')

Binary file not shown.

View File

@ -1,18 +1,21 @@
#from utils0import default_settings #from utils0import default_settings
#from plt_RAM import model_and_data_isi, model_cells #from plt_RAM import model_and_data_isi, model_cells
from plotstyle import plot_style
from threefish.utils0 import default_figsize, save_visualization
from threefish.plot_suscept import model_sheme_split2
#from threefish.utils0 import default_settings, resave_small_files #from threefish.utils0 import default_settings, resave_small_files
#from plt_RAM import model_and_data, model_and_data_sheme, model_and_data_vertical2 #from plt_RAM import model_and_data, model_and_data_sheme, model_and_data_vertical2
import matplotlib.gridspec as gridspec # from threefish.utils0 import default_settings, resave_small_files
# from plt_RAM import model_and_data, model_and_data_sheme, model_and_data_vertical2
from threefish.plot_suscept import model_sheme_split2
# from threefish.utils0 import default_settings, resave_small_files
# from plt_RAM import model_and_data, model_and_data_sheme, model_and_data_vertical2
# from threefish.utils0 import default_settings, resave_small_files # from threefish.utils0 import default_settings, resave_small_files
# from plt_RAM import model_and_data, model_and_data_sheme, model_and_data_vertical2 # from plt_RAM import model_and_data, model_and_data_sheme, model_and_data_vertical2
import matplotlib.gridspec as gridspec import matplotlib.gridspec as gridspec
from plotstyle import plot_style from plotstyle import plot_style
from threefish.core_load import save_visualization
from threefish.plot_suscept import model_sheme_split2 from threefish.plot_suscept import model_sheme_split2
from threefish.utils0 import default_figsize, save_visualization from threefish.defaults import default_figsize
def flowchart(): def flowchart():

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 109 KiB

View File

@ -7,18 +7,18 @@ from IPython import embed
from matplotlib import gridspec, pyplot as plt from matplotlib import gridspec, pyplot as plt
from plotstyle import plot_style from plotstyle import plot_style
from threefish.utils0 import default_settings, find_cell_add, get_flowchart_params, load_model_susept, \ from threefish.core_plot_subplots import plot_lowpass2, plt_single_square_modl, plt_time_arrays
nonlin_title, overlap_cells, \ from threefish.core_plot_suscept import perc_model_full, plt_data_susept
perc_model_full, plot_lowpass2, plt_data_susept, plt_single_square_modl, plt_time_arrays, \ from threefish.core_filenames import overlap_cells
remove_xticks, \ from threefish.core_load import save_visualization
remove_yticks, \ from threefish.core_reformat import get_flowchart_params, load_model_susept
save_visualization, set_same_ylim from threefish.core_calc_model import resave_small_files
from threefish.core_calc_model import load_folder_name, resave_small_files from threefish.core import find_folder_name
from threefish.core_plot_labels import noise_name from threefish.core_plot_labels import label_noise_name, nonlin_title, remove_xticks, remove_yticks, set_xlabel_arrow, \
set_ylabel_arrow, title_find_cell_add, xlabel_xpos_y_modelanddata
import itertools as it import itertools as it
from threefish.utils0 import default_figsize from threefish.defaults import default_figsize, default_settings
from threefish.utils1_suscept import xpos_y_modelanddata from threefish.core_plot_lims import join_x, join_y, set_clim_same, set_same_ylim
from threefish.utils0 import join_x, join_y, set_clim_same, set_xlabel_arrow, set_ylabel_arrow
#from plt_RAM import model_and_data, model_and_data_sheme, model_and_data_vertical2 #from plt_RAM import model_and_data, model_and_data_sheme, model_and_data_vertical2
@ -35,22 +35,10 @@ def model_and_data2(eod_metrice=False, width=0.005, nffts=['whole'], powers=[1],
contrasts=[0], noises_added=[''], D_extraction_method=['additiv_cv_adapt_factor_scaled'], contrasts=[0], noises_added=[''], D_extraction_method=['additiv_cv_adapt_factor_scaled'],
internal_noise=['RAM'], external_noise=['RAM'], level_extraction=[''], receiver_contrast=[1], internal_noise=['RAM'], external_noise=['RAM'], level_extraction=[''], receiver_contrast=[1],
dendrids=[''], ref_types=[''], adapt_types=[''], c_noises=[0.1], c_signal=[0.9], cut_offs1=[300]): # ['eRAM'] dendrids=[''], ref_types=[''], adapt_types=[''], c_noises=[0.1], c_signal=[0.9], cut_offs1=[300]): # ['eRAM']
# plot_style()#['_RAMscaled']'_RAMscaled'
duration_noise = '_short',
formula = 'code' ##'formula'
# ,int(2 ** 16) int(2 ** 16), int(2 ** 15),
stimulus_length = 1 # 20#550 # 30 # 15#45#0.5#1.5 15 45 100 stimulus_length = 1 # 20#550 # 30 # 15#45#0.5#1.5 15 45 100
trials_nrs = [1] # [100, 500, 1000, 3000, 10000, 100000, 1000000] # 500 trials_nrs = [1] # [100, 500, 1000, 3000, 10000, 100000, 1000000] # 500
stimulus_type = '_StimulusOrig_' # ,#
# ,3]#, 3, 1, 1.5, 0.5, ] # ,1,1.5, 0.5] #[1,1.5, 0.5] # 1.5,0.5]3, 1,
variant = 'sinz'
mimick = 'no'
cell_recording_save_name = ''
trans = 1 # 5
rep = 1000000 # 500000#0 rep = 1000000 # 500000#0
repeats = [20, rep] # 250000
aa = 0
good_data, remaining = overlap_cells() good_data, remaining = overlap_cells()
cells_all = [good_data[0]] cells_all = [good_data[0]]
@ -64,8 +52,7 @@ def model_and_data2(eod_metrice=False, width=0.005, nffts=['whole'], powers=[1],
mins = [] mins = []
mats = [] mats = []
ims = [] ims = []
perc05 = []
perc95 = []
iternames = [D_extraction_method, external_noise, iternames = [D_extraction_method, external_noise,
internal_noise, powers, nffts, dendrids, cut_offs1, trials_nrs, c_signal, internal_noise, powers, nffts, dendrids, cut_offs1, trials_nrs, c_signal,
c_noises, c_noises,
@ -95,28 +82,16 @@ def model_and_data2(eod_metrice=False, width=0.005, nffts=['whole'], powers=[1],
grid_data = gridspec.GridSpecFromSubplotSpec(1, 1, grid[0, 0], grid_data = gridspec.GridSpecFromSubplotSpec(1, 1, grid[0, 0],
hspace=hs) hspace=hs)
fr_print = False
fr_print = False #True
#ypos_x_modelanddata()
nr = 1 nr = 1
ax_data, stack_spikes_all, eod_frs = plt_data_susept(fig, grid_data, cells_all, cell_type='p-unit', width=width, ax_data, stack_spikes_all, eod_frs = plt_data_susept(fig, grid_data, cells_all, cell_type='p-unit', width=width,
cbar_label=True, fr_print=fr_print, cbar_label=True, fr_print=fr_print,
eod_metrice=eod_metrice, nr=nr, amp_given=1, xlabel=False, eod_metrice=eod_metrice, nr=nr, amp_given=1, xlabel=False,
lp=lp, title=True) lp=lp, title=True)
for ax_external in ax_data: for ax_external in ax_data:
# ax.set_ylabel(F2_xlabel())
# remove_xticks(ax)
ax_external.set_xticks_delta(100) ax_external.set_xticks_delta(100)
set_ylabel_arrow(ax_external, xpos=xpos_y_modelanddata(), ypos=0.87) set_ylabel_arrow(ax_external, xpos=xlabel_xpos_y_modelanddata(), ypos=0.87)
#embed()
set_xlabel_arrow(ax_external, ypos=ypos_x_modelanddata()) set_xlabel_arrow(ax_external, ypos=ypos_x_modelanddata())
# ax.text(-0.42, 0.87, F2_xlabel(), ha='center', va='center',
# transform=ax.transAxes, rotation = 90)
# ax.text(1.66, 0.5, nonlin_title(), rotation=90, ha='center', va='center',
# transform=ax.transAxes)
#ax_external.arrow_spines('lb')
#embed() #embed()
#plt.show() #plt.show()
@ -128,7 +103,7 @@ def model_and_data2(eod_metrice=False, width=0.005, nffts=['whole'], powers=[1],
cell = '2012-07-03-ak-invivo-1' cell = '2012-07-03-ak-invivo-1'
print('cell' + str(cell)) print('cell' + str(cell))
cells_given = [cell] cells_given = [cell]
save_name_rev = load_folder_name( save_name_rev = find_folder_name(
'calc_model') + '/' + 'calc_RAM_model-2__nfft_whole_power_1_RAM_additiv_cv_adapt_factor_scaled_cNoise_0.1_cSig_0.9_cutoff1_300_cutoff2_300no_sinz_length1_TrialsStim_' + str( 'calc_model') + '/' + 'calc_RAM_model-2__nfft_whole_power_1_RAM_additiv_cv_adapt_factor_scaled_cNoise_0.1_cSig_0.9_cutoff1_300_cutoff2_300no_sinz_length1_TrialsStim_' + str(
trial_nr) + '_a_fr_1__trans1s__TrialsNr_1_fft_o_forward_fft_i_forward_Hz_mV_revQuadrant_' trial_nr) + '_a_fr_1__trans1s__TrialsNr_1_fft_o_forward_fft_i_forward_Hz_mV_revQuadrant_'
# for trial in trials:#.009 # for trial in trials:#.009
@ -164,7 +139,10 @@ def model_and_data2(eod_metrice=False, width=0.005, nffts=['whole'], powers=[1],
# Hier werde ich nun mit dem Fehler von 0.36 verfahren # Hier werde ich nun mit dem Fehler von 0.36 verfahren
# das bedeutet aber das sich den Stimulus zwar mit 0.009 ins Modell reintue später für die # das bedeutet aber das sich den Stimulus zwar mit 0.009 ins Modell reintue später für die
# Susceptiblitätsberechnung sollte ich ihn aber um den Faktor 0.36 teilen # Susceptiblitätsberechnung sollte ich ihn aber um den Faktor 0.36 teilen
bias_factor = 0.36
# oben habe ich einen bias factor weil die Zelle zu sensitiv gefittet ist, also passe ich das an dass die den
# gleichen CV und feurrate hat, wie die Zelle in der Stimulation, deswegen ist dieser Bias faktor nur oben!
bias_factors = [0.36, 0.36, 1, 1]#0.36
save_names = [ save_names = [
'calc_RAM_model-2__nfft_whole_power_1_afe_0.009_RAM_cutoff1_300_cutoff2_300no_sinz_length1_TrialsStim_11_a_fr_1__trans1s__TrialsNr_1_fft_o_forward_fft_i_forward_Hz_mV', 'calc_RAM_model-2__nfft_whole_power_1_afe_0.009_RAM_cutoff1_300_cutoff2_300no_sinz_length1_TrialsStim_11_a_fr_1__trans1s__TrialsNr_1_fft_o_forward_fft_i_forward_Hz_mV',
'calc_RAM_model-2__nfft_whole_power_1_afe_0.009_RAM_cutoff1_300_cutoff2_300no_sinz_length1_TrialsStim_' + str( 'calc_RAM_model-2__nfft_whole_power_1_afe_0.009_RAM_cutoff1_300_cutoff2_300no_sinz_length1_TrialsStim_' + str(
@ -187,8 +165,8 @@ def model_and_data2(eod_metrice=False, width=0.005, nffts=['whole'], powers=[1],
c = 2.5 c = 2.5
cs = ['$c=%.1f$' % c + '$\,\%$', '$c=0\,\%$'] cs = ['$c=%.1f$' % c + '$\,\%$', '$c=0\,\%$']
titles = ['Model\n$N=11$', 'Model\n' + '$N=10^6$', titles = ['Model\n$N=11$', 'Model\n' + '$N=10^6$',
'Model\,(' + noise_name().lower() + ')' + '\n' + '$N=11$', 'Model\,(' + label_noise_name().lower() + ')' + '\n' + '$N=11$',
'Model\,(' + noise_name().lower() + ')' + '\n' + '$N=10^6$' 'Model\,(' + label_noise_name().lower() + ')' + '\n' + '$N=10^6$'
] #%#%s$' % (tr_name) + '\,million' ] #%#%s$' % (tr_name) + '\,million'
#'Model\,('+noise_name().lower()+')' + '\n' + '$N=11$\n $c=1\,\%$',$N=%s $' % (tr_name) +'\,million' #'Model\,('+noise_name().lower()+')' + '\n' + '$N=11$\n $c=1\,\%$',$N=%s $' % (tr_name) +'\,million'
# 'Model\,('+noise_name().lower()+')' + '\n' + '$N=%s$' % (tr_name) + '\,million\n $c=1\,\%$ ' # 'Model\,('+noise_name().lower()+')' + '\n' + '$N=%s$' % (tr_name) + '\,million\n $c=1\,\%$ '
@ -202,28 +180,28 @@ def model_and_data2(eod_metrice=False, width=0.005, nffts=['whole'], powers=[1],
embed() embed()
ax_model.append(ax_external) ax_model.append(ax_external)
save_name = load_folder_name('calc_model') + '/' + sav_name save_name = find_folder_name('calc_model') + '/' + sav_name
cell_add, cells_save = find_cell_add(cells_given) cell_add, cells_save = title_find_cell_add(cells_given)
perc = 'perc' perc = 'perc'
path = save_name + '.pkl' # '../'+ path = save_name + '.pkl' # '../'+
# stack = get_stack_one_quadrant(cell, cell_add, cells_save, path, save_name) # model = get_stack_one_quadrant(cell, cell_add, cells_save, path, save_name)
# full_matrix = create_full_matrix2(np.array(stack), np.array(stack_rev)) # full_matrix = create_full_matrix2(np.array(model), np.array(stack_rev))
# stack_final = get_axis_on_full_matrix(full_matrix, stack) # stack_final = get_axis_on_full_matrix(full_matrix, model)
# im = plt_RAM_perc(ax, perc, np.abs(stack)) # im = plt_RAM_perc(ax, perc, np.abs(model))
stack = load_model_susept(path, cells_save, save_name.split(r'/')[-1] + cell_add) model = load_model_susept(path, cells_save, save_name.split(r'/')[-1] + cell_add)
#embed() #embed()
if len(stack) > 0: if len(model) > 0:
add_nonlin_title, cbar, fig, stack_plot, im = plt_single_square_modl(ax_external, cell, stack, perc, add_nonlin_title, cbar, fig, stack_plot, im = plt_single_square_modl(ax_external, cell, model, perc,
titles[s], titles[s],
width, eod_metrice=eod_metrice, width, eod_metrice=eod_metrice,
titles_plot=True, titles_plot=True,
resize=True, resize=True,
bias_factor=bias_factor, bias_factor=bias_factors[s],
fr_print=fr_print, nr=nr) fr_print=fr_print, nr=nr)
# if s in [1,3,5]: # if s in [1,3,5]:
@ -242,7 +220,7 @@ def model_and_data2(eod_metrice=False, width=0.005, nffts=['whole'], powers=[1],
if s in np.arange(col - 1, 100, col): # | (s == 0) if s in np.arange(col - 1, 100, col): # | (s == 0)
remove_yticks(ax_external) remove_yticks(ax_external)
else: else:
set_ylabel_arrow(ax_external, xpos=xpos_y_modelanddata(), ypos=0.87) set_ylabel_arrow(ax_external, xpos=xlabel_xpos_y_modelanddata(), ypos=0.87)
if s >= row * col - col: if s >= row * col - col:
set_xlabel_arrow(ax_external, ypos=ypos_x_modelanddata()) set_xlabel_arrow(ax_external, ypos=ypos_x_modelanddata())
@ -258,141 +236,8 @@ def model_and_data2(eod_metrice=False, width=0.005, nffts=['whole'], powers=[1],
################################################# #################################################
# Flowcharts # Flowcharts
var_types = ['', 'additiv_cv_adapt_factor_scaled'] #'additiv_cv_adapt_factor_scaled', ax_ams, ax_external = plt_model_flowcharts(a_fr, ax_external, c, cs, grid, model, stimulus_length)
##additiv_cv_adapt_factor_scaled
a_fes = [c / 100, 0] #, 0.009
eod_fe = [750, 750] #, 750
ylim = [-0.5, 0.5]
c_sigs = [0, 0.9] #, 0.9
grid_left = [[], grid[1, 0]] #, grid[2, 0]
ax_ams = []
for g, grid_here in enumerate([grid[0, 2], grid[1, 2]]): #, grid[2, 0]
grid_lowpass = gridspec.GridSpecFromSubplotSpec(4, 1,
subplot_spec=grid_here, hspace=0.2,
height_ratios=[1, 1, 1, 0.1])
models = resave_small_files("models_big_fit_d_right.csv", load_folder='calc_model_core')
model_params = models[models['cell'] == '2012-07-03-ak-invivo-1'].iloc[0]
cell = model_params.pop('cell') # .iloc[0]# Werte für das Paper nachschauen
eod_fr = model_params['EODf'] # .iloc[0]
deltat = model_params.pop("deltat") # .iloc[0]
v_offset = model_params.pop("v_offset") # .iloc[0]
eod_fr = stack.eod_fr.iloc[0]
print(var_types[g] + ' a_fe ' + str(a_fes[g]))
noise_final_c, spike_times, stimulus, stimulus_here, time, v_dent_output, v_mem_output, frame = get_flowchart_params(
a_fes, a_fr, g, c_sigs[g], cell, deltat, eod_fr, model_params, stimulus_length, v_offset, var_types,
eod_fe=eod_fe)
if (len(np.unique(frame.RAM_afe)) > 1) & (len(np.unique(frame.RAM_noise)) > 1):
grid_lowpass2 = gridspec.GridSpecFromSubplotSpec(4, 1,
subplot_spec=grid_here, height_ratios=[1, 1, 1, 0.1],
hspace=0.05)
# if (np.unique(frame.RAM_afe) != 0):grid_left[g]
ax_external = plt_time_arrays('red', grid_lowpass2, 1, frame.RAM_afe * 100, time=time, nr=0)
# if (np.unique(frame.RAM_noise) != 0):
remove_xticks(ax_external)
ax_intrinsic = plt_time_arrays('purple', grid_lowpass2, 1, frame.RAM_noise * 100, time=time, nr=1)
ax_intrinsic.text(-0.6, 0.5, '$\%$', rotation=90, va='center', transform=ax_intrinsic.transAxes)
ax_intrinsic.show_spines('l')
ax_external.show_spines('l')
# ax_ams.append(axt_p2)
#color_timeseries = 'black'
#axt_p2.set_xlabel('Time [ms]')
#axt_p2.text(-0.6, 0.5, '$\%$', rotation=90, va='center', transform=axt_p2.transAxes)
#ax_ams.append(axt_p2)
vers = 'all'
elif len(np.unique(frame.RAM_afe)) > 1:
color_timeseries = 'red'
nr_plot = 0
print(str(g) + ' afevar ' + str(np.var(frame.RAM_afe)) + ' afenoise ' + str(np.var(frame.RAM_noise)))
try:
ax_external, ff, pp, ff_am, pp_am = plot_lowpass2([grid_lowpass[nr_plot]], time,
(frame.RAM_afe + frame.RAM_noise) * 100,
deltat, eod_fr,
color1=color_timeseries, lw=1, extract=False)
except:
print('add up thing')
embed()
ax_external.show_spines('l')
ax_intrinsic = plt.subplot(grid_lowpass[1])
ax_intrinsic.show_spines('l')
ax_intrinsic.axhline(0, color='black', lw=0.5)
ax_intrinsic.axhline(0, color='purple', lw=0.5)
remove_xticks(ax_external)
remove_xticks(ax_intrinsic)
join_x([ax_intrinsic, ax_external])
join_y([ax_intrinsic, ax_external])
vers = 'first'
elif len(np.unique(frame.RAM_noise)) > 1:
color_timeseries = 'purple'
nr_plot = 1
print(str(g) + ' afevar ' + str(np.var(frame.RAM_afe)) + ' afenoise ' + str(np.var(frame.RAM_noise)))
try:
ax_intrinsic, ff, pp, ff_am, pp_am = plot_lowpass2([grid_lowpass[nr_plot]], time,
(frame.RAM_afe + frame.RAM_noise) * 100,
deltat, eod_fr,
color1=color_timeseries, lw=1, extract=False)
except:
print('add up thing')
embed()
ax_external = plt.subplot(grid_lowpass[0])
ax_external.show_spines('l')
ax_intrinsic.show_spines('l')
ax_external.axhline(0, color='black', lw=0.5)
ax_external.axhline(0, color='red', lw=0.5)
join_x([ax_intrinsic, ax_external])
join_y([ax_intrinsic, ax_external])
vers = 'second'
ax_intrinsic.set_yticks_delta(6)
ax_external.set_yticks_delta(6)
ax_external.text(-0.6, 0.5, '$\%$', va='center', rotation=90, transform=ax_external.transAxes)
ax_intrinsic.text(-0.6, 0.5, '$\%$', va='center', rotation=90, transform=ax_intrinsic.transAxes)
remove_xticks(ax_intrinsic)
# if (len(np.unique(frame.RAM_afe)) > 1) & (len(np.unique(frame.RAM_noise)) > 1):
ax_external.set_xlabel('')
# remove_yticks(ax)
ax_ams.append(ax_external)
remove_xticks(ax_external)
ax_n, ff, pp, ff_am, pp_am = plot_lowpass2([grid_lowpass[2]], time, noise_final_c, deltat, eod_fr,
extract=False, color1='grey', lw=1)
remove_yticks(ax_n)
if g == 1:
#ax_n.set_xlabel('Time [ms]', labelpad=-0.5)
ax_n.text(0.5, xpos_y_modelanddata()*3, 'Time [ms]', transform = ax_n.transAxes, ha = 'center')
else:
remove_xticks(ax_n)
ax_n.set_ylim(ylim)
if vers == 'first':
ax_external.text(1, 1, 'RAM(' + cs[0] + ')', ha='right', color='red', transform=ax_external.transAxes)
ax_n.text(start_pos_modeldata(), 1.1, noise_component_name(), ha='right', color='gray',
transform=ax_n.transAxes)
elif vers == 'second':
ax_external.text(1, 1, 'RAM(' + cs[1] + ')', ha='right', color='red', transform=ax_external.transAxes)
ax_intrinsic.text(start_pos_modeldata(), 1.1, signal_component_name(), ha='right', color='purple',
transform=ax_intrinsic.transAxes)
ax_n.text(start_pos_modeldata(), 0.9, noise_component_name(), ha='right', color='gray',
transform=ax_n.transAxes)
else:
ax_n.text(start_pos_modeldata(), 0.9, noise_component_name(), ha='right', color='gray',
transform=ax_n.transAxes)
ax_external.text(1, 1, 'RAM', ha='right', color='red', transform=ax_external.transAxes)
ax_intrinsic.text(start_pos_modeldata(), 1.1, signal_component_name(), ha='right', color='purple',
transform=ax_intrinsic.transAxes)
ax_external.tick_params(axis='y', which='major', labelsize=8.4)
ax_intrinsic.tick_params(axis='y', which='major', labelsize=8.4)
ax_n.tick_params(axis='y', which='major', labelsize=8.4)
#xtick_labelsize =
#embed()
set_same_ylim(ax_ams, up='up') set_same_ylim(ax_ams, up='up')
axes = np.concatenate([ax_data, ax_model]) axes = np.concatenate([ax_data, ax_model])
@ -419,6 +264,145 @@ def model_and_data2(eod_metrice=False, width=0.005, nffts=['whole'], powers=[1],
save_visualization(pdf=True) save_visualization(pdf=True)
def plt_model_flowcharts(a_fr, ax_external, c, cs, grid, stack, stimulus_length):
var_types = ['', 'additiv_cv_adapt_factor_scaled'] # 'additiv_cv_adapt_factor_scaled',
##additiv_cv_adapt_factor_scaled
a_fes = [c / 100, 0] # , 0.009
eod_fe = [750, 750] # , 750
ylim = [-0.5, 0.5]
c_sigs = [0, 0.9] # , 0.9
grid_left = [[], grid[1, 0]] # , grid[2, 0]
ax_ams = []
for g, grid_here in enumerate([grid[0, 2], grid[1, 2]]): # , grid[2, 0]
grid_lowpass = gridspec.GridSpecFromSubplotSpec(4, 1,
subplot_spec=grid_here, hspace=0.2,
height_ratios=[1, 1, 1, 0.1])
models = resave_small_files("models_big_fit_d_right.csv", load_folder='calc_model_core')
model_params = models[models['cell'] == '2012-07-03-ak-invivo-1'].iloc[0]
cell = model_params.pop('cell') # .iloc[0]# Werte für das Paper nachschauen
eod_fr = model_params['EODf'] # .iloc[0]
deltat = model_params.pop("deltat") # .iloc[0]
v_offset = model_params.pop("v_offset") # .iloc[0]
eod_fr = stack.eod_fr.iloc[0]
print(var_types[g] + ' a_fe ' + str(a_fes[g]))
noise_final_c, spike_times, stimulus, stimulus_here, time, v_dent_output, v_mem_output, frame = get_flowchart_params(
a_fes, a_fr, g, c_sigs[g], cell, deltat, eod_fr, model_params, stimulus_length, v_offset, var_types,
eod_fe=eod_fe)
if (len(np.unique(frame.RAM_afe)) > 1) & (len(np.unique(frame.RAM_noise)) > 1):
grid_lowpass2 = gridspec.GridSpecFromSubplotSpec(4, 1,
subplot_spec=grid_here, height_ratios=[1, 1, 1, 0.1],
hspace=0.05)
# if (np.unique(frame.RAM_afe) != 0):grid_left[g]
ax_external = plt_time_arrays('red', grid_lowpass2, 1, frame.RAM_afe * 100, time=time, nr=0)
# if (np.unique(frame.RAM_noise) != 0):
remove_xticks(ax_external)
ax_intrinsic = plt_time_arrays('purple', grid_lowpass2, 1, frame.RAM_noise * 100, time=time, nr=1)
ax_intrinsic.text(-0.6, 0.5, '$\%$', rotation=90, va='center', transform=ax_intrinsic.transAxes)
ax_intrinsic.show_spines('l')
ax_external.show_spines('l')
# ax_ams.append(axt_p2)
# color_timeseries = 'black'
# axt_p2.set_xlabel('Time [ms]')
# axt_p2.text(-0.6, 0.5, '$\%$', rotation=90, va='center', transform=axt_p2.transAxes)
# ax_ams.append(axt_p2)
vers = 'all'
elif len(np.unique(frame.RAM_afe)) > 1:
color_timeseries = 'red'
nr_plot = 0
print(str(g) + ' afevar ' + str(np.var(frame.RAM_afe)) + ' afenoise ' + str(np.var(frame.RAM_noise)))
try:
ax_external, ff, pp, ff_am, pp_am = plot_lowpass2([grid_lowpass[nr_plot]], time,
(frame.RAM_afe + frame.RAM_noise) * 100,
deltat, eod_fr,
color1=color_timeseries, lw=1, extract=False)
except:
print('add up thing')
embed()
ax_external.show_spines('l')
ax_intrinsic = plt.subplot(grid_lowpass[1])
ax_intrinsic.show_spines('l')
ax_intrinsic.axhline(0, color='black', lw=0.5)
ax_intrinsic.axhline(0, color='purple', lw=0.5)
remove_xticks(ax_external)
remove_xticks(ax_intrinsic)
join_x([ax_intrinsic, ax_external])
join_y([ax_intrinsic, ax_external])
vers = 'first'
elif len(np.unique(frame.RAM_noise)) > 1:
color_timeseries = 'purple'
nr_plot = 1
print(str(g) + ' afevar ' + str(np.var(frame.RAM_afe)) + ' afenoise ' + str(np.var(frame.RAM_noise)))
try:
ax_intrinsic, ff, pp, ff_am, pp_am = plot_lowpass2([grid_lowpass[nr_plot]], time,
(frame.RAM_afe + frame.RAM_noise) * 100,
deltat, eod_fr,
color1=color_timeseries, lw=1, extract=False)
except:
print('add up thing')
embed()
ax_external = plt.subplot(grid_lowpass[0])
ax_external.show_spines('l')
ax_intrinsic.show_spines('l')
ax_external.axhline(0, color='black', lw=0.5)
ax_external.axhline(0, color='red', lw=0.5)
join_x([ax_intrinsic, ax_external])
join_y([ax_intrinsic, ax_external])
vers = 'second'
ax_intrinsic.set_yticks_delta(6)
ax_external.set_yticks_delta(6)
ax_external.text(-0.6, 0.5, '$\%$', va='center', rotation=90, transform=ax_external.transAxes)
ax_intrinsic.text(-0.6, 0.5, '$\%$', va='center', rotation=90, transform=ax_intrinsic.transAxes)
remove_xticks(ax_intrinsic)
# if (len(np.unique(frame.RAM_afe)) > 1) & (len(np.unique(frame.RAM_noise)) > 1):
ax_external.set_xlabel('')
# remove_yticks(ax)
ax_ams.append(ax_external)
remove_xticks(ax_external)
ax_n, ff, pp, ff_am, pp_am = plot_lowpass2([grid_lowpass[2]], time, noise_final_c, deltat, eod_fr,
extract=False, color1='grey', lw=1)
remove_yticks(ax_n)
if g == 1:
# ax_n.set_xlabel('Time [ms]', labelpad=-0.5)
ax_n.text(0.5, xlabel_xpos_y_modelanddata() * 3, 'Time [ms]', transform=ax_n.transAxes, ha='center')
else:
remove_xticks(ax_n)
ax_n.set_ylim(ylim)
if vers == 'first':
ax_external.text(1, 1, 'RAM(' + cs[0] + ')', ha='right', color='red', transform=ax_external.transAxes)
ax_n.text(start_pos_modeldata(), 1.1, noise_component_name(), ha='right', color='gray',
transform=ax_n.transAxes)
elif vers == 'second':
ax_external.text(1, 1, 'RAM(' + cs[1] + ')', ha='right', color='red', transform=ax_external.transAxes)
ax_intrinsic.text(start_pos_modeldata(), 1.1, signal_component_name(), ha='right', color='purple',
transform=ax_intrinsic.transAxes)
ax_n.text(start_pos_modeldata(), 0.9, noise_component_name(), ha='right', color='gray',
transform=ax_n.transAxes)
else:
ax_n.text(start_pos_modeldata(), 0.9, noise_component_name(), ha='right', color='gray',
transform=ax_n.transAxes)
ax_external.text(1, 1, 'RAM', ha='right', color='red', transform=ax_external.transAxes)
ax_intrinsic.text(start_pos_modeldata(), 1.1, signal_component_name(), ha='right', color='purple',
transform=ax_intrinsic.transAxes)
ax_external.tick_params(axis='y', which='major', labelsize=8.4)
ax_intrinsic.tick_params(axis='y', which='major', labelsize=8.4)
ax_n.tick_params(axis='y', which='major', labelsize=8.4)
# xtick_labelsize =
# embed()
return ax_ams, ax_external
def start_pos_modeldata(): def start_pos_modeldata():
return 1.03 return 1.03

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 83 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,14 +1,17 @@
##from update_project import ** ##from update_project import **
import numpy as np import numpy as np
from threefish.utils0 import chose_mat_max_value, cr_spikes_mat, default_figsize, find_all_dir_cells, \ from threefish.core_cell_choice import find_all_dir_cells
plot_arrays_ROC_psd_single3, plot_shemes4, plt_coherences, save_visualization from threefish.core_reformat import chose_mat_max_value, load_b_public
from threefish.core_calc_model import find_code_vs_not from threefish.core_plot_suscept import plt_coherences
from threefish.defaults import default_figsize
from threefish.core_time import cr_spikes_mat
from threefish.core import find_code_vs_not
import time import time
from threefish.utils1_suscept import check_var_substract_method, chose_certain_group, circle_plot, colors_suscept_paper_dots, \ from threefish.utils1_suscept import check_var_substract_method, chose_certain_group, circle_plot, extract_waves, load_cells_three, predefine_grouping_frame, restrict_cell_type, save_arrays_susept, ws_nonlin_systems
extract_waves, load_cells_three, predefine_grouping_frame, restrict_cell_type, save_arrays_susept, title_motivation, \ from threefish.core_plot_labels import title_motivation
ws_nonlin_systems from threefish.core_plot_subplots import colors_suscept_paper_dots, plot_arrays_ROC_psd_single3, plot_shemes4
from threefish.utils0 import load_b_public from threefish.core_load import save_visualization
#from matplotlib import gridspec as gridspec, gridspec, mlab as ml, pyplot as plt, ticker as ticker #from matplotlib import gridspec as gridspec, gridspec, mlab as ml, pyplot as plt, ticker as ticker
from matplotlib import pyplot as plt from matplotlib import pyplot as plt

Binary file not shown.

View File

@ -4,10 +4,13 @@ import numpy as np
import pandas as pd import pandas as pd
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
from plotstyle import plot_style from plotstyle import plot_style
from threefish.utils0 import default_figsize, default_settings, find_cell_add, get_stack, load_model_susept, \ from threefish.core_plot_labels import title_find_cell_add
overlap_cells, \ from threefish.defaults import default_figsize, default_settings
save_visualization # utils0_project from threefish.core_filenames import overlap_cells
from threefish.core_calc_model import load_folder_name, resave_small_files from threefish.core_load import save_visualization
from threefish.core_reformat import get_stack, load_model_susept
from threefish.core_calc_model import resave_small_files
from threefish.core import find_folder_name
from threefish.utils1_suscept import trial_nrs_ram_model from threefish.utils1_suscept import trial_nrs_ram_model
import itertools as it import itertools as it
@ -89,7 +92,7 @@ def trialnr(nffts=['whole'], powers=[1], contrasts=[0], noises_added=[''], D_ext
cell = '2012-07-03-ak-invivo-1' cell = '2012-07-03-ak-invivo-1'
print('cell'+str(cell)) print('cell'+str(cell))
cells_given = [cell] cells_given = [cell]
save_name_rev = load_folder_name( save_name_rev = find_folder_name(
'calc_model') + '/' + 'calc_RAM_model-2__nfft_whole_power_1_RAM_additiv_cv_adapt_factor_scaled_cNoise_0.1_cSig_0.9_cutoff1_300_cutoff2_300no_sinz_length1_TrialsStim_' + str( 'calc_model') + '/' + 'calc_RAM_model-2__nfft_whole_power_1_RAM_additiv_cv_adapt_factor_scaled_cNoise_0.1_cSig_0.9_cutoff1_300_cutoff2_300no_sinz_length1_TrialsStim_' + str(
trial_nr) + '_a_fr_1__trans1s__TrialsNr_1_fft_o_forward_fft_i_forward_Hz_mV_revQuadrant_' trial_nr) + '_a_fr_1__trans1s__TrialsNr_1_fft_o_forward_fft_i_forward_Hz_mV_revQuadrant_'
# for trial in trials:#.009 # for trial in trials:#.009
@ -121,9 +124,9 @@ def trialnr(nffts=['whole'], powers=[1], contrasts=[0], noises_added=[''], D_ext
for s, sav_name in enumerate(save_names): for s, sav_name in enumerate(save_names):
save_name = load_folder_name('calc_model') + '/' + sav_name save_name = find_folder_name('calc_model') + '/' + sav_name
cell_add, cells_save = find_cell_add(cells_given) cell_add, cells_save = title_find_cell_add(cells_given)
perc = 'perc' perc = 'perc'
path = save_name + '.pkl' # '../'+ path = save_name + '.pkl' # '../'+

View File

@ -130,9 +130,9 @@ if cont_other_dir == False:
embed() embed()
#print(new_dir+dir) #print(new_dir+dir)
#try: #try:
shutil.copy2("../suseptibility/" + dir, new_dir + directory) shutil.copy2("../suseptibility/" + directory,new_dir + directory)
#print(new_dir + directory) #print(new_dir + directory)
#shutil.copy("../suseptibility/" + dir, new_dir + directory) #shutil.copy("../suseptibility/" + directory,new_dir + directory)
#shutil.copyfile("../suseptibility/"+dir, new_dir+dir) #shutil.copyfile("../suseptibility/"+dir, new_dir+dir)
#except: #except:
# print('shutil stuff') # print('shutil stuff')