mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
Analysis of Adaptive Optics

Tools for analytic evaluaiton of AO systems

Classes

class  mx::AO::analysis::aoAtmosphere< _realT >
 A class to specify atmosphere parameters and perform related calculations. More...
 
struct  mx::AO::analysis::vonKarmanSpectrum< realT >
 Manage calculations using the von Karman spatial power spectrum. More...
 
class  mx::AO::analysis::aoSystem< _realT, _inputSpectT, iosT >
 Describes an analytic adaptive optics (AO) system. More...
 
struct  mx::AO::analysis::wfs< realT, iosT >
 The ideal wavefront sensor sensitivity function. More...
 
struct  mx::AO::analysis::pywfsUnmod< realT, iosT >
 The unmodulated pyramid wavefront sensor sensitivity function. More...
 
struct  mx::AO::analysis::pywfsModAsymptotic< realT, iosT >
 The asymptotic modulated pyramid wavefront sensor sensitivity function. More...
 
struct  mx::AO::analysis::shwfs< realT, iosT >
 The shack hartmann wavefront sensor sensitivity function. More...
 
struct  mx::AO::analysis::calculatedWFS< realT, iosT >
 The calculated WFS uses sensitivities provided by FITS files. More...
 
struct  mx::AO::analysis::clAOLinearPredictor< _realT >
 Class to manage the calculation of linear predictor coefficients for a closed-loop AO system. More...
 
struct  mx::AO::analysis::fourierTemporalPSD< _realT, aosysT >
 Class to manage the calculation of temporal PSDs of the Fourier modes in atmospheric turbulence. More...
 
struct  mx::AO::analysis::zernikeTemporalPSD< _realT, aosysT >
 Class to manage the calculation of temporal PSDs of the Fourier modes in atmospheric turbulence. More...
 

Modules

 AO Constants
 

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::F_basic (realT kv, void *params)
 Worker function for GSL Integration for the basic sin/cos Fourier modes. More...
 
template<typename realT , typename aosysT >
realT mx::AO::analysis::F_mod (realT kv, void *params)
 Worker function for GSL Integration for the modified Fourier modes. More...
 
template<typename realT , typename aosysT >
realT mx::AO::analysis::Fm_projMod (realT kv, void *params)
 Worker function for GSL Integration for a basis projected onto the modified Fourier modes. More...
 
template<typename imageT >
void mx::AO::analysis::varmapToImage (imageT &im, imageT &varmap, imageT &psf)
 Convert a wavefront variance map to an intensity image by convolving with the PSF. More...
 
template<typename realT >
void mx::AO::analysis::wfsNoisePSD (std::vector< realT > &PSD, realT beta_p_k, realT Fg, realT tau, realT npx, realT Fb, realT ron)
 Populate a vector with the PSD of measurement noise given WFS parameters. More...
 
template<typename realT , typename aosysT >
realT mx::AO::analysis::F_zernike (realT kv, void *params)
 Worker function for GSL Integration for the basic sin/cos Fourier modes. More...
 

Function Documentation

◆ F_basic()

◆ F_mod()

◆ F_zernike()

◆ Fm_projMod()

template<typename realT , typename aosysT >
realT mx::AO::analysis::Fm_projMod ( realT  kv,
void *  params 
)

◆ phiInt_basic()

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.

Parameters
phithe angle at which to evaluate the integrand
paramsa pointer to a object of type fourierCovariance<realT, aosyT>
Template Parameters
realTa floating point type used for all calculations
aosysTthe type of the AO system structure

Definition at line 68 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 >::mp, mx::AO::analysis::fourierCovariance< realT, aosysT >::n, mx::AO::analysis::fourierCovariance< realT, aosysT >::np, mx::AO::analysis::fourierCovariance< realT, aosysT >::p, and mx::AO::analysis::fourierCovariance< realT, aosysT >::pp.

◆ varmapToImage()

template<typename imageT >
void mx::AO::analysis::varmapToImage ( imageT &  im,
imageT &  varmap,
imageT &  psf 
)

Convert a wavefront variance map to an intensity image by convolving with the PSF.

The PSF should have odd dimensions, and the peak pixel should be in the center pixel defined by [0.5*psf.rows(), 0.5*psf.cols()]. The platescale (lambda/D per pixel) of the PSF should match that of the variance map. The PSF should be normalized such that the center/peak pixel has value 1 (not so that the sum of pixels is 1).

Template Parameters
imageTis an Eigen-array-like type.
Parameters
[out]imis the intensity image, resized to match varmap
[in]varmapis the wavefront variance map
[in]psfis the point spread function

Definition at line 29 of file varmapToImage.hpp.

◆ wfsNoisePSD()

template<typename realT >
void mx::AO::analysis::wfsNoisePSD ( std::vector< realT > &  PSD,
realT  beta_p_k,
realT  Fg,
realT  tau,
realT  npx,
realT  Fb,
realT  ron 
)

Populate a vector with the PSD of measurement noise given WFS parameters.

Template Parameters
realTis the real floating point type for calculations
Parameters
[out]PSDA pre-allocated vector which will be filled with the PSD value.
[in]beta_p_kThe WFS \( \beta_p \) parameter (see Guyon, 2005

Definition at line 25 of file wfsNoisePSD.hpp.