def __init__(self, x_data, y_data, paramters=None):
        self.log = logging.getLogger('RockPy.FITTING.TANH')
        super(Tanh, self).__init__(x_data, y_data, paramters=None, log=self.log)

        self.fit_x = np.arange(min(self.x), max(self.x), 0.01)

        amp = np.max(abs(self.y))
        zero_idx = np.argmin(abs(self.y))

        self.parameters.add('amp', value=amp)
        self.parameters.add('shift', value=self.x[zero_idx])

        ''' Fitting '''
        errfunc = lambda p, x, y: functions.func_tanh(self.parameters, x) - y

        fitout = minimize(errfunc, self.parameters, args=(self.x, self.y))

        self.fit_y = functions.func_tanh(self.parameters, self.fit_x)
 def calc(self, x_value):
     out = functions.func_tanh(self.parameters, x_value)
     return out