Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- from __future__ import print_function, absolute_import
- import abc
- import types
- import numpy as np
- class FitFunction(object):
- def __init__(self, python_function):
- assert isinstance(python_function, types.FunctionType)
- self._py_function = python_function
- @abc.abstractmethod
- def pretty_string(self):
- r"""
- Return some pretty string.
- """
- class Gaussian(FitFunction):
- def __init__(self):
- def gaussian(x, mu, sigma, A):
- coeff = (_np.sqrt(2.0 * _np.pi) * sigma)**(-1.0)
- arg = -.5 * (((x - mu) / sigma)**2.0)
- return A * coeff * _np.exp(arg)
- FitFunction.__init__(self, gaussian)
- @staticmethod
- def pretty_string():
- return "1D Gaussian"
- if __name__ == "__main__":
- print("Gaussian.pretty_string: %s" % Gaussian().pretty_string)
- me$ ./FitFunction_SO_test.py
- Gaussian.pretty_string: <bound method Gaussian.pretty_string of <__main__.Gaussian object at 0x1005e2f90>>
- me$ ./FitFunction_SO_test.py
- Gaussian.pretty_string: "1D Gaussian"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement