![]() |
COMPASS
5.4.4
End-to-end AO simulation tool using GPU acceleration
|
this class provides the rtc features to COMPASS More...
#include <sutra_rtc.h>
Public Member Functions | |
SutraRtc () | |
~SutraRtc () | |
int | add_centroider (CarmaContext *context, long nvalid, float offset, float scale, bool filter_TT, long device, std::string typec) |
int | add_centroider (CarmaContext *context, long nvalid, float offset, float scale, bool filter_TT, long device, std::string typec, SutraWfs *wfs) |
int | add_controller (CarmaContext *context, std::string typec, long device, float delay, int nslope, int nactu, int nslope_buffers=0, int nstates=0, int nstate_buffers=0, int nmodes=0, int niir_in=0, int niir_out=0, bool polc=false, bool is_modal=false, SutraDms *dms=nullptr, int *idx_dms=nullptr, int ndm=0, int *idx_centro=nullptr, int ncentro=0, int Nphi=0, bool wfs_direction=false) |
Add a SutraController object in the RTC. More... | |
int | remove_centroider (int ncentro) |
int | remove_controller (int ncontrol) |
int | do_imat (int ncntrl, SutraDms *ydms, int kernconv) |
int | do_imat_basis (int ncntrl, SutraDms *ydm, int nModes, T *m2v, T *pushAmpl, int kernconv) |
int | do_imat_geom (int ncntrl, SutraDms *ydm, int type) |
int | comp_images_imat (SutraDms *ydm, int kernconv) |
int | do_calibrate_img () |
int | do_calibrate_img (int ncntrl) |
int | do_centroids () |
int | do_centroids (int ncntrl) |
int | do_centroids (int ncntrl, bool noise) |
int | do_centroids_geom (int ncntrl, int type=0) |
int | do_centroids_ref (int ncntrl) |
int | do_control (int ncntrl) |
int | do_clipping (int ncntrl) |
int | apply_control (int ncntrl, bool compVoltage=true) |
int | comp_voltage (int ncntrl) |
int | remove_ref (int ncntrl) |
int | set_centroids_ref (float *centroids_ref) |
Public Attributes | |
vector< SutraCentroider< Tin, T > * > | d_centro |
vector< SutraController< T, Tout > * > | d_control |
this class provides the rtc features to COMPASS
Definition at line 36 of file sutra_rtc.h.
int SutraRtc< Tin, T, Tout >::add_centroider | ( | CarmaContext * | context, |
long | nvalid, | ||
float | offset, | ||
float | scale, | ||
bool | filter_TT, | ||
long | device, | ||
std::string | typec | ||
) |
int SutraRtc< Tin, T, Tout >::add_centroider | ( | CarmaContext * | context, |
long | nvalid, | ||
float | offset, | ||
float | scale, | ||
bool | filter_TT, | ||
long | device, | ||
std::string | typec, | ||
SutraWfs * | wfs | ||
) |
int SutraRtc< Tin, T, Tout >::add_controller | ( | CarmaContext * | context, |
std::string | typec, | ||
long | device, | ||
float | delay, | ||
int | nslope, | ||
int | nactu, | ||
int | nslope_buffers = 0 , |
||
int | nstates = 0 , |
||
int | nstate_buffers = 0 , |
||
int | nmodes = 0 , |
||
int | niir_in = 0 , |
||
int | niir_out = 0 , |
||
bool | polc = false , |
||
bool | is_modal = false , |
||
SutraDms * | dms = nullptr , |
||
int * | idx_dms = nullptr , |
||
int | ndm = 0 , |
||
int * | idx_centro = nullptr , |
||
int | ncentro = 0 , |
||
int | Nphi = 0 , |
||
bool | wfs_direction = false |
||
) |
Add a SutraController object in the RTC.
context | : CarmaContext: carma context |
typec | : string : Controller type |
device | : long : GPU device index |
delay | : float : Loop delay [frames] |
nslope | : int : Number of slopes |
nactu | : int : Number of actuators to command |
nslope_buffers | int : (optional) Number of historic slopes vectors to use |
nstates | : int : (optional) Number of states in state vector |
nstate_buffers | int : (optional) Number of historic state vectors to use |
nmodes | : int : (optional) Number of modes in mode vector |
niir_in | : int : (optional) Number of input mode vectors for iir filter |
niir_out | : int : (optional) Number of output mode vectors for iir filter |
polc | : bool : (optional) Activate the Pseudo Open Loop Control if available |
is_modal | : bool : (optional) Activate projection from modes to actu if available |
dms | : SutraDms* : (optional) SutraDms object |
idx_dms | : int* : (optional) index of DM in SutraDms to command |
ndm | : int : (optional) Number of DM to command |
idx_centro | : int* : (optional) Index of centoiders in sutra_rtc.d_centro to handle |
ncentro | : int : (optional) Number of centroiders handled |
Nphi | : int : (optional) Number of pixels in the pupil |
wfs_direction | : bool : (optional) Flag for ROKET |
int SutraRtc< Tin, T, Tout >::apply_control | ( | int | ncntrl, |
bool | compVoltage = true |
||
) |
int SutraRtc< Tin, T, Tout >::comp_images_imat | ( | SutraDms * | ydm, |
int | kernconv | ||
) |
int SutraRtc< Tin, T, Tout >::comp_voltage | ( | int | ncntrl | ) |
int SutraRtc< Tin, T, Tout >::do_calibrate_img | ( | ) |
int SutraRtc< Tin, T, Tout >::do_calibrate_img | ( | int | ncntrl | ) |
int SutraRtc< Tin, T, Tout >::do_centroids | ( | ) |
int SutraRtc< Tin, T, Tout >::do_centroids | ( | int | ncntrl | ) |
int SutraRtc< Tin, T, Tout >::do_centroids | ( | int | ncntrl, |
bool | noise | ||
) |
int SutraRtc< Tin, T, Tout >::do_centroids_geom | ( | int | ncntrl, |
int | type = 0 |
||
) |
int SutraRtc< Tin, T, Tout >::do_centroids_ref | ( | int | ncntrl | ) |
int SutraRtc< Tin, T, Tout >::do_clipping | ( | int | ncntrl | ) |
int SutraRtc< Tin, T, Tout >::do_control | ( | int | ncntrl | ) |
int SutraRtc< Tin, T, Tout >::do_imat | ( | int | ncntrl, |
SutraDms * | ydms, | ||
int | kernconv | ||
) |
int SutraRtc< Tin, T, Tout >::do_imat_basis | ( | int | ncntrl, |
SutraDms * | ydm, | ||
int | nModes, | ||
T * | m2v, | ||
T * | pushAmpl, | ||
int | kernconv | ||
) |
int SutraRtc< Tin, T, Tout >::do_imat_geom | ( | int | ncntrl, |
SutraDms * | ydm, | ||
int | type | ||
) |
int SutraRtc< Tin, T, Tout >::remove_centroider | ( | int | ncentro | ) |
int SutraRtc< Tin, T, Tout >::remove_controller | ( | int | ncontrol | ) |
int SutraRtc< Tin, T, Tout >::remove_ref | ( | int | ncntrl | ) |
int SutraRtc< Tin, T, Tout >::set_centroids_ref | ( | float * | centroids_ref | ) |
vector<SutraCentroider<Tin, T> *> SutraRtc< Tin, T, Tout >::d_centro |
Definition at line 38 of file sutra_rtc.h.
vector<SutraController<T, Tout> *> SutraRtc< Tin, T, Tout >::d_control |
Definition at line 39 of file sutra_rtc.h.