Skip to content

Commit 304707e

Browse files
author
Remis Lape
committed
cvfitCLI_example.py cleaned
1 parent 958c3de commit 304707e

File tree

1 file changed

+67
-71
lines changed

1 file changed

+67
-71
lines changed

cvfitCLI_example.py

Lines changed: 67 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,68 @@
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 ('\nSet #{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('\tAverage 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('\tNormalised 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 ('\nSet #{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('\tAverage 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('\tNormalised 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

Comments
 (0)