![]() |
COMPASS
5.4.4
End-to-end AO simulation tool using GPU acceleration
|
Public Member Functions | |
| int | build_cmat (self, float cond) |
| Computes the command matrix. More... | |
| int | compute_Cmm (self, Atmos atmos, Sensors sensors, numpy.ndarray[numpy.float64] LO, numpy.ndarray[numpy.float64] Cn2, numpy.ndarray[numpy.float64] alphaX, numpy.ndarray[numpy.float64] alphaY, float diamTel, float cobs) |
| Compute the Cmm matrix. More... | |
| int | compute_Cphim (self, Atmos atmos, Sensors sensors, Dms dms, numpy.ndarray[numpy.float64] LO, numpy.ndarray[numpy.float64] Cn2, numpy.ndarray[numpy.float64] alphaX, numpy.ndarray[numpy.float64] alphaY, numpy.ndarray[numpy.float64] X, numpy.ndarray[numpy.float64] Y, numpy.ndarray[numpy.float64] xactu, numpy.ndarray[numpy.float64] yactu, float diamTel, numpy.ndarray[numpy.float64] k2, numpy.ndarray[numpy.int64] NlayerDm, numpy.ndarray[numpy.int64] indLayerDm, float FoV, numpy.ndarray[numpy.float64] pitch, numpy.ndarray[numpy.float64] alt_dm) |
| Compute the Cphim matrix. More... | |
| int | filter_cmat (self, float cond) |
| Filter command matrix from TT. More... | |
| int | filter_cphim (self, numpy.ndarray[numpy.float32] F, numpy.ndarray[numpy.float32] Nact) |
| Filter Cphim from piston and apply coupling. More... | |
| int | load_noisemat (self, numpy.ndarray[numpy.float32] noisemat) |
| Load the noise covariance matrix. More... | |
| int | set_cmat (self, numpy.ndarray[numpy.float32] cmat) |
| Set the command matrix. More... | |
| int | set_imat (self, numpy.ndarray[numpy.float32] imat) |
| Set the interaction matrix. More... | |
| int | set_modal_gains (self, numpy.ndarray[numpy.float32] mgain) |
| Set the controller modal gains. More... | |
Public Member Functions inherited from sutraWrap.Controller_FU | |
| 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 | |
| d_Cmm = property | |
| Slope covariance matrix. More... | |
| d_Cphim = property | |
| Actuators-Slopes covariance marix. More... | |
| d_KLbasis = property | |
| KL basis. More... | |
| d_cenbuff = property | |
| Centroids circular buffer. More... | |
| d_cmat = property | |
| Control matrix. More... | |
| d_com1 = property | |
| Commands at iteration k-1 (for POLC) More... | |
| d_covmat = property | |
| TODO docstring. More... | |
| d_err = property | |
| Increment error. More... | |
| d_gain = property | |
| vector of modal gains More... | |
| d_imat = property | |
| Interaction matrix. More... | |
| d_noisemat = property | |
| Noise on WFS measurements matrix. More... | |
| d_olmeas = property | |
| Reconstructed open loop measurement. More... | |
| h_Cmmeigenvals = property | |
| Cmm eigenvalues. More... | |
| h_eigenvals = property | |
| Eigen values. More... | |
Properties inherited from sutraWrap.Controller_FU | |
| 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... | |
Definition at line 4131 of file sutraWrap.py.
| int sutraWrap.ControllerMV_FU.build_cmat | ( | self, | |
| float | cond | ||
| ) |
Computes the command matrix.
| cond | (float): Conditioning number for inversion |
Definition at line 4138 of file sutraWrap.py.
| int sutraWrap.ControllerMV_FU.compute_Cmm | ( | self, | |
| Atmos | atmos, | ||
| Sensors | sensors, | ||
| numpy.ndarray[numpy.float64] | LO, | ||
| numpy.ndarray[numpy.float64] | Cn2, | ||
| numpy.ndarray[numpy.float64] | alphaX, | ||
| numpy.ndarray[numpy.float64] | alphaY, | ||
| float | diamTel, | ||
| float | cobs | ||
| ) |
Compute the Cmm matrix.
| atmos | (SutraAtmos): SutraAtmos object |
| sensors | (SutraSensors): SutraSensors object |
| LO | (np.array[ndim=1,dtype=np.float64]): outer scale of each layer |
| Cn2 | (np.array[ndim=1,dtype=np.float64]): Cn2 profile |
| alphaX | (np.array[ndim=1,dtype=np.float64]): X position of each WFS |
| alphaY | (np.array[ndim=1,dtype=np.float64]): Y position of each WFS |
| diamTel | (double): Telescope diameter |
| cobs | (double): Central obstruction ratio |
Definition at line 4159 of file sutraWrap.py.
| int sutraWrap.ControllerMV_FU.compute_Cphim | ( | self, | |
| Atmos | atmos, | ||
| Sensors | sensors, | ||
| Dms | dms, | ||
| numpy.ndarray[numpy.float64] | LO, | ||
| numpy.ndarray[numpy.float64] | Cn2, | ||
| numpy.ndarray[numpy.float64] | alphaX, | ||
| numpy.ndarray[numpy.float64] | alphaY, | ||
| numpy.ndarray[numpy.float64] | X, | ||
| numpy.ndarray[numpy.float64] | Y, | ||
| numpy.ndarray[numpy.float64] | xactu, | ||
| numpy.ndarray[numpy.float64] | yactu, | ||
| float | diamTel, | ||
| numpy.ndarray[numpy.float64] | k2, | ||
| numpy.ndarray[numpy.int64] | NlayerDm, | ||
| numpy.ndarray[numpy.int64] | indLayerDm, | ||
| float | FoV, | ||
| numpy.ndarray[numpy.float64] | pitch, | ||
| numpy.ndarray[numpy.float64] | alt_dm | ||
| ) |
Compute the Cphim matrix.
| atmos | (SutraAtmos): SutraAtmos object |
| sensors | (SutraSensors): SutraSensors object |
| dms | (SutraDms): SutraDms object |
| LO | (np.array[ndim=1,dtype=np.float64]): outer scale of each layer |
| Cn2 | (np.array[ndim=1,dtype=np.float64]): Cn2 profile |
| alphaX | (np.array[ndim=1,dtype=np.float64]): X position of each WFS |
| alphaY | (np.array[ndim=1,dtype=np.float64]): Y position of each WFS |
| X | (np.array[ndim=1,dtype=np.float64]): X position of each subaperture |
| Y | (np.array[ndim=1,dtype=np.float64]): Y position of each subaperture |
| xactu | (np.array[ndim=1,dtype=np.float64]): X position of each actuators |
| yactu | (np.array[ndim=1,dtype=np.float64]): Y position of each actuators |
| diamTel | (double): Telescope diameter |
| k2 | (np.array[ndim=1,dtype=np.float64]): scales |
| NlayerDm | (np.array[ndim=1,dtype=np.int64]): Number of layers handled by each DM |
| indLayerDm | (np.array[ndim=1,dtype=np.int64]): Indices of layers handled by each DM |
| FoV | (double): Field of view |
| pitch | (np.array[ndim=1,dtype=np.int64]): Pitch of each DM |
| alt_dm | (np.array[ndim=1,dtype=np.int64]): Altitude of each DM |
Definition at line 4200 of file sutraWrap.py.
| int sutraWrap.ControllerMV_FU.filter_cmat | ( | self, | |
| float | cond | ||
| ) |
Filter command matrix from TT.
| cond | (float): TODO: docstring |
Definition at line 4207 of file sutraWrap.py.
| int sutraWrap.ControllerMV_FU.filter_cphim | ( | self, | |
| numpy.ndarray[numpy.float32] | F, | ||
| numpy.ndarray[numpy.float32] | Nact | ||
| ) |
Filter Cphim from piston and apply coupling.
| F | (np.array[ndim=2,dtype=np.float32]): Piston filter matrix |
| Nact | (np.array[ndim=2,dtype=np.float32]): Coupling matrix |
Definition at line 4216 of file sutraWrap.py.
| int sutraWrap.ControllerMV_FU.load_noisemat | ( | self, | |
| numpy.ndarray[numpy.float32] | noisemat | ||
| ) |
Load the noise covariance matrix.
| noisemat | (float): noise covariance marix |
Definition at line 4223 of file sutraWrap.py.
| int sutraWrap.ControllerMV_FU.set_cmat | ( | self, | |
| numpy.ndarray[numpy.float32] | cmat | ||
| ) |
Set the command matrix.
| cmat | (np.array[ndim=2,dtype=np.float32]): command matrix to set |
Definition at line 4230 of file sutraWrap.py.
| int sutraWrap.ControllerMV_FU.set_imat | ( | self, | |
| numpy.ndarray[numpy.float32] | imat | ||
| ) |
Set the interaction matrix.
| imat | (np.array[ndim=2,dtype=np.float32]): command matrix to set |
Definition at line 4237 of file sutraWrap.py.
| int sutraWrap.ControllerMV_FU.set_modal_gains | ( | self, | |
| numpy.ndarray[numpy.float32] | mgain | ||
| ) |
Set the controller modal gains.
| mgain | (np.array[ndim1,dtype=np.float32]): modal gains to set |
Definition at line 4244 of file sutraWrap.py.
|
static |
Centroids circular buffer.
@n type of : carmaWrap.obj_float
Definition at line 4278 of file sutraWrap.py.
|
static |
|
static |
Slope covariance matrix.
@n type of : carmaWrap.obj_float
Definition at line 4251 of file sutraWrap.py.
|
static |
Commands at iteration k-1 (for POLC)
@n type of : carmaWrap.obj_float
Definition at line 4296 of file sutraWrap.py.
|
static |
|
static |
Actuators-Slopes covariance marix.
@n type of : carmaWrap.obj_float
Definition at line 4260 of file sutraWrap.py.
|
static |
|
static |
vector of modal gains
@n type of : carmaWrap.obj_float
Definition at line 4323 of file sutraWrap.py.
|
static |
|
static |
|
static |
Noise on WFS measurements matrix.
@n type of : carmaWrap.obj_float
Definition at line 4341 of file sutraWrap.py.
|
static |
Reconstructed open loop measurement.
@n type of : carmaWrap.obj_float
Definition at line 4350 of file sutraWrap.py.
|
static |
Cmm eigenvalues.
@n type of : carmaWrap.host_obj_float
Definition at line 4359 of file sutraWrap.py.
|
static |