mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
Loading...
Searching...
No Matches
mx::AO::sim::deformableMirror< _realT > Class Template Reference

template<typename _realT>
class mx::AO::sim::deformableMirror< _realT >

Definition at line 49 of file deformableMirror.hpp.

#include <ao/sim/deformableMirror.hpp>

Public Types

typedef _realT realT
 
typedef std::complex< realTcomplexT
 
typedef wavefront< realTwavefrontT
 The wavefront data type.
 
typedef Eigen::Array< realT, Eigen::Dynamic, Eigen::Dynamic > imageT
 The pupil image type.
 
typedef deformableMirrorSpec specT
 

Public Member Functions

 deformableMirror ()
 Default c'tor.
 
 ~deformableMirror ()
 
template<typename AOSysT >
void initialize (AOSysT &AOSys, specT &spec, const std::string &pupil)
 
std::string name ()
 
std::string basisName ()
 
int settleTime ()
 Get the settling time of the DM.
 
void settleTime (int st)
 Set the settling time of the DM.
 
realT calAmp ()
 Get the calibration amplitude.
 
void calAmp (realT ca)
 Set the calibration amplitude.
 
int nModes ()
 Get the number of modes in the M2C.
 
void applyMode (wavefrontT &wf, int modeNo, realT amp, realT lambda)
 Apply a single mode.
 
template<typename commandT >
void setShape (commandT &commandV)
 
void applyShape (wavefrontT &wf, realT lambda)
 
void setFilter (int width)
 

Public Attributes

std::string _name
 
std::string _basisName
 
std::string m_pupilName
 
int _settleTime
 Time to move from old shape to new shape, in loop time steps.
 
int _settling
 
int _settleTime_counter
 
float _calAmp
 The amplitude used when measuring the response matrix of the current basis set.
 
imageT m_pupil
 
realT m_pupilSum
 The system pupil, possibly apodized, etc.
 
std::vector< size_t > m_idx
 The sum of the pupil mask, nominally the number of pixels.
 
Eigen::Array< realT, -1, -1 > m_m2c
 The offset coordinates of non-zero pixels in the pupil.
 
improc::eigenCube< realTm_infF
 
size_t m_nActs
 
size_t m_nRows
 
size_t m_nCols
 
realT _settlingIter
 
realT _settledIter
 
double t0
 
double t1
 
double t_mm
 
double t_sum
 
bool _writeCommands
 
bool _commandFileOpen
 
std::string _commandFile
 
std::ofstream _commandFout
 
realT _commandLimit
 
Eigen::Array< double, -1, -1 > _pos
 
Eigen::Array< double, -1, -1 > _map
 
sigproc::psdFilter< realT, 2 > m_filter
 
bool m_applyFilter { false }
 

Protected Attributes

imageT _shape
 
imageT _oldShape
 
imageT _nextShape
 

Member Typedef Documentation

◆ complexT

template<typename _realT >
typedef std::complex<realT> mx::AO::sim::deformableMirror< _realT >::complexT

Definition at line 54 of file deformableMirror.hpp.

◆ imageT

template<typename _realT >
typedef Eigen::Array<realT, Eigen::Dynamic, Eigen::Dynamic> mx::AO::sim::deformableMirror< _realT >::imageT

The pupil image type.

Definition at line 60 of file deformableMirror.hpp.

◆ realT

template<typename _realT >
typedef _realT mx::AO::sim::deformableMirror< _realT >::realT

Definition at line 52 of file deformableMirror.hpp.

◆ specT

template<typename _realT >
typedef deformableMirrorSpec mx::AO::sim::deformableMirror< _realT >::specT

Definition at line 62 of file deformableMirror.hpp.

◆ wavefrontT

template<typename _realT >
typedef wavefront<realT> mx::AO::sim::deformableMirror< _realT >::wavefrontT

The wavefront data type.

Definition at line 57 of file deformableMirror.hpp.

Constructor & Destructor Documentation

◆ deformableMirror()

template<typename _realT >
mx::AO::sim::deformableMirror< _realT >::deformableMirror ( )

Default c'tor.

Definition at line 192 of file deformableMirror.hpp.

◆ ~deformableMirror()

Member Function Documentation

◆ applyMode()

