restructure project
This commit is contained in:
parent
309b30b9fa
commit
ea580863b1
@ -4,17 +4,17 @@ import matplotlib.pyplot as plt
|
|||||||
import matplotlib.gridspec as gridspec
|
import matplotlib.gridspec as gridspec
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import os
|
import os
|
||||||
import functions as fu
|
from my_util import functions as fu
|
||||||
import helperFunctions as hF
|
|
||||||
|
|
||||||
from CellData import CellData
|
from parser.CellData import CellData
|
||||||
from Baseline import BaselineCellData
|
from experiments.Baseline import BaselineCellData
|
||||||
from FiCurve import FICurveCellData, FICurveModel
|
from experiments.FiCurve import FICurveCellData, FICurveModel
|
||||||
import Figure_constants as consts
|
import Figure_constants as consts
|
||||||
from ModelFit import get_best_fit
|
from fitting.ModelFit import get_best_fit
|
||||||
|
|
||||||
EXAMPLE_CELL = "data/final/2012-12-20-ac-invivo-1"
|
EXAMPLE_CELL = "data/final/2012-12-20-ac-invivo-1"
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
# data_isi_histogram()
|
# data_isi_histogram()
|
||||||
# data_mean_freq_step_stimulus_examples()
|
# data_mean_freq_step_stimulus_examples()
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
||||||
import helperFunctions as hF
|
from my_util import helperFunctions as hF
|
||||||
import Figure_constants as consts
|
import Figure_constants as consts
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
||||||
from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus
|
from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus
|
||||||
from CellData import CellData
|
from parser.CellData import CellData
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import Figure_constants as consts
|
import Figure_constants as consts
|
||||||
|
@ -2,18 +2,15 @@ import numpy as np
|
|||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import matplotlib.gridspec as gridspec
|
import matplotlib.gridspec as gridspec
|
||||||
import matplotlib as mpl
|
import matplotlib as mpl
|
||||||
from analysis import get_filtered_fit_info, get_behaviour_values, get_parameter_values, behaviour_correlations, parameter_correlations, calculate_percent_errors
|
from analysis import get_filtered_fit_info, get_behaviour_values, get_parameter_values, behaviour_correlations, parameter_correlations
|
||||||
from ModelFit import get_best_fit
|
from fitting.ModelFit import get_best_fit
|
||||||
from Baseline import BaselineModel, BaselineCellData
|
from experiments.Baseline import BaselineModel, BaselineCellData
|
||||||
from FiCurve import FICurveModel, FICurveCellData
|
from experiments.FiCurve import FICurveModel, FICurveCellData
|
||||||
from CellData import CellData
|
from parser.CellData import CellData
|
||||||
import functions as fu
|
from my_util import functions as fu
|
||||||
import Figure_constants as consts
|
import Figure_constants as consts
|
||||||
from scipy.stats import pearsonr
|
from scipy.stats import pearsonr
|
||||||
|
|
||||||
from matplotlib.ticker import FormatStrFormatter
|
|
||||||
|
|
||||||
|
|
||||||
parameter_titles = {"input_scaling": r"$\alpha$", "delta_a": r"$\Delta_A$",
|
parameter_titles = {"input_scaling": r"$\alpha$", "delta_a": r"$\Delta_A$",
|
||||||
"mem_tau": r"$\tau_m$", "noise_strength": r"$\sqrt{2D}$",
|
"mem_tau": r"$\tau_m$", "noise_strength": r"$\sqrt{2D}$",
|
||||||
"refractory_period": "$t_{ref}$", "tau_a": r"$\tau_A$",
|
"refractory_period": "$t_{ref}$", "tau_a": r"$\tau_A$",
|
||||||
|
@ -2,11 +2,10 @@
|
|||||||
from models.FirerateModel import FirerateModel
|
from models.FirerateModel import FirerateModel
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
from stimuli.StepStimulus import StepStimulus
|
from stimuli.StepStimulus import StepStimulus
|
||||||
import helperFunctions as hf
|
from my_util import helperFunctions as hf, functions as fu
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
from scipy.optimize import curve_fit
|
from scipy.optimize import curve_fit
|
||||||
import functions as fu
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
77
analysis.py
77
analysis.py
@ -1,14 +1,13 @@
|
|||||||
|
|
||||||
import argparse
|
|
||||||
import os
|
import os
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
from scipy.stats import pearsonr
|
from scipy.stats import pearsonr
|
||||||
|
import my_util.save_load as sl
|
||||||
|
|
||||||
from ModelFit import get_best_fit
|
from fitting.ModelFit import get_best_fit
|
||||||
from Baseline import BaselineModel
|
from experiments.Baseline import BaselineModel
|
||||||
from FiCurve import FICurveModel
|
from experiments.FiCurve import FICurveModel, FICurveCellData
|
||||||
from CellData import CellData
|
from parser.CellData import CellData
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
||||||
|
|
||||||
@ -18,8 +17,9 @@ def main():
|
|||||||
# parser.add_argument("dir", help="folder containing the cell folders with the fit results")
|
# parser.add_argument("dir", help="folder containing the cell folders with the fit results")
|
||||||
# args = parser.parse_args()
|
# args = parser.parse_args()
|
||||||
|
|
||||||
dir_path = "results/final_2/" # args.dir
|
dir_path = "results/final_sam/" # args.dir
|
||||||
|
plot_fi_curves_differences(dir_path)
|
||||||
|
quit()
|
||||||
# if not os.path.isdir(dir_path):
|
# if not os.path.isdir(dir_path):
|
||||||
# print("Argument dir is not a directory.")
|
# print("Argument dir is not a directory.")
|
||||||
# parser.print_usage()
|
# parser.print_usage()
|
||||||
@ -46,7 +46,66 @@ def main():
|
|||||||
# create_parameter_distributions(get_parameter_values(fits_info))
|
# create_parameter_distributions(get_parameter_values(fits_info))
|
||||||
cell_b, model_b = get_behaviour_values(fits_info)
|
cell_b, model_b = get_behaviour_values(fits_info)
|
||||||
create_behaviour_distributions(cell_b, model_b)
|
create_behaviour_distributions(cell_b, model_b)
|
||||||
pass
|
|
||||||
|
|
||||||
|
def plot_fi_curves_differences(folder, recalculate=False):
|
||||||
|
save_path = "temp/analysis/fi_curve_errors_plot.pkl"
|
||||||
|
|
||||||
|
if not recalculate and os.path.exists(save_path):
|
||||||
|
# load
|
||||||
|
loaded_values = sl.load(save_path)
|
||||||
|
model_f_inf_slopes, f_inf_ref_slope, stim_values, model_f_zero_points, f_zero_ref_values, fit_errors = loaded_values
|
||||||
|
|
||||||
|
else:
|
||||||
|
fit_errors = []
|
||||||
|
model_f_inf_slopes = []
|
||||||
|
f_inf_ref_slope = []
|
||||||
|
|
||||||
|
stim_values = []
|
||||||
|
model_f_zero_points = []
|
||||||
|
f_zero_ref_values = []
|
||||||
|
|
||||||
|
for item in sorted(os.listdir(folder)):
|
||||||
|
print(item)
|
||||||
|
cell_folder = os.path.join(folder, item)
|
||||||
|
|
||||||
|
fit = get_best_fit(cell_folder, use_comparable_error=False)
|
||||||
|
model = fit.get_model()
|
||||||
|
cell_data_path = fit.get_cell_path()
|
||||||
|
if "final_sam" in cell_data_path:
|
||||||
|
cell_data_path = cell_data_path.replace("final_sam", "final")
|
||||||
|
|
||||||
|
cell = CellData(cell_data_path)
|
||||||
|
fit_errors.append(fit.get_fit_routine_error())
|
||||||
|
fi_curve_cell = FICurveCellData(cell, cell.get_fi_contrasts(), cell.get_data_path())
|
||||||
|
cell_f_inf_slope = fi_curve_cell.get_f_inf_slope()
|
||||||
|
f_inf_ref_slope.append(cell_f_inf_slope)
|
||||||
|
cell_f_zero_values = fi_curve_cell.get_f_zero_frequencies()
|
||||||
|
f_zero_ref_values.append(cell_f_zero_values)
|
||||||
|
stim_values.append(cell.get_fi_contrasts())
|
||||||
|
fi_curve_model = FICurveModel(model, cell.get_fi_contrasts(), cell.get_eod_frequency())
|
||||||
|
model_f_inf_slope = fi_curve_model.get_f_inf_slope()
|
||||||
|
model_f_inf_slopes.append(model_f_inf_slope)
|
||||||
|
model_f_zero_values = fi_curve_model.get_f_zero_frequencies()
|
||||||
|
model_f_zero_points.append(model_f_zero_values)
|
||||||
|
|
||||||
|
# save
|
||||||
|
sl.save([model_f_inf_slopes, f_inf_ref_slope, stim_values, model_f_zero_points, f_zero_ref_values, fit_errors],
|
||||||
|
save_path, create_folders=True)
|
||||||
|
cmap = 'brg'
|
||||||
|
maximum_err = 100
|
||||||
|
colors = [fe if fe < maximum_err else maximum_err for fe in fit_errors]
|
||||||
|
colors = np.array(colors) / max(colors)
|
||||||
|
fig, axes = plt.subplots(1, 3)
|
||||||
|
axes[0].scatter(range(len(fit_errors)), fit_errors, c=colors, cmap=cmap)
|
||||||
|
# axes[1].scatter(f_inf_ref_slope, [(model_f_inf_slopes[i]-f_inf_ref_slope[i]) / f_inf_ref_slope[i] for i in range(len(model_f_inf_slopes))], c=colors, cmap=cmap)
|
||||||
|
axes[1].scatter(f_inf_ref_slope, [(model_f_inf_slopes[i]-f_inf_ref_slope[i]) for i in range(len(model_f_inf_slopes))], c=colors, cmap=cmap)
|
||||||
|
|
||||||
|
cmap_obj = plt.get_cmap(cmap)
|
||||||
|
for i in range(len(stim_values)):
|
||||||
|
axes[2].plot(stim_values[i], [(model_f_zero_points[i][j] - f_zero_ref_values[i][j]) / f_zero_ref_values[i][j] for j in range(len(model_f_zero_points[i]))], c=cmap_obj(colors[i]), alpha=0.5)
|
||||||
|
|
||||||
|
plt.show()
|
||||||
|
|
||||||
|
|
||||||
def get_filtered_fit_info(folder, filter=True):
|
def get_filtered_fit_info(folder, filter=True):
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
|
|
||||||
from CellData import icelldata_of_dir, CellData
|
from parser.CellData import icelldata_of_dir, CellData
|
||||||
from Baseline import BaselineCellData
|
from experiments.Baseline import BaselineCellData
|
||||||
from FiCurve import FICurveCellData
|
from experiments.FiCurve import FICurveCellData
|
||||||
from DataParserFactory import DatParser
|
from parser.DataParserFactory import DatParser
|
||||||
import os
|
import os
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
|
|
||||||
from FiCurve import FICurve, get_fi_curve_class
|
from FiCurve import FICurve
|
||||||
from CellData import CellData
|
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
from scipy.optimize import curve_fit
|
from scipy.optimize import curve_fit
|
||||||
import os
|
import os
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import functions as fu
|
from my_util import functions as fu
|
||||||
|
|
||||||
|
|
||||||
class Adaption:
|
class Adaption:
|
@ -1,8 +1,8 @@
|
|||||||
|
|
||||||
from CellData import CellData
|
from parser.CellData import CellData
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
||||||
import helperFunctions as hF
|
from my_util import helperFunctions as hF
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import pickle
|
import pickle
|
@ -1,12 +1,11 @@
|
|||||||
|
|
||||||
from CellData import CellData
|
from parser.CellData import CellData
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
from warnings import warn
|
from warnings import warn
|
||||||
import functions as fu
|
from my_util import helperFunctions as hF, functions as fu
|
||||||
import helperFunctions as hF
|
|
||||||
from os.path import join, exists
|
from os.path import join, exists
|
||||||
import pickle
|
import pickle
|
||||||
from sys import stderr
|
from sys import stderr
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
from CellData import CellData
|
from parser.CellData import CellData
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
|
|
||||||
|
|
0
experiments/__init__.py
Normal file
0
experiments/__init__.py
Normal file
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
from CellData import CellData, icelldata_of_dir
|
from parser.CellData import CellData, icelldata_of_dir
|
||||||
from os import listdir
|
from os import listdir
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
@ -1,17 +1,12 @@
|
|||||||
|
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
||||||
from CellData import CellData
|
from parser.CellData import CellData
|
||||||
from Baseline import get_baseline_class
|
from experiments.Baseline import get_baseline_class
|
||||||
from FiCurve import get_fi_curve_class
|
from experiments.FiCurve import get_fi_curve_class
|
||||||
from AdaptionCurrent import Adaption
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from warnings import warn
|
from warnings import warn
|
||||||
from scipy.optimize import minimize
|
from scipy.optimize import minimize
|
||||||
import time
|
|
||||||
from helperFunctions import plot_errors
|
|
||||||
|
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
|
|
||||||
|
|
||||||
class Fitter:
|
class Fitter:
|
@ -2,12 +2,11 @@
|
|||||||
import os
|
import os
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
||||||
from Baseline import get_baseline_class
|
from experiments.Baseline import get_baseline_class
|
||||||
from FiCurve import get_fi_curve_class
|
from experiments.FiCurve import get_fi_curve_class
|
||||||
from CellData import CellData
|
from parser.CellData import CellData
|
||||||
import helperFunctions as hF
|
from my_util import helperFunctions as hF, functions as fu
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import functions as fu
|
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
|
|
0
fitting/__init__.py
Normal file
0
fitting/__init__.py
Normal file
@ -1,9 +1,8 @@
|
|||||||
|
|
||||||
from ModelFit import get_best_fit
|
from fitting.ModelFit import get_best_fit
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import os
|
import os
|
||||||
import pandas
|
import pandas
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
import statsmodels.api as sm
|
import statsmodels.api as sm
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
from CellData import CellData
|
from parser.CellData import CellData
|
||||||
from FiCurve import FICurve
|
from experiments.FiCurve import FICurve
|
||||||
from AdaptionCurrent import Adaption
|
from experiments.AdaptionCurrent import Adaption
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
|
@ -2,8 +2,7 @@ import numpy as np
|
|||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import pyrelacs.DataLoader as dl
|
import pyrelacs.DataLoader as dl
|
||||||
import os
|
import os
|
||||||
import helperFunctions as hf
|
from my_util import helperFunctions as hf
|
||||||
from IPython import embed
|
|
||||||
from scipy.optimize import curve_fit
|
from scipy.optimize import curve_fit
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import helperFunctions as hF
|
from my_util import functions as fu
|
||||||
import functions as fu
|
|
||||||
import time
|
import time
|
||||||
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
17
main.py
17
main.py
@ -1,17 +0,0 @@
|
|||||||
from CellData import icelldata_of_dir
|
|
||||||
|
|
||||||
|
|
||||||
# TODO command line interface needed/nice ?
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
|
|
||||||
for cell_data in icelldata_of_dir("./data/"):
|
|
||||||
print()
|
|
||||||
print(cell_data.get_data_path())
|
|
||||||
|
|
||||||
quit()
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
@ -1,7 +1,7 @@
|
|||||||
from stimuli.AbstractStimulus import AbstractStimulus
|
from stimuli.AbstractStimulus import AbstractStimulus
|
||||||
from models.AbstractModel import AbstractModel
|
from models.AbstractModel import AbstractModel
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from functions import line
|
from my_util.functions import line
|
||||||
|
|
||||||
|
|
||||||
class FirerateModel(AbstractModel):
|
class FirerateModel(AbstractModel):
|
||||||
|
@ -1,13 +1,9 @@
|
|||||||
from stimuli.AbstractStimulus import AbstractStimulus
|
from stimuli.AbstractStimulus import AbstractStimulus
|
||||||
from models.AbstractModel import AbstractModel
|
from models.AbstractModel import AbstractModel
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import functions as fu
|
from my_util import functions as fu
|
||||||
from numba import jit
|
from numba import jit
|
||||||
import helperFunctions as hF
|
|
||||||
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
|
||||||
from scipy.optimize import curve_fit
|
|
||||||
from warnings import warn
|
from warnings import warn
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
import helperFunctions as hF
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
0
my_util/__init__.py
Normal file
0
my_util/__init__.py
Normal file
@ -2,7 +2,7 @@ import numpy as np
|
|||||||
from warnings import warn
|
from warnings import warn
|
||||||
from thunderfish.eventdetection import threshold_crossing_times, threshold_crossings, detect_peaks
|
from thunderfish.eventdetection import threshold_crossing_times, threshold_crossings, detect_peaks
|
||||||
from scipy.optimize import curve_fit
|
from scipy.optimize import curve_fit
|
||||||
import functions as fu
|
import my_util.functions as fu
|
||||||
from numba import jit
|
from numba import jit
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import time
|
import time
|
@ -21,7 +21,9 @@ def count_lines_folder(folder):
|
|||||||
total_lines = 0
|
total_lines = 0
|
||||||
total_files = 0
|
total_files = 0
|
||||||
|
|
||||||
folders = [".", "tests/", "models/", "introduction/", "stimuli/"]
|
folders = ["..", "../tests/", "../models/", "../introduction/",
|
||||||
|
"../stimuli/", "../experiments/", "../my_util/", "../parser/",
|
||||||
|
"../fitting/", "../unittests/"]
|
||||||
|
|
||||||
for folder in folders:
|
for folder in folders:
|
||||||
lines, files = count_lines_folder(folder)
|
lines, files = count_lines_folder(folder)
|
28
my_util/save_load.py
Normal file
28
my_util/save_load.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
import pickle
|
||||||
|
import os
|
||||||
|
|
||||||
|
# small module to handle quick saving and loading of (pre-analyzed) data (for figures)
|
||||||
|
|
||||||
|
|
||||||
|
def save(python_object, path, create_folders=True):
|
||||||
|
"""
|
||||||
|
save a python object in a file,
|
||||||
|
creates all necessary the folders
|
||||||
|
"""
|
||||||
|
|
||||||
|
if create_folders and not os.path.exists(os.path.dirname(path)):
|
||||||
|
os.makedirs(os.path.dirname(path))
|
||||||
|
|
||||||
|
with open(path, 'wb') as file:
|
||||||
|
pickle.dump(python_object, file)
|
||||||
|
|
||||||
|
|
||||||
|
def load(path):
|
||||||
|
"""
|
||||||
|
load pickled python object saved in the file at path.
|
||||||
|
"""
|
||||||
|
with open(path, "rb") as file:
|
||||||
|
py_object = pickle.load(file)
|
||||||
|
|
||||||
|
return py_object
|
@ -1,11 +1,9 @@
|
|||||||
import DataParserFactory as dpf
|
import parser.DataParserFactory as dpf
|
||||||
from warnings import warn
|
from warnings import warn
|
||||||
import os
|
import os
|
||||||
import helperFunctions as hf
|
from my_util import helperFunctions as hf
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
|
|
||||||
COUNT = 0
|
COUNT = 0
|
||||||
|
|
||||||
|
|
0
parser/__init__.py
Normal file
0
parser/__init__.py
Normal file
@ -7,10 +7,10 @@ from scipy.optimize import curve_fit
|
|||||||
from scipy.stats import multivariate_normal, pearsonr
|
from scipy.stats import multivariate_normal, pearsonr
|
||||||
|
|
||||||
from analysis import get_parameter_values, get_filtered_fit_info, parameter_correlations, get_behaviour_values
|
from analysis import get_parameter_values, get_filtered_fit_info, parameter_correlations, get_behaviour_values
|
||||||
from ModelFit import get_best_fit
|
from fitting.ModelFit import get_best_fit
|
||||||
import functions as fu
|
from my_util import functions as fu
|
||||||
from Baseline import BaselineModel
|
from experiments.Baseline import BaselineModel
|
||||||
from FiCurve import FICurveModel
|
from experiments.FiCurve import FICurveModel
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
from Figures_results import create_correlation_plot
|
from Figures_results import create_correlation_plot
|
||||||
import Figure_constants as consts
|
import Figure_constants as consts
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from CellData import icelldata_of_dir, CellData
|
from parser.CellData import icelldata_of_dir, CellData
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import os
|
import os
|
||||||
import pyrelacs.DataLoader as Dl
|
import pyrelacs.DataLoader as Dl
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
|
|
||||||
|
|
||||||
from CellData import CellData
|
from parser.CellData import CellData
|
||||||
from DataParserFactory import DatParser
|
|
||||||
import pyrelacs.DataLoader as Dl
|
import pyrelacs.DataLoader as Dl
|
||||||
import helperFunctions as hF
|
|
||||||
from thunderfish.eventdetection import detect_peaks
|
from thunderfish.eventdetection import detect_peaks
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
|
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
from CellData import CellData
|
from parser.CellData import CellData
|
||||||
from Baseline import get_baseline_class
|
from experiments.Baseline import get_baseline_class
|
||||||
from FiCurve import get_fi_curve_class
|
from experiments.FiCurve import get_fi_curve_class
|
||||||
from Fitter import Fitter
|
from fitting.Fitter import Fitter
|
||||||
from ModelFit import get_best_fit, ModelFit
|
from fitting.ModelFit import get_best_fit, ModelFit
|
||||||
|
|
||||||
import time
|
import time
|
||||||
import os
|
import os
|
||||||
import argparse
|
import argparse
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from helperFunctions import plot_errors
|
from my_util.helperFunctions import plot_errors
|
||||||
|
|
||||||
import multiprocessing as mp
|
import multiprocessing as mp
|
||||||
|
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
|
|
||||||
|
# Screen commands to run script remotely:
|
||||||
|
|
||||||
|
# screen -S fitting # open screen session with name: "fitting"
|
||||||
|
# press ctrl + A release and then D to detach screen session.
|
||||||
|
# screen -r fitting # reconnect after disconnecting ssh / detaching screen
|
||||||
|
|
||||||
|
|
||||||
for file in data/final_sam/*; do
|
for file in data/final_sam/*; do
|
||||||
if [ -d "$file" ]; then
|
if [ -d "$file" ]; then
|
||||||
nice python3 run_Fitter.py --cell $file
|
nice python3 run_Fitter.py --cell "$file"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -1,19 +1,16 @@
|
|||||||
|
|
||||||
from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus as SAM
|
from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus as SAM
|
||||||
from Baseline import get_baseline_class
|
|
||||||
from FiCurve import FICurveModel
|
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import helperFunctions as hF
|
from my_util import helperFunctions as hF
|
||||||
from CellData import CellData
|
from parser.CellData import CellData
|
||||||
from ModelFit import ModelFit, get_best_fit
|
from fitting.ModelFit import get_best_fit
|
||||||
import os
|
import os
|
||||||
import shutil
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
run_sam_analysis_for_all_cells("results/final_2")
|
run_sam_analysis_for_all_cells("results/final_sam")
|
||||||
|
|
||||||
# sam_analysis("results/final_2/2011-10-25-ad-invivo-1/")
|
# sam_analysis("results/final_2/2011-10-25-ad-invivo-1/")
|
||||||
|
|
||||||
@ -34,12 +31,13 @@ def run_sam_analysis_for_all_cells(folder):
|
|||||||
count = 0
|
count = 0
|
||||||
for item in os.listdir(folder):
|
for item in os.listdir(folder):
|
||||||
cell_folder = os.path.join(folder, item)
|
cell_folder = os.path.join(folder, item)
|
||||||
fit = get_best_fit(cell_folder, use_comparable_error=False)
|
# fit = get_best_fit(cell_folder, use_comparable_error=False)
|
||||||
cell_data = fit.get_cell_data()
|
# cell_data = fit.get_cell_data()
|
||||||
|
#
|
||||||
if cell_data.has_sam_recordings():
|
# if cell_data.has_sam_recordings():
|
||||||
count += 1
|
# count += 1
|
||||||
# print("Fit quality:", fit.get_fit_routine_error())
|
# # print("Fit quality:", fit.get_fit_routine_error())
|
||||||
|
# sam_analysis(cell_folder)
|
||||||
sam_analysis(cell_folder)
|
sam_analysis(cell_folder)
|
||||||
print(count)
|
print(count)
|
||||||
|
|
||||||
@ -165,10 +163,14 @@ def plot_mean_of_cuts():
|
|||||||
def sam_analysis(fit_path):
|
def sam_analysis(fit_path):
|
||||||
modelfit = get_best_fit(fit_path)
|
modelfit = get_best_fit(fit_path)
|
||||||
|
|
||||||
if not os.path.exists(os.path.join(modelfit.get_cell_path(), "samallspikes1.dat")):
|
# if not os.path.exists(os.path.join(modelfit.get_cell_path(), "samallspikes1.dat")):
|
||||||
print("Cell: {} \n Has no measured sam stimuli.")
|
# print("Cell: {} \n Has no measured sam stimuli.")
|
||||||
return
|
# return
|
||||||
cell_data = CellData(modelfit.get_cell_path())
|
cell_data_path = modelfit.get_cell_path()
|
||||||
|
if "final_sam" in cell_data_path:
|
||||||
|
cell_data_path = cell_data_path.replace("final_sam", "final")
|
||||||
|
|
||||||
|
cell_data = CellData(cell_data_path)
|
||||||
model = modelfit.get_model()
|
model = modelfit.get_model()
|
||||||
|
|
||||||
# parameters = {'delta_a': 0.08820130374685671, 'refractory_period': 0.0006, 'a_zero': 15, 'step_size': 5e-05,
|
# parameters = {'delta_a': 0.08820130374685671, 'refractory_period': 0.0006, 'a_zero': 15, 'step_size': 5e-05,
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
|
|
||||||
from ModelFit import get_best_fit, ModelFit
|
from fitting.ModelFit import get_best_fit
|
||||||
import os
|
import os
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
from Baseline import BaselineCellData
|
|
||||||
|
|
||||||
|
|
||||||
SAVE_DIR = "results/lab_rotation/"
|
SAVE_DIR = "results/lab_rotation/"
|
||||||
|
|
||||||
|
21
test.py
21
test.py
@ -1,24 +1,5 @@
|
|||||||
|
|
||||||
from Baseline import get_baseline_class
|
|
||||||
from CellData import CellData, icelldata_of_dir
|
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
|
||||||
from Baseline import BaselineCellData, BaselineModel
|
|
||||||
from os import listdir
|
|
||||||
import numpy as np
|
|
||||||
from IPython import embed
|
|
||||||
import pyrelacs.DataLoader as Dl
|
|
||||||
from ModelFit import ModelFit, get_best_fit
|
|
||||||
from FiCurve import FICurveModel, FICurveCellData
|
|
||||||
import os
|
import os
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
import functions as fu
|
|
||||||
from scipy.optimize import curve_fit
|
|
||||||
from scipy.signal import find_peaks
|
|
||||||
from thunderfish.eventdetection import threshold_crossing_times, threshold_crossings, detect_peaks
|
|
||||||
import helperFunctions as hF
|
|
||||||
import models.smallModels as sM
|
|
||||||
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
|
||||||
from matplotlib import gridspec
|
|
||||||
# from plottools.axes import labelaxes_params
|
# from plottools.axes import labelaxes_params
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
|
|
||||||
from CellData import icelldata_of_dir, CellData
|
from parser.CellData import icelldata_of_dir, CellData
|
||||||
from DataParserFactory import DatParser
|
from parser.DataParserFactory import DatParser
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import os
|
import os
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import pyrelacs.DataLoader as Dl
|
import pyrelacs.DataLoader as Dl
|
||||||
from Baseline import BaselineCellData
|
from experiments.Baseline import BaselineCellData
|
||||||
from FiCurve import FICurveCellData
|
from experiments.FiCurve import FICurveCellData
|
||||||
|
|
||||||
data_save_path = "test_routines/test_files/"
|
data_save_path = "test_routines/test_files/"
|
||||||
read = False
|
read = False
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
|
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import helperFunctions as hf
|
from my_util import helperFunctions as hf, functions as fu
|
||||||
from models.FirerateModel import FirerateModel
|
from models.FirerateModel import FirerateModel
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
from stimuli.StepStimulus import StepStimulus
|
from stimuli.StepStimulus import StepStimulus
|
||||||
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
||||||
import functions as fu
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import functions as fu
|
from my_util import functions as fu
|
||||||
|
|
||||||
|
|
||||||
def test_plot_inverses(ficurve):
|
def test_plot_inverses(ficurve):
|
||||||
|
@ -1,20 +1,14 @@
|
|||||||
|
from my_util import helperFunctions as hf, functions as fu
|
||||||
import helperFunctions as hf
|
from parser.CellData import icelldata_of_dir
|
||||||
from CellData import icelldata_of_dir
|
|
||||||
import functions as fu
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import time
|
import time
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import os
|
|
||||||
from scipy.signal import argrelmax
|
|
||||||
from thunderfish.eventdetection import detect_peaks
|
from thunderfish.eventdetection import detect_peaks
|
||||||
from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus
|
from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
from FiCurve import FICurveModel, get_fi_curve_class
|
from experiments.FiCurve import FICurveModel, get_fi_curve_class
|
||||||
from Baseline import get_baseline_class
|
from experiments.Baseline import get_baseline_class
|
||||||
from AdaptionCurrent import Adaption
|
from experiments.AdaptionCurrent import Adaption
|
||||||
from stimuli.StepStimulus import StepStimulus
|
|
||||||
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
|
||||||
|
|
||||||
|
|
||||||
def time_test_function():
|
def time_test_function():
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,11 +1,7 @@
|
|||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
import numpy as np
|
from parser.CellData import icelldata_of_dir
|
||||||
import helperFunctions as hF
|
from experiments.Baseline import BaselineCellData
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
from CellData import icelldata_of_dir
|
|
||||||
from Baseline import BaselineCellData
|
|
||||||
import os
|
|
||||||
|
|
||||||
|
|
||||||
class BaselineTester(unittest.TestCase):
|
class BaselineTester(unittest.TestCase):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import unittest
|
import unittest
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import helperFunctions as hF
|
from my_util import helperFunctions as hF
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
from warnings import warn
|
from warnings import warn
|
||||||
|
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
import unittest
|
import unittest
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import helperFunctions as hF
|
from my_util import helperFunctions as hF
|
||||||
import matplotlib.pyplot as plt
|
from parser.CellData import icelldata_of_dir
|
||||||
from CellData import icelldata_of_dir
|
from experiments.Baseline import BaselineCellData
|
||||||
from Baseline import BaselineCellData
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import helperFunctions as hF
|
from my_util import helperFunctions as hF
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus
|
from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus
|
||||||
|
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus
|
from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus
|
||||||
import unittest
|
import unittest
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import helperFunctions as hF
|
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
from warnings import warn
|
|
||||||
|
|
||||||
|
|
||||||
class SinusoidalStimulusTester(unittest.TestCase):
|
class SinusoidalStimulusTester(unittest.TestCase):
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus
|
||||||
import unittest
|
import unittest
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import helperFunctions as hF
|
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
from warnings import warn
|
|
||||||
|
|
||||||
|
|
||||||
class SinusoidalStepStimulusTester(unittest.TestCase):
|
class SinusoidalStepStimulusTester(unittest.TestCase):
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
from models.LIFACnoise import LifacNoiseModel
|
from models.LIFACnoise import LifacNoiseModel
|
||||||
from Baseline import BaselineModel
|
from experiments.Baseline import BaselineModel
|
||||||
from FiCurve import FICurveModel
|
from experiments.FiCurve import FICurveModel
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import copy
|
import copy
|
||||||
|
Loading…
Reference in New Issue
Block a user