summaryrefslogtreecommitdiff
path: root/lib/functions.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/functions.py')
-rw-r--r--lib/functions.py43
1 files changed, 23 insertions, 20 deletions
diff --git a/lib/functions.py b/lib/functions.py
index 7af1d22..8e43dcb 100644
--- a/lib/functions.py
+++ b/lib/functions.py
@@ -155,26 +155,7 @@ class NormalizationFunction:
class ModelInfo:
def __init__(self):
- pass
-
-
-class StaticInfo:
- def __init__(self, data):
- self.mean = np.mean(data)
- self.median = np.median(data)
- self.std = np.std(data)
-
-
-class AnalyticInfo(ModelInfo):
- def __init__(self, fit_result, function):
- self.fit_result = fit_result
- self.function = function
-
-
-class SplitInfo(ModelInfo):
- def __init__(self, param_index, child):
- self.param_index = param_index
- self.child = child
+ self.error = None
class ModelFunction:
@@ -210,6 +191,14 @@ class StaticFunction(ModelFunction):
return self.value
+class StaticInfo(ModelInfo):
+ def __init__(self, data):
+ super()
+ self.mean = np.mean(data)
+ self.median = np.median(data)
+ self.std = np.std(data)
+
+
class SplitFunction(ModelFunction):
def __init__(self, param_index, child):
self.param_index = param_index
@@ -235,6 +224,13 @@ class SplitFunction(ModelFunction):
return self.child[param_value].eval(param_list, arg_list)
+class SplitInfo(ModelInfo):
+ def __init__(self, param_index, child):
+ super()
+ self.param_index = param_index
+ self.child = child
+
+
class AnalyticFunction(ModelFunction):
"""
A multi-dimensional model function, generated from a string, which can be optimized using regression.
@@ -420,6 +416,13 @@ class AnalyticFunction(ModelFunction):
return self._function(self.model_args, param_list)
+class AnalyticInfo(ModelInfo):
+ def __init__(self, fit_result, function):
+ super()
+ self.fit_result = fit_result
+ self.function = function
+
+
class analytic:
"""
Utilities for analytic description of parameter-dependent model attributes and regression analysis.