1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 """The module for the relaxation curve fitting parameter list object."""
24
25
26 from specific_analyses.parameter_object import Param_list
27
28
30 """The relaxation curve fitting parameter list singleton."""
31
32
33 _instance = None
34
36 """Define all the parameters of the analysis."""
37
38
39 if self._initialised: return
40
41
42 Param_list.__init__(self)
43
44
45 self._add_peak_intensity()
46
47
48 self._add('relax_times', scope='spin', py_type=dict, grace_string='\\qRelaxation time period (s)\\Q')
49
50
51 self._add_model_info(model_flag=False)
52
53
54 self._add('rx', scope='spin', default=8.0, desc='Either the R1 or R2 relaxation rate', set='params', py_type=float, grace_string='\\qR\\sx\\Q', err=True, sim=True)
55 self._add('i0', scope='spin', default=10000.0, desc='The initial intensity', py_type=float, set='params', grace_string='\\qI\\s0\\Q', err=True, sim=True)
56 self._add('iinf', scope='spin', default=0.0, desc='The intensity at infinity', py_type=float, set='params', grace_string='\\qI\\sinf\\Q', err=True, sim=True)
57
58
59 self._add_min_data(min_stats_global=False, min_stats_spin=True)
60
61
62 self._set_uf_title("Relaxation curve fitting parameters")
63 self._uf_param_table(label="table: curve-fit parameters", caption="Relaxation curve fitting parameters.")
64 self._uf_param_table(label="table: curve-fit parameters and min stats", caption="Relaxation curve fitting parameters and minimisation statistics.", sets=['params', 'fixed', 'min'])
65 self._uf_param_table(label="table: curve-fit parameter value setting", caption="Relaxation curve fitting parameters.")
66 self._uf_param_table(label="table: curve-fit parameter value setting with defaults", caption="Relaxation curve fitting parameter value setting.", default=True)
67