Source code for pyklip.kpp.utils.mathfunc

__author__ = 'JB'

import numpy as np

[docs] def gauss2d(x, y, amplitude = 1.0, xo = 0.0, yo = 0.0, sigma_x = 1.0, sigma_y = 1.0, theta = 0, offset = 0): xo = float(xo) yo = float(yo) a = (np.cos(theta)**2)/(2*sigma_x**2) + (np.sin(theta)**2)/(2*sigma_y**2) b = -(np.sin(2*theta))/(4*sigma_x**2) + (np.sin(2*theta))/(4*sigma_y**2) c = (np.sin(theta)**2)/(2*sigma_x**2) + (np.cos(theta)**2)/(2*sigma_y**2) g = offset + amplitude*np.exp( - (a*((x-xo)**2) + 2*b*(x-xo)*(y-yo) + c*((y-yo)**2))) return g
[docs] def hat(x, y, radius): r2 = x**2+y**2 return np.array(r2 <= radius*radius,dtype=int)
[docs] def model_exp(x,m,alpha): return np.exp(-alpha*x-m)
[docs] def LSQ_model_exp(x,y,m,alpha): y_model = model_exp(x,m,alpha) return (y-y_model)/np.sqrt(y_model)