susceptibility1/update_project.py
2024-05-02 23:12:20 +02:00

189 lines
8.8 KiB
Python

'''import os
try:
from numba import jit
except ImportError:
def jit(nopython):
def decorator_jit(func):
return func
return decorator_jit
import inspect
if 'cv_cell_types' not in inspect.stack()[-1][1]:
try:
from plotstyle import plot_style, spines_params
except:
a = 5
import sys
from IPython import embed
# utils susept wird in utils paper copiert und von utisl_susepitbility gestartet
utils_suseptibility_name = 'utils1'
utils_susept_name = 'utils1_project'
utils_suseptibility_name2 = 'utils_susept2'
utils_susept_name2 = 'utils_paper2'
utils_suseptibility_name_all = 'utils0'
utils_susept_name_all = 'utils0_project'#_down
try:# this will not load but I want this to be reference for the refractoring in pycharm
from threefish.utils1 import *#resave_small_files,plt_cv_part,RAM_norm_data, remove_yticks, unify_cell_names,load_cv_table, calc_base_reclassification,colorbar_outside_right2, find_code_vs_not, load_folder_name, save_visualization
cont_other_dir = True#
except:
cont_other_dir = False#then I know that I am on alexandras PC and I can update my code
#embed()
if cont_other_dir == False:
import filecmp
# I can also update the folder in another directy to double check its dependencies
if not os.path.exists('../'+utils_suseptibility_name+'.py'):
from utils1_project import *#resave_small_files,plt_cv_part,RAM_norm_data, remove_yticks, unify_cell_names,load_cv_table, calc_base_reclassification,colorbar_outside_right2, find_code_vs_not, load_folder_name, save_visualization
#from utils_paper2 import * # resave_small_files,plt_cv_part,RAM_norm_data, remove_yticks, unify_cell_names,load_cv_table, calc_base_reclassification,colorbar_outside_right2, find_code_vs_not, load_folder_name, save_visualization
else:
#embed()
if filecmp.cmp('../'+utils_suseptibility_name+'.py', utils_susept_name+'.py'):
from utils1_project import *#resave_small_files,plt_cv_part,RAM_norm_data, remove_yticks, unify_cell_names,load_cv_table, calc_base_reclassification,colorbar_outside_right2, find_code_vs_not, load_folder_name, save_visualization
#from utils_paper2 import * # resave_small_files,plt_cv_part,RAM_norm_data, remove_yticks, unify_cell_names,load_cv_table, calc_base_reclassification,colorbar_outside_right2, find_code_vs_not, load_folder_name, save_visualization
if os.path.exists('../'+utils_suseptibility_name+'.py'):# das mache ich um in dem richtigen embed zu arbeiten
sys.path.insert(0, '..')
from threefish.utils1 import *#resave_small_files,remove_yticks, unify_cell_names,load_cv_table, colorbar_outside_right2, find_code_vs_not, load_folder_name, save_visualization
else:
# wir schauen erstmal ohne sys dass das immer zu teilen da ist
import shutil
if os.path.exists('../'+utils_suseptibility_name+'.py'):
shutil.copyfile('../'+utils_suseptibility_name+'.py', utils_susept_name+'.py')
import shutil
if os.path.exists('../' + utils_suseptibility_name + '.py'):
shutil.copyfile('../' + utils_suseptibility_name_all + '.py', utils_susept_name_all + '.py')
print('copied utils all')
# wenn wir auf meinem Computer sind ziehen wir es aber immer vom code
# damit das refractors und wenn wir wo anders sind von dem extra kopierten file
if not os.path.exists('../'+utils_suseptibility_name+'.py'):
from utils1_project import *#resave_small_files,plt_cv_part,RAM_norm_data, remove_yticks, unify_cell_names,load_cv_table, calc_base_reclassification,colorbar_outside_right2, find_code_vs_not, load_folder_name, save_visualization
#from utils_paper2 import * # resave_small_files,plt_cv_part,RAM_norm_data, remove_yticks, unify_cell_names,load_cv_table, calc_base_reclassification,colorbar_outside_right2, find_code_vs_not, load_folder_name, save_visualization
sys.path.insert(0, '..')
from threefish.utils1 import *#resave_small_files,plt_cv_part,RAM_norm_data, remove_yticks, unify_cell_names,load_cv_table, calc_base_reclassification,colorbar_outside_right2, find_code_vs_not, load_folder_name, save_visualization
else:
sys.path.insert(0, '..')
from threefish.utils1 import *#resave_small_files,plt_cv_part,RAM_norm_data, remove_yticks, unify_cell_names,load_cv_table, calc_base_reclassification,colorbar_outside_right2, find_code_vs_not, load_folder_name, save_visualization
##############################
# find out if we are in the code or develop mode (alexandra) or the public mode!
names_extra_modules = []
version = 'code'
# for name in names_extra_modules:
if 'suseptibility' in inspect.stack()[-1][1]: # 'code' not in # da ist jetzt die Starter Directory
version = 'develop'
if ('code' not in inspect.stack()[-1][1]) | (not (('alex' in os.getlogin()) | ('rudnaya' in os.getlogin()))):
version = 'public' # für alle sollte version public sein!
# this we do only in the develop mode
if version == 'develop': #
copy = True
if copy:
if __name__ == '__main__':
from distutils.dir_util import copy_tree
import time
import shutil
#shutil.rmtree("../../make_folder/suseptibility")#delet
t1 = time.time()
dirs = os.listdir("../suseptibility")
d_count = 0
for d, dir in enumerate(dirs):
if (('.csv' in dir) | ('.npy' in dir) | ('.pkl' in dir) | ('.py' in dir)| ('suseptibility' in dir)| ('make' in dir.lower()) | ('.dat' in dir)) & ('__pycache__' not in dir):
new_folder_make = '../../../make_folder'
if not os.path.exists(new_folder_make):
os.mkdir(new_folder_make)
new_dir = new_folder_make+"/suseptibility/"
if not os.path.exists(new_dir):
os.mkdir(new_dir)
# clean the previous directory
#embed()
if d_count == 0:
dirs_new = os.listdir(new_dir)
for dir_n in dirs_new:
if '__pycache__' not in dir_n:
os.remove(new_dir + dir_n)
# nicht remove three sonst macht es alles weg
#shutil.rmtree(new_dir)
#os.mkdir(new_dir)
# redo the directory
#
if os.path.exists(new_dir + dir):
embed()
#print(new_dir+dir)
#try:
shutil.copy2("../suseptibility/" + dir, new_dir + dir)
#print(new_dir + dir)
#shutil.copy("../suseptibility/" + dir, new_dir + dir)
#shutil.copyfile("../suseptibility/"+dir, new_dir+dir)
#except:
# print('shutil stuff')
# embed()
d_count += 1
t2 = time.time() -t1
print('Time='+str(t2))
print('copied')
#copy_tree("../suseptibility", "../../make_folder/suseptibility")
def plt_scatter_four(grid, frame, cell_types, cell_type_type, annotate, colors):
grid2 = gridspec.GridSpecFromSubplotSpec(1, 4, grid[0], wspace=0.4,
hspace=0.2)
add = ['', '_burst_corr', ]
ax0 = plt.subplot(grid2[0])
# ok hier plotten wir nur den scatter der auch ein gwn hat, aber was ist wenn es mehr sind?
# ok im prinzip sollte das zwar schon stimmen aber für das Bild kann man wirklich mehr machen
for c, cell_type_it in enumerate(cell_types):
frame_g = frame[
(frame[cell_type_type] == cell_type_it) & ((frame.gwn == True) | (frame.fs == True))]
plt_cv_fr(annotate, ax0, add[0], frame_g, colors, cell_type_it)
ax1 = plt.subplot(grid2[1])
for c, cell_type_it in enumerate(cell_types):
frame_g = frame[
(frame[cell_type_type] == cell_type_it) & ((frame.gwn == True) | (frame.fs == True))]
plt_cv_vs(frame_g, ax1, add[0], annotate, colors, cell_type_it)
ax2 = plt.subplot(grid2[2])
ax2.set_title('burst')
for c, cell_type_it in enumerate(cell_types):
# frame_all = frame[(frame[cell_type_type] == cell_type)]
frame_g = frame[
(frame[cell_type_type] == cell_type_it) & ((frame.gwn == True) | (frame.fs == True))]
plt_cv_fr(annotate, ax2, add[1], frame_g, colors, cell_type_it)
return ax0, ax1, ax2,'''