template<typename _realT >
void mx::AO::sim::deformableMirror< _realT >::applyMode ( wavefrontT wf,
int  modeNo,
realT  amp,
realT  lambda 
)

Apply a single mode.

Definition at line 382 of file deformableMirror.hpp.

References mx::sys::get_curr_time(), mx::AO::sim::wavefront< _realT >::phase, and mx::math::six_fifths().

◆ applyShape()

template<typename _realT >
void mx::AO::sim::deformableMirror< _realT >::applyShape ( wavefrontT wf,
realT  lambda 
)

◆ basisName()

template<typename _realT >
std::string mx::AO::sim::deformableMirror< _realT >::basisName ( )
inline

◆ calAmp() [1/2]

template<typename _realT >
_realT mx::AO::sim::deformableMirror< _realT >::calAmp ( )

Get the calibration amplitude.

The modal commands are relative to this value.

Definition at line 359 of file deformableMirror.hpp.

◆ calAmp() [2/2]

template<typename _realT >
void mx::AO::sim::deformableMirror< _realT >::calAmp ( realT  ca)

Set the calibration amplitude.

Definition at line 365 of file deformableMirror.hpp.

◆ initialize()

◆ name()

template<typename _realT >
std::string mx::AO::sim::deformableMirror< _realT >::name ( )
inline

◆ nModes()

template<typename _realT >
int mx::AO::sim::deformableMirror< _realT >::nModes ( )

Get the number of modes in the M2C.

Definition at line 376 of file deformableMirror.hpp.

Referenced by mx::AO::sim::wooferTweeterDM< _floatT >::nModes().

◆ setFilter()

template<typename _realT >
void mx::AO::sim::deformableMirror< _realT >::setFilter ( int  width)

Definition at line 702 of file deformableMirror.hpp.

◆ setShape()

template<typename _realT >
template<typename commandT >
void mx::AO::sim::deformableMirror< _realT >::setShape ( commandT &  commandV)

Definition at line 471 of file deformableMirror.hpp.

◆ settleTime() [1/2]

template<typename _realT >
int mx::AO::sim::deformableMirror< _realT >::settleTime ( )

Get the settling time of the DM.

Definition at line 341 of file deformableMirror.hpp.

◆ settleTime() [2/2]

template<typename _realT >
void mx::AO::sim::deformableMirror< _realT >::settleTime ( int  st)

Set the settling time of the DM.

Definition at line 347 of file deformableMirror.hpp.

Member Data Documentation

◆ _basisName

template<typename _realT >
std::string mx::AO::sim::deformableMirror< _realT >::_basisName

◆ _calAmp

template<typename _realT >
float mx::AO::sim::deformableMirror< _realT >::_calAmp

The amplitude used when measuring the response matrix of the current basis set.

Definition at line 79 of file deformableMirror.hpp.

◆ _commandFile

template<typename _realT >
std::string mx::AO::sim::deformableMirror< _realT >::_commandFile

Definition at line 177 of file deformableMirror.hpp.

◆ _commandFileOpen

template<typename _realT >
bool mx::AO::sim::deformableMirror< _realT >::_commandFileOpen

◆ _commandFout

template<typename _realT >
std::ofstream mx::AO::sim::deformableMirror< _realT >::_commandFout

◆ _commandLimit

template<typename _realT >
realT mx::AO::sim::deformableMirror< _realT >::_commandLimit

Definition at line 180 of file deformableMirror.hpp.

◆ _map

template<typename _realT >
Eigen::Array<double, -1, -1> mx::AO::sim::deformableMirror< _realT >::_map

Definition at line 182 of file deformableMirror.hpp.

◆ _name

template<typename _realT >
std::string mx::AO::sim::deformableMirror< _realT >::_name

Definition at line 65 of file deformableMirror.hpp.

Referenced by mx::AO::sim::deformableMirror< _realT >::name().

◆ _nextShape

template<typename _realT >
imageT mx::AO::sim::deformableMirror< _realT >::_nextShape
protected

Definition at line 118 of file deformableMirror.hpp.

◆ _oldShape

template<typename _realT >
imageT mx::AO::sim::deformableMirror< _realT >::_oldShape
protected

Definition at line 115 of file deformableMirror.hpp.

◆ _pos

template<typename _realT >
Eigen::Array<double, -1, -1> mx::AO::sim::deformableMirror< _realT >::_pos

