mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
|
Calculation of the modal covariance in the Fourier basis. More...
Calculation of the modal covariance in the Fourier basis.
Definition in file fourierCovariance.hpp.
Go to the source code of this file.
Classes | |
struct | mx::AO::analysis::fourierCovariance< realT, aosysT > |
Structure to manage the Fourier mode covariance calculation, passed to integration functions. More... | |
Namespaces | |
mx | |
The mxlib c++ namespace. | |
Functions | |
template<typename realT , typename aosysT > | |
realT | mx::AO::analysis::phiInt_basic (realT phi, void *params) |
Worker for the azimuthal integral (in phi) for the basic Fourier mode covariance. More... | |
template<typename realT , typename aosysT > | |
realT | mx::AO::analysis::phiInt_mod (realT phi, void *params) |
Worker for the azimuthal integral (in phi) for the modified Fourier mode covariance. More... | |
template<typename realT , typename aosysT > | |
realT | mx::AO::analysis::kInt (realT k, void *params) |
Worker function for the radial integral in the covariance calculation. More... | |
template<typename realT , typename aosysT > | |
int | mx::AO::analysis::fourierVarVec (const std::string &fname, int N, aosysT &aosys, realT absTol, realT relTol, bool modifed=true) |
Calculate a vector of Fourier mode variances. More... | |
template<typename realT , typename aosysT > | |
int | mx::AO::analysis::fourierPSDMap (improc::eigenImage< realT > &var, improc::eigenImage< realT > &psd, int N, int overSample, aosysT &aosys) |
Calculate a map of Fourier variances by convolution with the PSD. More... | |
template<typename realT > | |
int | mx::AO::analysis::fourierCovarMap (const std::string &fname, int N, realT D, realT L_0, bool subPist, bool subTilt, realT absTol, realT relTol, bool modified=true) |
int mx::AO::analysis::fourierCovarMap | ( | const std::string & | fname, |
int | N, | ||
realT | D, | ||
realT | L_0, | ||
bool | subPist, | ||
bool | subTilt, | ||
realT | absTol, | ||
realT | relTol, | ||
bool | modified = true |
||
) |
[out] | fname | the path where the output FITS file will be written |
[in] | N | the linear number of Fourier modes across the aperture. The Nyquist frequency is set by N/2. |
Definition at line 476 of file fourierCovariance.hpp.
References mx::AO::analysis::aoSystem< _realT, _inputSpectT, iosT >::D(), mx::AO::analysis::fourierCovarMap(), mx::AO::analysis::aoAtmosphere< _realT >::L_0(), mx::AO::analysis::aoSystem< _realT, _inputSpectT, iosT >::loadMagAOX(), and mx::AO::analysis::aoAtmosphere< _realT >::r_0().
Referenced by mx::AO::analysis::fourierCovarMap().
int mx::AO::analysis::fourierPSDMap | ( | improc::eigenImage< realT > & | var, |
improc::eigenImage< realT > & | psd, | ||
int | N, | ||
int | overSample, | ||
aosysT & | aosys | ||
) |
Calculate a map of Fourier variances by convolution with the PSD.
Uses the Airy pattern for the circularly unobstructed aperture.
[out] | var | The variance estimated by convolution with the PSD |
[out] | psd | the PSD map |
[in] | N | the number of components to analyze |
aosys | [in[ the AO system defining the PSD characteristics. |
Definition at line 420 of file fourierCovariance.hpp.
References mx::AO::analysis::fourierPSDMap(), and mx::astro::constants::k().
Referenced by mx::AO::analysis::fourierPSDMap().
int mx::AO::analysis::fourierVarVec | ( | const std::string & | fname, |
int | N, | ||
aosysT & | aosys, | ||
realT | absTol, | ||
realT | relTol, | ||
bool | modifed = true |
||
) |
Calculate a vector of Fourier mode variances.
Definition at line 331 of file fourierCovariance.hpp.
References mx::AO::analysis::fourierCovariance< realT, aosysT >::absTol, mx::AO::analysis::fourierCovariance< realT, aosysT >::aosys, mx::AO::analysis::fourierVarVec(), mx::AO::analysis::fourierCovariance< realT, aosysT >::getVariance(), mx::ipc::ompLoopWatcher< _outputT, _printPretty, _printLoops, _printPercent, _printNLine, _time >::incrementAndOutputStatus(), mx::astro::constants::k(), mx::AO::analysis::fourierCovariance< realT, aosysT >::m, mx::AO::analysis::fourierCovariance< realT, aosysT >::mnCon, mx::AO::analysis::fourierCovariance< realT, aosysT >::mp, mx::AO::analysis::fourierCovariance< realT, aosysT >::n, mx::AO::analysis::fourierCovariance< realT, aosysT >::np, mx::AO::analysis::fourierCovariance< realT, aosysT >::p, mx::AO::analysis::fourierCovariance< realT, aosysT >::pp, and mx::AO::analysis::fourierCovariance< realT, aosysT >::relTol.
Referenced by mx::AO::analysis::fourierVarVec().
realT mx::AO::analysis::kInt | ( | realT | k, |
void * | params | ||
) |
Worker function for the radial integral in the covariance calculation.
k | the spatial frequency at which to evaluate the integrand |
params | a pointer to a object of type fourierCovariance<realT, aosyT> |
realT | a floating point type used for all calculations. As of Nov 2016 must be double due to gsl_integration. |
aosysT | the type of the AO system structure |
Definition at line 215 of file fourierCovariance.hpp.
References mx::AO::analysis::fourierCovariance< realT, aosysT >::k, mx::astro::constants::k(), mx::AO::analysis::kInt(), mx::AO::analysis::fourierCovariance< realT, aosysT >::phi_w, and mx::AO::analysis::fourierCovariance< realT, aosysT >::useBasic.
Referenced by mx::AO::analysis::kInt().
realT mx::AO::analysis::phiInt_mod | ( | realT | phi, |
void * | params | ||
) |
Worker for the azimuthal integral (in phi) for the modified Fourier mode covariance.
phi | the angle at which to evaluate the integrand |
params | a pointer to a object of type fourierCovariance<realT, aosyT> |
realT | a floating point type used for all calculations |
aosysT | the type of the AO system structure |
Definition at line 134 of file fourierCovariance.hpp.
References mx::AO::analysis::fourierCovariance< realT, aosysT >::aosys, mx::math::func::jinc(), mx::AO::analysis::fourierCovariance< realT, aosysT >::k, mx::astro::constants::k(), mx::AO::analysis::fourierCovariance< realT, aosysT >::m, mx::AO::analysis::fourierCovariance< realT, aosysT >::mnCon, mx::AO::analysis::fourierCovariance< realT, aosysT >::mp, mx::AO::analysis::fourierCovariance< realT, aosysT >::n, mx::AO::analysis::fourierCovariance< realT, aosysT >::np, mx::AO::analysis::fourierCovariance< realT, aosysT >::p, mx::AO::analysis::phiInt_mod(), and mx::AO::analysis::fourierCovariance< realT, aosysT >::pp.
Referenced by mx::AO::analysis::phiInt_mod().