def evaluate(self, flux, xo, yo, a, b, c):
dx = self.x - xo<EOL>dy = self.y - yo<EOL>psf = tf.exp(-(a * dx ** <NUM_LIT:2> + <NUM_LIT:2> * b * dx * dy + c * dy ** <NUM_LIT:2>))<EOL>psf_sum = tf.reduce_sum(psf)<EOL>return flux * psf / psf_sum<EOL>
Evaluate the Gaussian model

Parameters
----------
flux : tf.Variable
xo, yo : tf.Variable, tf.Variable
    Center coordiantes of the Gaussian.
a, b, c : tf.Variable, tf.Variable
    Parameters that control the rotation angle
    and the stretch along the major axis of the Gaussian,
    such that the matrix M = [a b ; b c] is positive-definite.

References
----------
https://en.wikipedia.org/wiki/Gaussian_function#Two-dimensional_Gaussian_function