Definition at line 182 of file deformableMirror.hpp.

◆ _settledIter

template<typename _realT >
realT mx::AO::sim::deformableMirror< _realT >::_settledIter

Definition at line 166 of file deformableMirror.hpp.

◆ _settleTime

template<typename _realT >
int mx::AO::sim::deformableMirror< _realT >::_settleTime

Time to move from old shape to new shape, in loop time steps.

Definition at line 72 of file deformableMirror.hpp.

◆ _settleTime_counter

template<typename _realT >
int mx::AO::sim::deformableMirror< _realT >::_settleTime_counter

Definition at line 76 of file deformableMirror.hpp.

◆ _settling

template<typename _realT >
int mx::AO::sim::deformableMirror< _realT >::_settling

Definition at line 74 of file deformableMirror.hpp.

◆ _settlingIter

template<typename _realT >
realT mx::AO::sim::deformableMirror< _realT >::_settlingIter

Definition at line 165 of file deformableMirror.hpp.

◆ _shape

template<typename _realT >
imageT mx::AO::sim::deformableMirror< _realT >::_shape
protected

Definition at line 112 of file deformableMirror.hpp.

◆ _writeCommands

template<typename _realT >
bool mx::AO::sim::deformableMirror< _realT >::_writeCommands

Definition at line 175 of file deformableMirror.hpp.

◆ m_applyFilter

template<typename _realT >
bool mx::AO::sim::deformableMirror< _realT >::m_applyFilter { false }

Definition at line 186 of file deformableMirror.hpp.

◆ m_filter

template<typename _realT >
sigproc::psdFilter<realT, 2> mx::AO::sim::deformableMirror< _realT >::m_filter

Definition at line 184 of file deformableMirror.hpp.

◆ m_idx

template<typename _realT >
std::vector<size_t> mx::AO::sim::deformableMirror< _realT >::m_idx

The sum of the pupil mask, nominally the number of pixels.

Definition at line 83 of file deformableMirror.hpp.

◆ m_infF

template<typename _realT >
improc::eigenCube<realT> mx::AO::sim::deformableMirror< _realT >::m_infF

Definition at line 90 of file deformableMirror.hpp.

◆ m_m2c

template<typename _realT >
Eigen::Array<realT, -1, -1> mx::AO::sim::deformableMirror< _realT >::m_m2c

The offset coordinates of non-zero pixels in the pupil.

Definition at line 87 of file deformableMirror.hpp.

◆ m_nActs

template<typename _realT >
size_t mx::AO::sim::deformableMirror< _realT >::m_nActs

Definition at line 106 of file deformableMirror.hpp.

◆ m_nCols

template<typename _realT >
size_t mx::AO::sim::deformableMirror< _realT >::m_nCols

Definition at line 108 of file deformableMirror.hpp.

◆ m_nRows

template<typename _realT >
size_t mx::AO::sim::deformableMirror< _realT >::m_nRows

Definition at line 107 of file deformableMirror.hpp.

◆ m_pupil

template<typename _realT >
imageT mx::AO::sim::deformableMirror< _realT >::m_pupil

Definition at line 81 of file deformableMirror.hpp.

◆ m_pupilName

template<typename _realT >
std::string mx::AO::sim::deformableMirror< _realT >::m_pupilName

Definition at line 69 of file deformableMirror.hpp.

◆ m_pupilSum

template<typename _realT >
realT mx::AO::sim::deformableMirror< _realT >::m_pupilSum

The system pupil, possibly apodized, etc.

Definition at line 82 of file deformableMirror.hpp.

◆ t0

template<typename _realT >
double mx::AO::sim::deformableMirror< _realT >::t0

Definition at line 173 of file deformableMirror.hpp.

◆ t1

template<typename _realT >
double mx::AO::sim::deformableMirror< _realT >::t1

Definition at line 173 of file deformableMirror.hpp.

◆ t_mm

template<typename _realT >
double mx::AO::sim::deformableMirror< _realT >::t_mm

Definition at line 173 of file deformableMirror.hpp.

◆ t_sum

template<typename _realT >
double mx::AO::sim::deformableMirror< _realT >::t_sum

Definition at line 173 of file deformableMirror.hpp.


The documentation for this class was generated from the following file: