diff --git a/Figures_Baseline.py b/Figures_Baseline.py index a7b5359..b6aafc4 100644 --- a/Figures_Baseline.py +++ b/Figures_Baseline.py @@ -4,17 +4,17 @@ import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec import numpy as np import os -import functions as fu -import helperFunctions as hF +from my_util import functions as fu -from CellData import CellData -from Baseline import BaselineCellData -from FiCurve import FICurveCellData, FICurveModel +from parser.CellData import CellData +from experiments.Baseline import BaselineCellData +from experiments.FiCurve import FICurveCellData, FICurveModel 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" + def main(): # data_isi_histogram() # data_mean_freq_step_stimulus_examples() diff --git a/Figures_Model.py b/Figures_Model.py index 7f7109b..289df0d 100644 --- a/Figures_Model.py +++ b/Figures_Model.py @@ -1,7 +1,7 @@ from models.LIFACnoise import LifacNoiseModel from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus -import helperFunctions as hF +from my_util import helperFunctions as hF import Figure_constants as consts import matplotlib.pyplot as plt import numpy as np diff --git a/Figures_Stimuli.py b/Figures_Stimuli.py index 736c74c..373c441 100644 --- a/Figures_Stimuli.py +++ b/Figures_Stimuli.py @@ -1,7 +1,7 @@ from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus -from CellData import CellData +from parser.CellData import CellData import numpy as np import matplotlib.pyplot as plt import Figure_constants as consts diff --git a/Figures_results.py b/Figures_results.py index b02bf82..de7948c 100644 --- a/Figures_results.py +++ b/Figures_results.py @@ -2,18 +2,15 @@ import numpy as np import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec 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 ModelFit import get_best_fit -from Baseline import BaselineModel, BaselineCellData -from FiCurve import FICurveModel, FICurveCellData -from CellData import CellData -import functions as fu +from analysis import get_filtered_fit_info, get_behaviour_values, get_parameter_values, behaviour_correlations, parameter_correlations +from fitting.ModelFit import get_best_fit +from experiments.Baseline import BaselineModel, BaselineCellData +from experiments.FiCurve import FICurveModel, FICurveCellData +from parser.CellData import CellData +from my_util import functions as fu import Figure_constants as consts from scipy.stats import pearsonr -from matplotlib.ticker import FormatStrFormatter - - parameter_titles = {"input_scaling": r"$\alpha$", "delta_a": r"$\Delta_A$", "mem_tau": r"$\tau_m$", "noise_strength": r"$\sqrt{2D}$", "refractory_period": "$t_{ref}$", "tau_a": r"$\tau_A$", diff --git a/RelationAdaptionVariables.py b/RelationAdaptionVariables.py index 12ec864..8c3d9db 100644 --- a/RelationAdaptionVariables.py +++ b/RelationAdaptionVariables.py @@ -2,11 +2,10 @@ from models.FirerateModel import FirerateModel from models.LIFACnoise import LifacNoiseModel from stimuli.StepStimulus import StepStimulus -import helperFunctions as hf +from my_util import helperFunctions as hf, functions as fu import numpy as np import matplotlib.pyplot as plt from scipy.optimize import curve_fit -import functions as fu def main(): diff --git a/analysis.py b/analysis.py index 2de565b..8a35488 100644 --- a/analysis.py +++ b/analysis.py @@ -1,14 +1,13 @@ - -import argparse import os import numpy as np import matplotlib.pyplot as plt from scipy.stats import pearsonr +import my_util.save_load as sl -from ModelFit import get_best_fit -from Baseline import BaselineModel -from FiCurve import FICurveModel -from CellData import CellData +from fitting.ModelFit import get_best_fit +from experiments.Baseline import BaselineModel +from experiments.FiCurve import FICurveModel, FICurveCellData +from parser.CellData import CellData from models.LIFACnoise import LifacNoiseModel 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") # 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): # print("Argument dir is not a directory.") # parser.print_usage() @@ -46,7 +46,66 @@ def main(): # create_parameter_distributions(get_parameter_values(fits_info)) cell_b, model_b = get_behaviour_values(fits_info) 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): diff --git a/cell_overview.py b/cell_overview.py index e87bc9b..90e62de 100644 --- a/cell_overview.py +++ b/cell_overview.py @@ -1,11 +1,10 @@ -from CellData import icelldata_of_dir, CellData -from Baseline import BaselineCellData -from FiCurve import FICurveCellData -from DataParserFactory import DatParser +from parser.CellData import icelldata_of_dir, CellData +from experiments.Baseline import BaselineCellData +from experiments.FiCurve import FICurveCellData +from parser.DataParserFactory import DatParser import os import numpy as np -import matplotlib.pyplot as plt def main(): diff --git a/AdaptionCurrent.py b/experiments/AdaptionCurrent.py similarity index 98% rename from AdaptionCurrent.py rename to experiments/AdaptionCurrent.py index 66bdbcf..fb15b81 100644 --- a/AdaptionCurrent.py +++ b/experiments/AdaptionCurrent.py @@ -1,11 +1,10 @@ -from FiCurve import FICurve, get_fi_curve_class -from CellData import CellData +from FiCurve import FICurve import matplotlib.pyplot as plt from scipy.optimize import curve_fit import os import numpy as np -import functions as fu +from my_util import functions as fu class Adaption: diff --git a/Baseline.py b/experiments/Baseline.py similarity index 99% rename from Baseline.py rename to experiments/Baseline.py index 787a51b..2d0f356 100644 --- a/Baseline.py +++ b/experiments/Baseline.py @@ -1,8 +1,8 @@ -from CellData import CellData +from parser.CellData import CellData from models.LIFACnoise import LifacNoiseModel from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus -import helperFunctions as hF +from my_util import helperFunctions as hF import numpy as np import matplotlib.pyplot as plt import pickle diff --git a/FiCurve.py b/experiments/FiCurve.py similarity index 99% rename from FiCurve.py rename to experiments/FiCurve.py index 4fa4764..2b42ae1 100644 --- a/FiCurve.py +++ b/experiments/FiCurve.py @@ -1,12 +1,11 @@ -from CellData import CellData +from parser.CellData import CellData from models.LIFACnoise import LifacNoiseModel from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus import numpy as np import matplotlib.pyplot as plt from warnings import warn -import functions as fu -import helperFunctions as hF +from my_util import helperFunctions as hF, functions as fu from os.path import join, exists import pickle from sys import stderr diff --git a/Sam.py b/experiments/Sam.py similarity index 86% rename from Sam.py rename to experiments/Sam.py index d28b3ed..3f512f1 100644 --- a/Sam.py +++ b/experiments/Sam.py @@ -1,5 +1,5 @@ -from CellData import CellData +from parser.CellData import CellData from models.LIFACnoise import LifacNoiseModel diff --git a/experiments/__init__.py b/experiments/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/find_thresholds_for_spike_detection.py b/find_thresholds_for_spike_detection.py index eac3144..d1c34c0 100644 --- a/find_thresholds_for_spike_detection.py +++ b/find_thresholds_for_spike_detection.py @@ -1,5 +1,5 @@ -from CellData import CellData, icelldata_of_dir +from parser.CellData import CellData, icelldata_of_dir from os import listdir import os diff --git a/Fitter.py b/fitting/Fitter.py similarity index 99% rename from Fitter.py rename to fitting/Fitter.py index d72d7d4..8e687f2 100644 --- a/Fitter.py +++ b/fitting/Fitter.py @@ -1,17 +1,12 @@ from models.LIFACnoise import LifacNoiseModel from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus -from CellData import CellData -from Baseline import get_baseline_class -from FiCurve import get_fi_curve_class -from AdaptionCurrent import Adaption +from parser.CellData import CellData +from experiments.Baseline import get_baseline_class +from experiments.FiCurve import get_fi_curve_class import numpy as np from warnings import warn from scipy.optimize import minimize -import time -from helperFunctions import plot_errors - -import matplotlib.pyplot as plt class Fitter: diff --git a/ModelFit.py b/fitting/ModelFit.py similarity index 97% rename from ModelFit.py rename to fitting/ModelFit.py index 3c7d90e..adb344d 100644 --- a/ModelFit.py +++ b/fitting/ModelFit.py @@ -2,12 +2,11 @@ import os from models.LIFACnoise import LifacNoiseModel from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus -from Baseline import get_baseline_class -from FiCurve import get_fi_curve_class -from CellData import CellData -import helperFunctions as hF +from experiments.Baseline import get_baseline_class +from experiments.FiCurve import get_fi_curve_class +from parser.CellData import CellData +from my_util import helperFunctions as hF, functions as fu import numpy as np -import functions as fu import matplotlib.pyplot as plt diff --git a/fitting/__init__.py b/fitting/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/glm_prediction.py b/glm_prediction.py index 5d8e3e4..8ca0791 100644 --- a/glm_prediction.py +++ b/glm_prediction.py @@ -1,9 +1,8 @@ -from ModelFit import get_best_fit +from fitting.ModelFit import get_best_fit import numpy as np import os import pandas -import matplotlib.pyplot as plt import statsmodels.api as sm diff --git a/introduction/NeuronModel.py b/introduction/NeuronModel.py index c912f1b..e411390 100644 --- a/introduction/NeuronModel.py +++ b/introduction/NeuronModel.py @@ -1,7 +1,7 @@ -from CellData import CellData -from FiCurve import FICurve -from AdaptionCurrent import Adaption +from parser.CellData import CellData +from experiments.FiCurve import FICurve +from experiments.AdaptionCurrent import Adaption import numpy as np import matplotlib.pyplot as plt diff --git a/introduction/introductionFICurve.py b/introduction/introductionFICurve.py index 1042f8f..3f6ed06 100644 --- a/introduction/introductionFICurve.py +++ b/introduction/introductionFICurve.py @@ -2,8 +2,7 @@ import numpy as np import matplotlib.pyplot as plt import pyrelacs.DataLoader as dl import os -import helperFunctions as hf -from IPython import embed +from my_util import helperFunctions as hf from scipy.optimize import curve_fit import warnings diff --git a/introduction/test.py b/introduction/test.py index 27e19ec..251c429 100644 --- a/introduction/test.py +++ b/introduction/test.py @@ -1,9 +1,7 @@ import numpy as np import matplotlib.pyplot as plt -import helperFunctions as hF -import functions as fu +from my_util import functions as fu import time -from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus def main(): diff --git a/main.py b/main.py deleted file mode 100644 index fb5dc44..0000000 --- a/main.py +++ /dev/null @@ -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() diff --git a/models/FirerateModel.py b/models/FirerateModel.py index d12345c..731bf9d 100644 --- a/models/FirerateModel.py +++ b/models/FirerateModel.py @@ -1,7 +1,7 @@ from stimuli.AbstractStimulus import AbstractStimulus from models.AbstractModel import AbstractModel import numpy as np -from functions import line +from my_util.functions import line class FirerateModel(AbstractModel): diff --git a/models/LIFACnoise.py b/models/LIFACnoise.py index c71f1f7..8a82e76 100644 --- a/models/LIFACnoise.py +++ b/models/LIFACnoise.py @@ -1,13 +1,9 @@ from stimuli.AbstractStimulus import AbstractStimulus from models.AbstractModel import AbstractModel import numpy as np -import functions as fu +from my_util import functions as fu from numba import jit -import helperFunctions as hF -from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus -from scipy.optimize import curve_fit from warnings import warn -import matplotlib.pyplot as plt from collections import OrderedDict diff --git a/models/smallModels.py b/models/smallModels.py index bdcd1b4..40112cc 100644 --- a/models/smallModels.py +++ b/models/smallModels.py @@ -1,7 +1,5 @@ import numpy as np -import matplotlib.pyplot as plt -import helperFunctions as hF def main(): diff --git a/Sounds.py b/my_util/Sounds.py similarity index 100% rename from Sounds.py rename to my_util/Sounds.py diff --git a/my_util/__init__.py b/my_util/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/functions.py b/my_util/functions.py similarity index 100% rename from functions.py rename to my_util/functions.py diff --git a/helperFunctions.py b/my_util/helperFunctions.py similarity index 99% rename from helperFunctions.py rename to my_util/helperFunctions.py index dbcfb32..b2af808 100644 --- a/helperFunctions.py +++ b/my_util/helperFunctions.py @@ -2,7 +2,7 @@ import numpy as np from warnings import warn from thunderfish.eventdetection import threshold_crossing_times, threshold_crossings, detect_peaks from scipy.optimize import curve_fit -import functions as fu +import my_util.functions as fu from numba import jit import matplotlib.pyplot as plt import time diff --git a/lines_of_code.py b/my_util/lines_of_code.py similarity index 73% rename from lines_of_code.py rename to my_util/lines_of_code.py index d30a4f6..3c7f7b1 100644 --- a/lines_of_code.py +++ b/my_util/lines_of_code.py @@ -21,7 +21,9 @@ def count_lines_folder(folder): total_lines = 0 total_files = 0 -folders = [".", "tests/", "models/", "introduction/", "stimuli/"] +folders = ["..", "../tests/", "../models/", "../introduction/", + "../stimuli/", "../experiments/", "../my_util/", "../parser/", + "../fitting/", "../unittests/"] for folder in folders: lines, files = count_lines_folder(folder) diff --git a/my_util/save_load.py b/my_util/save_load.py new file mode 100644 index 0000000..acec452 --- /dev/null +++ b/my_util/save_load.py @@ -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 diff --git a/CellData.py b/parser/CellData.py similarity index 99% rename from CellData.py rename to parser/CellData.py index d2c3cb9..e02585b 100644 --- a/CellData.py +++ b/parser/CellData.py @@ -1,11 +1,9 @@ -import DataParserFactory as dpf +import parser.DataParserFactory as dpf from warnings import warn import os -import helperFunctions as hf +from my_util import helperFunctions as hf import numpy as np -import matplotlib.pyplot as plt - COUNT = 0 diff --git a/DataParserFactory.py b/parser/DataParserFactory.py similarity index 100% rename from DataParserFactory.py rename to parser/DataParserFactory.py diff --git a/parser/__init__.py b/parser/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/random_models.py b/random_models.py index aef1c72..1b9b913 100644 --- a/random_models.py +++ b/random_models.py @@ -7,10 +7,10 @@ from scipy.optimize import curve_fit from scipy.stats import multivariate_normal, pearsonr from analysis import get_parameter_values, get_filtered_fit_info, parameter_correlations, get_behaviour_values -from ModelFit import get_best_fit -import functions as fu -from Baseline import BaselineModel -from FiCurve import FICurveModel +from fitting.ModelFit import get_best_fit +from my_util import functions as fu +from experiments.Baseline import BaselineModel +from experiments.FiCurve import FICurveModel from models.LIFACnoise import LifacNoiseModel from Figures_results import create_correlation_plot import Figure_constants as consts diff --git a/read_data_infos.py b/read_data_infos.py index 2a88814..9396342 100644 --- a/read_data_infos.py +++ b/read_data_infos.py @@ -1,4 +1,4 @@ -from CellData import icelldata_of_dir, CellData +from parser.CellData import icelldata_of_dir, CellData import numpy as np import os import pyrelacs.DataLoader as Dl diff --git a/redetect_fi_curve.py b/redetect_fi_curve.py index 002beb8..579dcfb 100644 --- a/redetect_fi_curve.py +++ b/redetect_fi_curve.py @@ -1,9 +1,7 @@ -from CellData import CellData -from DataParserFactory import DatParser +from parser.CellData import CellData import pyrelacs.DataLoader as Dl -import helperFunctions as hF from thunderfish.eventdetection import detect_peaks import os diff --git a/run_Fitter.py b/run_Fitter.py index aaa90bb..dceabf1 100644 --- a/run_Fitter.py +++ b/run_Fitter.py @@ -1,16 +1,16 @@ from models.LIFACnoise import LifacNoiseModel -from CellData import CellData -from Baseline import get_baseline_class -from FiCurve import get_fi_curve_class -from Fitter import Fitter -from ModelFit import get_best_fit, ModelFit +from parser.CellData import CellData +from experiments.Baseline import get_baseline_class +from experiments.FiCurve import get_fi_curve_class +from fitting.Fitter import Fitter +from fitting.ModelFit import get_best_fit, ModelFit import time import os import argparse import numpy as np -from helperFunctions import plot_errors +from my_util.helperFunctions import plot_errors import multiprocessing as mp diff --git a/run_cellwise_fitting.sh b/run_cellwise_fitting.sh index 55fa4da..e7f02d1 100755 --- a/run_cellwise_fitting.sh +++ b/run_cellwise_fitting.sh @@ -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 if [ -d "$file" ]; then - nice python3 run_Fitter.py --cell $file + nice python3 run_Fitter.py --cell "$file" fi done diff --git a/sam_experiments.py b/sam_experiments.py index 1e6561d..d7ce6c2 100644 --- a/sam_experiments.py +++ b/sam_experiments.py @@ -1,19 +1,16 @@ from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus as SAM -from Baseline import get_baseline_class -from FiCurve import FICurveModel from models.LIFACnoise import LifacNoiseModel import numpy as np import matplotlib.pyplot as plt -import helperFunctions as hF -from CellData import CellData -from ModelFit import ModelFit, get_best_fit +from my_util import helperFunctions as hF +from parser.CellData import CellData +from fitting.ModelFit import get_best_fit import os -import shutil 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/") @@ -34,13 +31,14 @@ def run_sam_analysis_for_all_cells(folder): count = 0 for item in os.listdir(folder): cell_folder = os.path.join(folder, item) - fit = get_best_fit(cell_folder, use_comparable_error=False) - cell_data = fit.get_cell_data() - - if cell_data.has_sam_recordings(): - count += 1 - # print("Fit quality:", fit.get_fit_routine_error()) - sam_analysis(cell_folder) + # fit = get_best_fit(cell_folder, use_comparable_error=False) + # cell_data = fit.get_cell_data() + # + # if cell_data.has_sam_recordings(): + # count += 1 + # # print("Fit quality:", fit.get_fit_routine_error()) + # sam_analysis(cell_folder) + sam_analysis(cell_folder) print(count) @@ -165,10 +163,14 @@ def plot_mean_of_cuts(): def sam_analysis(fit_path): modelfit = get_best_fit(fit_path) - if not os.path.exists(os.path.join(modelfit.get_cell_path(), "samallspikes1.dat")): - print("Cell: {} \n Has no measured sam stimuli.") - return - cell_data = CellData(modelfit.get_cell_path()) + # if not os.path.exists(os.path.join(modelfit.get_cell_path(), "samallspikes1.dat")): + # print("Cell: {} \n Has no measured sam stimuli.") + # return + 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() # parameters = {'delta_a': 0.08820130374685671, 'refractory_period': 0.0006, 'a_zero': 15, 'step_size': 5e-05, diff --git a/save_model_fits_as_csv.py b/save_model_fits_as_csv.py index 0a87f73..3d404af 100644 --- a/save_model_fits_as_csv.py +++ b/save_model_fits_as_csv.py @@ -1,11 +1,9 @@ -from ModelFit import get_best_fit, ModelFit +from fitting.ModelFit import get_best_fit import os import pandas as pd import numpy as np import matplotlib.pyplot as plt -from Baseline import BaselineCellData - SAVE_DIR = "results/lab_rotation/" diff --git a/test.py b/test.py index 7caf8b8..6373fef 100644 --- a/test.py +++ b/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 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 diff --git a/test_for_cells.py b/test_for_cells.py index fed0f9a..ef4cd28 100644 --- a/test_for_cells.py +++ b/test_for_cells.py @@ -1,12 +1,12 @@ -from CellData import icelldata_of_dir, CellData -from DataParserFactory import DatParser +from parser.CellData import icelldata_of_dir, CellData +from parser.DataParserFactory import DatParser import numpy as np import os import matplotlib.pyplot as plt import pyrelacs.DataLoader as Dl -from Baseline import BaselineCellData -from FiCurve import FICurveCellData +from experiments.Baseline import BaselineCellData +from experiments.FiCurve import FICurveCellData data_save_path = "test_routines/test_files/" read = False diff --git a/tests/ModelTests.py b/tests/ModelTests.py index 7a378d1..6e40b7f 100644 --- a/tests/ModelTests.py +++ b/tests/ModelTests.py @@ -1,12 +1,11 @@ import matplotlib.pyplot as plt 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.LIFACnoise import LifacNoiseModel from stimuli.StepStimulus import StepStimulus from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus -import functions as fu def main(): diff --git a/tests/functionalityTests.py b/tests/functionalityTests.py index 18ff6c9..7357867 100644 --- a/tests/functionalityTests.py +++ b/tests/functionalityTests.py @@ -1,7 +1,7 @@ import numpy as np import matplotlib.pyplot as plt -import functions as fu +from my_util import functions as fu def test_plot_inverses(ficurve): diff --git a/tests/generalTests.py b/tests/generalTests.py index 4770be4..beba646 100644 --- a/tests/generalTests.py +++ b/tests/generalTests.py @@ -1,20 +1,14 @@ - -import helperFunctions as hf -from CellData import icelldata_of_dir -import functions as fu +from my_util import helperFunctions as hf, functions as fu +from parser.CellData import icelldata_of_dir import numpy as np import time import matplotlib.pyplot as plt -import os -from scipy.signal import argrelmax from thunderfish.eventdetection import detect_peaks from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus from models.LIFACnoise import LifacNoiseModel -from FiCurve import FICurveModel, get_fi_curve_class -from Baseline import get_baseline_class -from AdaptionCurrent import Adaption -from stimuli.StepStimulus import StepStimulus -from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus +from experiments.FiCurve import FICurveModel, get_fi_curve_class +from experiments.Baseline import get_baseline_class +from experiments.AdaptionCurrent import Adaption def time_test_function(): diff --git a/thesis/figures/f_point_detection.pdf b/thesis/figures/f_point_detection.pdf index df13eef..7d99b45 100644 Binary files a/thesis/figures/f_point_detection.pdf and b/thesis/figures/f_point_detection.pdf differ diff --git a/thesis/figures/isi_hist_heterogeneity.pdf b/thesis/figures/isi_hist_heterogeneity.pdf index c96db03..2c9a596 100644 Binary files a/thesis/figures/isi_hist_heterogeneity.pdf and b/thesis/figures/isi_hist_heterogeneity.pdf differ diff --git a/thesis/figures/p_unit_example.pdf b/thesis/figures/p_unit_example.pdf index a939128..d6fcdbe 100644 Binary files a/thesis/figures/p_unit_example.pdf and b/thesis/figures/p_unit_example.pdf differ diff --git a/unittests/testBaseline.py b/unittests/testBaseline.py index 9926123..6d01b7e 100644 --- a/unittests/testBaseline.py +++ b/unittests/testBaseline.py @@ -1,11 +1,7 @@ import unittest -import numpy as np -import helperFunctions as hF -import matplotlib.pyplot as plt -from CellData import icelldata_of_dir -from Baseline import BaselineCellData -import os +from parser.CellData import icelldata_of_dir +from experiments.Baseline import BaselineCellData class BaselineTester(unittest.TestCase): diff --git a/unittests/testFrequencyFunctions.py b/unittests/testFrequencyFunctions.py index c5d8ac1..fb6bb56 100644 --- a/unittests/testFrequencyFunctions.py +++ b/unittests/testFrequencyFunctions.py @@ -1,6 +1,6 @@ import unittest import numpy as np -import helperFunctions as hF +from my_util import helperFunctions as hF import matplotlib.pyplot as plt from warnings import warn diff --git a/unittests/testHelperFunctions.py b/unittests/testHelperFunctions.py index 5aa0496..181005d 100644 --- a/unittests/testHelperFunctions.py +++ b/unittests/testHelperFunctions.py @@ -1,9 +1,8 @@ import unittest import numpy as np -import helperFunctions as hF -import matplotlib.pyplot as plt -from CellData import icelldata_of_dir -from Baseline import BaselineCellData +from my_util import helperFunctions as hF +from parser.CellData import icelldata_of_dir +from experiments.Baseline import BaselineCellData import os diff --git a/unittests/testLifacNoise.py b/unittests/testLifacNoise.py index f22bfea..a7a87c8 100644 --- a/unittests/testLifacNoise.py +++ b/unittests/testLifacNoise.py @@ -1,8 +1,7 @@ import unittest import numpy as np -import helperFunctions as hF -import matplotlib.pyplot as plt +from my_util import helperFunctions as hF from models.LIFACnoise import LifacNoiseModel from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus diff --git a/unittests/testSinusAmplitudeModulation.py b/unittests/testSinusAmplitudeModulation.py index c69bd07..dc8c8e8 100644 --- a/unittests/testSinusAmplitudeModulation.py +++ b/unittests/testSinusAmplitudeModulation.py @@ -1,9 +1,7 @@ from stimuli.SinusAmplitudeModulation import SinusAmplitudeModulationStimulus import unittest import numpy as np -import helperFunctions as hF import matplotlib.pyplot as plt -from warnings import warn class SinusoidalStimulusTester(unittest.TestCase): diff --git a/unittests/testSinusoidalStepStimulus.py b/unittests/testSinusoidalStepStimulus.py index 09d819e..d288598 100644 --- a/unittests/testSinusoidalStepStimulus.py +++ b/unittests/testSinusoidalStepStimulus.py @@ -1,9 +1,7 @@ from stimuli.SinusoidalStepStimulus import SinusoidalStepStimulus import unittest import numpy as np -import helperFunctions as hF import matplotlib.pyplot as plt -from warnings import warn class SinusoidalStepStimulusTester(unittest.TestCase): diff --git a/variableEffect.py b/variableEffect.py index 354556e..50e1aca 100644 --- a/variableEffect.py +++ b/variableEffect.py @@ -1,7 +1,7 @@ from models.LIFACnoise import LifacNoiseModel -from Baseline import BaselineModel -from FiCurve import FICurveModel +from experiments.Baseline import BaselineModel +from experiments.FiCurve import FICurveModel import numpy as np import matplotlib.pyplot as plt import copy