COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
sutraWrap.ControllerGEO_FF Class Reference
Inheritance diagram for sutraWrap.ControllerGEO_FF:
Collaboration diagram for sutraWrap.ControllerGEO_FF:

Public Member Functions

int comp_dphi (self, Source source, bool wfs_direction)
 Get the pupil phase and remove piston before projection. More...
 
int init_proj_sparse (self, Dms dms, numpy.ndarray[numpy.int32] indx_dm, numpy.ndarray[numpy.float32] unitpervolt, numpy.ndarray[numpy.int32] indx_pup, numpy.ndarray[numpy.int32] indx_mpup, bool roket)
 Initializes projection matrices. More...
 
int load_Btt (self, numpy.ndarray[numpy.float32] Btt_pzt, numpy.ndarray[numpy.float32] Btt_tt)
 Load the Btt modal basis in the geo controller for ROKET. More...
 
int load_mgain (self, numpy.ndarray[numpy.float32] mgain)
 Set the controller modal gains. More...
 
- Public Member Functions inherited from sutraWrap.Controller_FF
int add_perturb (self)
 Add the perturbation voltage to the command. More...
 
int add_perturb_voltage (self, str name, numpy.ndarray[numpy.float32] perturb, int N)
 Add a new perturbation voltage buffer. More...
 
int clip_commands (self)
 Clip the commands between volt_min and volt_max (values set in the controller) More...
 
int command_delay (self)
 Delay the command. More...
 
int comp_voltage (self)
 Computes the final voltage to send to the DM. More...
 
int disable_perturb_voltage (self, str name)
 Disable a perturbation voltage buffer. More...
 
int enable_perturb_voltage (self, str name)
 Enable a perturbation voltage buffer. More...
 
int remove_perturb_voltage (self, str name)
 Remove a perturbation voltage buffer. More...
 
int reset_coms (self)
 Reset the commands circular buffer. More...
 
int reset_perturb_voltage (self)
 Remove all perturbation voltage buffers. More...
 
int set_com (self, numpy.ndarray[numpy.float32] com, int nElem)
 Set the command vector of the controller. More...
 
None set_comRange (self, float volt_min, float volt_max)
 Set the volt_min and volt_max value for command clipping. More...
 
int set_delay (self, float delay)
 Set the delay. More...
 
int set_gain (self, float gain)
 Set the gain. More...
 
int set_open_loop (self, int status, bool rst=True)
 Open (1) or close (0) the loop. More...
 
int set_perturb_voltage (self, str name, numpy.ndarray[numpy.float32] perturb, int N)
 Set an existing perturbation voltage buffer. More...
 
int set_val_max (self, float val_max)
 Set the val_max value for command conversion. More...
 
int set_volt_max (self, float volt_max)
 Set the volt_max value for command clipping. More...
 

