add fit_(function)(x,y) type functions
This commit is contained in:
parent
6ae9781cec
commit
6562e2cff8
@ -1,6 +1,30 @@
|
||||
import numpy as np
|
||||
from warnings import warn
|
||||
from thunderfish.eventdetection import detect_peaks, threshold_crossing_times, threshold_crossings
|
||||
from scipy.optimize import curve_fit
|
||||
import functions as fu
|
||||
|
||||
|
||||
def fit_clipped_line(x, y):
|
||||
popt, pcov = curve_fit(fu.clipped_line, x, y)
|
||||
|
||||
return popt
|
||||
|
||||
|
||||
def fit_boltzmann(x, y):
|
||||
max_f0 = float(max(y))
|
||||
min_f0 = 0.1 # float(min(self.f_zeros))
|
||||
mean_int = float(np.mean(x))
|
||||
|
||||
total_increase = max_f0 - min_f0
|
||||
total_change_int = max(x) - min(x)
|
||||
start_k = float((total_increase / total_change_int * 4) / max_f0)
|
||||
|
||||
popt, pcov = curve_fit(fu.full_boltzmann, x, y,
|
||||
p0=(max_f0, min_f0, start_k, mean_int),
|
||||
maxfev=10000, bounds=([0, 0, -np.inf, -np.inf], [np.inf, np.inf, np.inf, np.inf]))
|
||||
|
||||
return popt
|
||||
|
||||
|
||||
def merge_similar_intensities(intensities, spiketimes, trans_amplitudes):
|
||||
@ -437,7 +461,6 @@ def detect_f_infinity_in_freq_trace(time, frequency, stimulus_start, stimulus_du
|
||||
|
||||
start_idx = int((stimulus_end_time - length - buffer) / sampling_interval)
|
||||
end_idx = int((stimulus_end_time - buffer) / sampling_interval)
|
||||
|
||||
return np.mean(frequency[start_idx:end_idx])
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user