1- #! /usr/bin/python
2-
3- __author__ = "remislp"
4- __date__ = "$29-Nov-2014 15:40:02$"
5-
6- from cvfit import fitting
7- from cvfit import plots
8- from cvfit .fitting import SingleFitSession , MultipleFitSession
9-
10- if __name__ == "__main__" :
11-
12- sets , fname = fitting .load_data (example = True )
13- print ('File {0} loaded' .format (fname ))
14- print ('{0:d} sets found.' .format (len (sets )))
15-
16- #sets = fitting.set_weights(sets)
17- for i in range (len (sets )):
18- print ('\n Set #{0:d}:' .format (i + 1 ))
19- print (sets [i ])
20- #settings = fitting.general_settings()
21-
22- #eqname = fitting.choose_equation()
23- #print (eqname)
24- eqname = 'Hill'
25- if eqname == 'Hill' or eqname == 'Langmuir' :
26- from cvfit .equations import Hill as eqfit
27-
28- # initiate fitting sessions, fit data and print results
29- fitsessions = MultipleFitSession ()
30- for set in sets :
31- equation = eqfit (eqname )
32- fs = SingleFitSession (set , equation )
33- fs .fit ()
34- fs .calculate_errors ()
35- print ('\n *************************************************' )
36- print ('\t ' + fs .data .title + ' fit finished' )
37- print (fs .string_estimates ())
38- print (fs .string_liklimits ())
39- #plots.plot_hill_fit_result_single(fname, fsession.data, fsession.eq, plotguess=True)
40- fitsessions .add (fs )
41- print ('\n *************************************************' )
42- print ('\t Average of all fits:' )
43- print (fitsessions .string_average_estimates ())
44-
45- # plot fitted
46- fplots = fitsessions .prepare_fplot ('fit' )
47- fig = plots .plot (sets , fig = None ,
48- fplotsets = fplots , fplotline = 'b-' ,
49- logX = True , logY = False , legend = True )
50-
51- # normalise to fitted maxima and replot
52- for fs in fitsessions .list :
53- fs .eq .normalise (fs .data )
54- fplots = fitsessions .prepare_fplot ('norm' )
55- plots .plot (sets , fig = None , fplotsets = fplots , fplotline = 'b-' ,
56- logX = True , logY = False , legend = True , norm = True )
57-
58- # pool data and fit pooled
59- fitsessions .pool (norm = True )
60- fitsessions .pooled .fit ()
61- fitsessions .pooled .calculate_errors ()
62- fitsessions .pooled .data .average_pooled ()
63- print ('\n ***********************\n **************************' )
64- print ('\t Normalised and pooled data fit finished' )
65- print (fitsessions .pooled .string_estimates ())
66- print (fitsessions .pooled .string_liklimits ())
67-
68- # plot pooled data fit
69- fplots = fitsessions .prepare_fplot ('pooled' )
70- plots .plot ([fitsessions .pooled .data ], fig = None , fplotsets = fplots ,
71- fplotline = 'b-' , logX = True , logY = False , legend = False , pooled = True )
1+ #! /usr/bin/python
2+
3+ __author__ = "remislp"
4+ __date__ = "$29-Nov-2014 15:40:02$"
5+
6+ from cvfit import fitting
7+ from cvfit import plots
8+ from cvfit .fitting import SingleFitSession , MultipleFitSession
9+
10+ if __name__ == "__main__" :
11+
12+ # load data set
13+ sets , fname = fitting .load_data (example = True )
14+ print ('File {0} loaded' .format (fname ))
15+ print ('{0:d} sets found.' .format (len (sets )))
16+ for i in range (len (sets )):
17+ print ('\n Set #{0:d}:' .format (i + 1 ))
18+ print (sets [i ])
19+
20+ # load equation
21+ eqname = 'Hill'
22+ if eqname == 'Hill' or eqname == 'Langmuir' :
23+ from cvfit .equations import Hill as eqfit
24+
25+ # initiate fitting sessions, fit data and print results
26+ fitsessions = MultipleFitSession ()
27+ for set in sets :
28+ equation = eqfit (eqname )
29+ fs = SingleFitSession (set , equation )
30+ fs .fit ()
31+ fs .calculate_errors ()
32+ print ('\n *************************************************' )
33+ print ('\t ' + fs .data .title + ' fit finished' )
34+ print (fs .string_estimates ())
35+ print (fs .string_liklimits ())
36+ fitsessions .add (fs )
37+ print ('\n *************************************************' )
38+ print ('\t Average of all fits:' )
39+ print (fitsessions .string_average_estimates ())
40+
41+ # plot fitted
42+ fplots = fitsessions .prepare_fplot ('fit' )
43+ fig = plots .plot (sets , fig = None ,
44+ fplotsets = fplots , fplotline = 'b-' ,
45+ logX = True , logY = False , legend = True )
46+
47+ # normalise to fitted maxima and replot
48+ for fs in fitsessions .list :
49+ fs .eq .normalise (fs .data )
50+ fplots = fitsessions .prepare_fplot ('norm' )
51+ plots .plot (sets , fig = None , fplotsets = fplots , fplotline = 'b-' ,
52+ logX = True , logY = False , legend = True , norm = True )
53+
54+ # pool data and fit pooled
55+ fitsessions .pool (norm = True )
56+ fitsessions .pooled .fit ()
57+ fitsessions .pooled .calculate_errors ()
58+ fitsessions .pooled .data .average_pooled ()
59+ print ('\n ***********************\n **************************' )
60+ print ('\t Normalised and pooled data fit finished' )
61+ print (fitsessions .pooled .string_estimates ())
62+ print (fitsessions .pooled .string_liklimits ())
63+
64+ # plot pooled data fit
65+ fplots = fitsessions .prepare_fplot ('pooled' )
66+ plots .plot ([fitsessions .pooled .data ], fig = None , fplotsets = fplots ,
67+ fplotline = 'b-' , logX = True , logY = False , legend = False , pooled = True )
7268
0 commit comments