55
66
77def make_antibunching_model (self , prefix = None ):
8- def antibunching (x : np .ndarray , n : float , a : float , b : float , tau0 : float ,
9- tau1 : float , tau2 : float ) \
10- -> np .ndarray :
8+ def antibunching (
9+ x : np .ndarray ,
10+ n : float ,
11+ a : float ,
12+ b : float ,
13+ tau0 : float ,
14+ tau1 : float ,
15+ tau2 : float ,
16+ ) -> np .ndarray :
1117 """
1218 Fit to function
1319 f(x; n, a, tau0, tau1, tau2) =
1420 a * ((1 - (1+b) * exp(-|x-tau0|/tau1) + a * exp(-|x-tau0|/tau2)) * 1/n + 1 - 1/n)
1521 """
16- return a * ((1 - (1 + b ) * np .exp (- np .abs (x - tau0 ) / tau1 ) + b *
17- np .exp (- np .abs (x - tau0 ) / tau2 )) * 1 / n + 1 - 1 / n )
18-
19- antibunching_model = Model (antibunching , independent_vars = ['x' ])
22+ return a * (
23+ (
24+ 1
25+ - (1 + b ) * np .exp (- np .abs (x - tau0 ) / tau1 )
26+ + b * np .exp (- np .abs (x - tau0 ) / tau2 )
27+ )
28+ * 1
29+ / n
30+ + 1
31+ - 1 / n
32+ )
33+
34+ antibunching_model = Model (antibunching , independent_vars = ["x" ])
2035 params = antibunching_model .make_params ()
2136
2237 return antibunching_model , params
@@ -35,21 +50,23 @@ def estimate_antibunching_dip(self, x_axis, data, params):
3550 return error , params
3651
3752
38- def make_antibunching_fit (self , x_axis , data , estimator , units = None , add_params = None ,
39- ** kwargs ):
53+ def make_antibunching_fit (
54+ self , x_axis , data , estimator , units = None , add_params = None , ** kwargs
55+ ):
4056 model , params = self .make_antibunching_model ()
4157
4258 error , params = estimator (x_axis , data , params )
4359
44- params = self ._substitute_params (initial_params = params ,
45- update_params = add_params )
60+ params = self ._substitute_params (initial_params = params , update_params = add_params )
4661
4762 try :
4863 result = model .fit (data , x = x_axis , params = params , ** kwargs )
4964 except :
5065 result = model .fit (data , x = x_axis , params = params , ** kwargs )
51- self .log .warning ('The 1D antibunching fit did not work. Error '
52- f'message: { result .message } \n ' )
66+ self .log .warning (
67+ "The 1D antibunching fit did not work. Error "
68+ f"message: { result .message } \n "
69+ )
5370
5471 # Write the parameters to allow human-readable output to be generated
5572 result_str_dict = OrderedDict ()
0 commit comments