Properties

 Nphi = property
 Number of points in the pupil. More...
 
 Ntt = property
 Number of tip-tilt mirror. More...
 
 d_IFsparse = property
 Influence functions in the pupil (sparse representation. More...
 
 d_TT = property
 Tip-tilt influence functions. More...
 
 d_compdouble = property
 Buffer for computation (double precision) More...
 
 d_compfloat = property
 Buffer for computation (simple precision) More...
 
 d_gain = property
 vector of modal gains More...
 
 d_geocov = property
 Geometric covariance matrix. More...
 
 d_geocovTT = property
 Geometric covariance matrix for TT mirror. More...
 
 d_indx_mpup = property
 Indices of the valid pixels in mpupil. More...
 
 d_indx_pup = property
 Indices of the valid pixels in spupil. More...
 
 d_phi = property
 Phase in the pupil without piston (double) More...
 
 d_phif = property
 Phase in the pupil without piston (float) More...
 
- Properties inherited from sutraWrap.Controller_FF
 centro_idx = property
 Indices of the handled centroiders. More...
 
 comRange = property
 
type of : typing.Tuple[float, float] More...
 
 context = property
 GPU context. More...
 
 d_centroids = property
 Slopes vector. More...
 
 d_circularComs0 = property
 Oldest command vector in the circular buffer. More...
 
 d_circularComs1 = property
 Second oldest Command vector in the circular buffer. More...
 
 d_com = property
 Current command vector. More...
 
 d_com1 = property
 Command vector at iteration k-1. More...
 
 d_com_clipped = property
 Delayed commands. More...
 
 d_dmseen = property
 Vector of SutraDm commanded. More...
 
 d_perturb_map = property
 Perturbation voltage buffers. More...
 
 d_voltage = property
 Total voltage to apply on the DMs. More...
 
 delay = property
 Loop delay. More...
 
 device = property
 GPU device index. More...
 
 gain = property
 Controller gain. More...
 
 nactu = property
 Number of actuators to control. More...
 
 nslope = property
 Number of slopes. More...
 
 open_loop = property
 Open loop flag. More...
 
 type = property
 Controller type. More...
 
 val_max = property
 Maximum value for d_voltage (ADU). More...
 

Detailed Description

Definition at line 3062 of file sutraWrap.py.

Member Function Documentation

◆ comp_dphi()

int sutraWrap.ControllerGEO_FF.comp_dphi (   self,
Source  source,
bool  wfs_direction 
)

Get the pupil phase and remove piston before projection.

Parameters
source(SutraSource): Phase source
wfs_direction(bool): Must be True if the source is a WFS GS

Definition at line 3071 of file sutraWrap.py.

◆ init_proj_sparse()

int sutraWrap.ControllerGEO_FF.init_proj_sparse (   self,
Dms  dms,
numpy.ndarray[numpy.int32]  indx_dm,
numpy.ndarray[numpy.float32]  unitpervolt,
numpy.ndarray[numpy.int32]  indx_pup,
numpy.ndarray[numpy.int32]  indx_mpup,
bool  roket 
)

Initializes projection matrices.

Parameters
dms(SutraDms): SutraDms object
indx_dm(np.array[ndim=1,dtype=np.int64]): Indices of valid pixels of the pupil in the DM support
unitpervolt(np.array[ndim=1,dtype=np.float32]): Unit per volt of each DM
indx_pup(np.array[ndim=1,dtype=np.int64]): Indices of valid pixels of the small pupil
indx_mpup(np.array[ndim=1,dtype=np.int64]): Indices of valid pixels of the medium pupil
roket(bool): ROKET flag

Definition at line 3087 of file sutraWrap.py.

◆ load_Btt()

int sutraWrap.ControllerGEO_FF.load_Btt (   self,
numpy.ndarray[numpy.float32]  Btt_pzt,
numpy.ndarray[numpy.float32]  Btt_tt 
)

Load the Btt modal basis in the geo controller for ROKET.

Parameters
Btt_pzt(np.array[ndim=2,dtype=np.float32]) : PZT DM component
Btt_tt(np.array[ndim=2,dtype=np.float32]) : TT mirror component

Definition at line 3097 of file sutraWrap.py.

◆ load_mgain()

int sutraWrap.ControllerGEO_FF.load_mgain (   self,
numpy.ndarray[numpy.float32]  mgain 
)

Set the controller modal gains.

Parameters
mgain(np.array[ndim1,dtype=np.float32]): modal gains to set

Definition at line 3104 of file sutraWrap.py.

Property Documentation

◆ d_compdouble

sutraWrap.ControllerGEO_FF.d_compdouble = property
static

Buffer for computation (double precision)

   @n type of :  carmaWrap.obj_double

Definition at line 3147 of file sutraWrap.py.

◆ d_compfloat

sutraWrap.ControllerGEO_FF.d_compfloat = property
static

Buffer for computation (simple precision)

   @n type of :  carmaWrap.obj_float

Definition at line 3156 of file sutraWrap.py.

◆ d_gain

sutraWrap.ControllerGEO_FF.d_gain = property
static

vector of modal gains

   @n type of :  carmaWrap.obj_float

Definition at line 3165 of file sutraWrap.py.

◆ d_geocov

sutraWrap.ControllerGEO_FF.d_geocov = property
static

Geometric covariance matrix.

   @n type of :  carmaWrap.obj_float

Definition at line 3174 of file sutraWrap.py.

◆ d_geocovTT

sutraWrap.ControllerGEO_FF.d_geocovTT = property
static

Geometric covariance matrix for TT mirror.

   @n type of :  carmaWrap.obj_float

Definition at line 3183 of file sutraWrap.py.

◆ d_IFsparse

sutraWrap.ControllerGEO_FF.d_IFsparse = property
static

Influence functions in the pupil (sparse representation.

   @n type of :  carmaWrap.sparse_obj_double

Definition at line 3129 of file sutraWrap.py.

◆ d_indx_mpup

sutraWrap.ControllerGEO_FF.d_indx_mpup = property
static

Indices of the valid pixels in mpupil.

   @n type of :  carmaWrap.obj_int

Definition at line 3192 of file sutraWrap.py.

◆ d_indx_pup

sutraWrap.ControllerGEO_FF.d_indx_pup = property
static

Indices of the valid pixels in spupil.

   @n type of :  carmaWrap.obj_int

Definition at line 3201 of file sutraWrap.py.

◆ d_phi

sutraWrap.ControllerGEO_FF.d_phi = property
static

Phase in the pupil without piston (double)

   @n type of :  carmaWrap.obj_double

Definition at line 3210 of file sutraWrap.py.

◆ d_phif

sutraWrap.ControllerGEO_FF.d_phif = property
static

Phase in the pupil without piston (float)

   @n type of :  carmaWrap.obj_float

Definition at line 3219 of file sutraWrap.py.

◆ d_TT

sutraWrap.ControllerGEO_FF.d_TT = property
static

Tip-tilt influence functions.

   @n type of :  carmaWrap.obj_float

Definition at line 3138 of file sutraWrap.py.

◆ Nphi

sutraWrap.ControllerGEO_FF.Nphi = property
static

Number of points in the pupil.

   @n type of :  int

Definition at line 3111 of file sutraWrap.py.

◆ Ntt

sutraWrap.ControllerGEO_FF.Ntt = property
static

Number of tip-tilt mirror.

   @n type of :  int

Definition at line 3120 of file sutraWrap.py.


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