mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
gaussian.hpp File Reference

Declarations for utilities related to the Gaussian function. More...

Declarations for utilities related to the Gaussian function.

Author
Jared R. Males

Definition in file gaussian.hpp.

Go to the source code of this file.

Namespaces

 mx
 The mxlib c++ namespace.
 

Functions

template<typename floatT >
constexpr floatT mx::math::func::twosqrt2log2 ()
 Constant to convert between the Gaussian width parameter and FWHM. More...
 
template<typename floatT >
floatT mx::math::func::fwhm2sigma (floatT fw)
 Convert from FWHM to the Gaussian width parameter. More...
 
template<typename floatT >
floatT mx::math::func::sigma2fwhm (floatT sig)
 Convert from Gaussian width parameter to FWHM. More...
 
template<typename realT >
realT mx::math::func::gaussian (const realT x, const realT G0, const realT G, const realT x0, const realT sigma)
 Find value at position (x) of the 1D arbitrarily-centered symmetric Gaussian. More...
 
template<typename realT >
realT mx::math::func::gaussian2D (const realT x, const realT y, const realT G0, const realT G, const realT x0, const realT y0, const realT sigma)
 Find value at position (x,y) of the 2D arbitrarily-centered symmetric Gaussian. More...
 
template<typename realT >
void mx::math::func::gaussian2D (realT *arr, size_t nx, size_t ny, const realT G0, const realT G, const realT x0, const realT y0, const realT sigma)
 Fill in an array with the 2D arbitrarily-centered symmetric Gaussian. More...
 
template<typename realT >
realT mx::math::func::gaussian2D (const realT x, const realT y, const realT G0, const realT G, const realT x0, const realT y0, const realT a, const realT b, const realT c)
 Find value at position (x,y) of the 2D general elliptical Gaussian. More...
 
template<typename realT >
void mx::math::func::gaussian2D_gen2rot (realT &sigma_x, realT &sigma_y, realT &theta, const realT a, const realT b, const realT c)
 Convert from (a,b,c) to ( \(\sigma_x\), \(\sigma_y\), \(\theta\)) for the elliptical Gaussian. More...
 
template<typename realT >
void mx::math::func::gaussian2D_rot2gen (realT &a, realT &b, realT &c, const realT sigma_x, const realT sigma_y, const realT theta)
 Convert from ( \(\sigma_x\), \(\sigma_y\), \(\theta\)) to (a,b,c) for the elliptical Gaussian. More...
 
template<typename realT >
realT mx::math::func::gaussian2D_ang (const realT x, const realT y, const realT G0, const realT G, const realT x0, const realT y0, const realT sigma_x, const realT sigma_y, const realT theta)
 Find value at position (x,y) of the 2D rotated elliptical Gaussian. More...
 
template<typename realT >
void mx::math::func::gaussian2D (realT *arr, size_t nx, size_t ny, const realT G0, const realT G, const realT x0, const realT y0, const realT a, const realT b, const realT c)
 Fill in an array with the 2D general elliptical Gaussian. More...
 
template<typename realT >
void mx::math::func::gaussian2D_ang (realT *arr, size_t nx, size_t ny, const realT G0, const realT G, const realT x0, const realT y0, const realT sigma_x, const realT sigma_y, const realT theta)
 Fill in an array with the 2D general elliptical Gaussian. More...
 
template<typename realT >
void mx::math::func::gaussian2D_jacobian (realT *j, const realT x, const realT y, const realT G0, const realT G, const realT x0, const realT y0, const realT a, const realT b, const realT c)
 Calculate the Jacobian at position (x,y) for the 2D general elliptical Gaussian. More...