LSST Applications g063fba187b+cac8b7c890,g0f08755f38+6aee506743,g1653933729+a8ce1bb630,g168dd56ebc+a8ce1bb630,g1a2382251a+b4475c5878,g1dcb35cd9c+8f9bc1652e,g20f6ffc8e0+6aee506743,g217e2c1bcf+73dee94bd0,g28da252d5a+1f19c529b9,g2bbee38e9b+3f2625acfc,g2bc492864f+3f2625acfc,g3156d2b45e+6e55a43351,g32e5bea42b+1bb94961c2,g347aa1857d+3f2625acfc,g35bb328faa+a8ce1bb630,g3a166c0a6a+3f2625acfc,g3e281a1b8c+c5dd892a6c,g3e8969e208+a8ce1bb630,g414038480c+5927e1bc1e,g41af890bb2+8a9e676b2a,g7af13505b9+809c143d88,g80478fca09+6ef8b1810f,g82479be7b0+f568feb641,g858d7b2824+6aee506743,g89c8672015+f4add4ffd5,g9125e01d80+a8ce1bb630,ga5288a1d22+2903d499ea,gb58c049af0+d64f4d3760,gc28159a63d+3f2625acfc,gcab2d0539d+b12535109e,gcf0d15dbbd+46a3f46ba9,gda6a2b7d83+46a3f46ba9,gdaeeff99f8+1711a396fd,ge79ae78c31+3f2625acfc,gef2f8181fd+0a71e47438,gf0baf85859+c1f95f4921,gfa517265be+6aee506743,gfa999e8aa5+17cd334064,w.2024.51
LSST Data Management Base Package
|
Functions | |
covar_to_ellipse (sigma_x_sq, sigma_y_sq, cov_xy, degrees=False) | |
gauss2dint (xdivsigma) | |
gauss2d.utils.covar_to_ellipse | ( | sigma_x_sq, | |
sigma_y_sq, | |||
cov_xy, | |||
degrees = False ) |
Convert covariance matrix terms to ellipse major axis, axis ratio and position angle representation. Parameters ---------- sigma_x_sq, sigma_y_sq : `float` or array-like x- and y-axis squared standard deviations of a 2-dimensional normal distribution (diagonal terms of its covariance matrix). Must be scalar or identical length array-likes. cov_xy : `float` or array-like x-y covariance of a of a 2-dimensional normal distribution (off-diagonal term of its covariance matrix). Must be scalar or identical length array-likes. degrees : `bool` Whether to return the position angle in degrees instead of radians. Returns ------- r_major, axrat, angle : `float` or array-like Converted major-axis radius, axis ratio and position angle (counter-clockwise from the +x axis) of the ellipse defined by each set of input covariance matrix terms. Notes ----- The eigenvalues from the determinant of a covariance matrix are: |a-m b| |b c-m| det = (a-m)(c-m) - b^2 = ac - (a+c)m + m^2 - b^2 = m^2 - (a+c)m + (ac-b^2) Solving: m = ((a+c) +/- sqrt((a+c)^2 - 4(ac-b^2)))/2 ...or equivalently: m = ((a+c) +/- sqrt((a-c)^2 + 4b^2))/2 Unfortunately, the latter simplification is not as well-behaved in floating point math, leading to square roots of negative numbers when one of a or c is very close to zero. The values from this function should match those from `Ellipse.make_ellipse_major` to within rounding error, except in the special case of sigma_x == sigma_y == 0, which returns a NaN axis ratio here by default. This function mainly intended to be more convenient (and possibly faster) for array-like inputs.
Definition at line 25 of file utils.py.
gauss2d.utils.gauss2dint | ( | xdivsigma | ) |
Return the fraction of the total surface integral of a 2D Gaussian contained with a given multiple of its dispersion. Parameters ---------- xdivsigma : `float` The multiple of the dispersion to integrate to. Returns ------- frac : `float` The fraction of the surface integral contained within an ellipse of size `xdivsigma`. Notes ----- This solution can be computed as follows: https://www.wolframalpha.com/input/?i= Integrate+2*pi*x*exp(-x%5E2%2F(2*s%5E2))%2F(s*sqrt(2*pi))+dx+from+0+to+r
Definition at line 81 of file utils.py.