![]() |
COMPASS
5.4.4
End-to-end AO simulation tool using GPU acceleration
|
Computation of the influence functions used by the DM. More...
Functions | |
def | besel_orth (m, n, phi, r) |
TODO docstring. More... | |
def | bessel_influence (xx, yy, type_i=PatternType.SQUARE) |
TODO docstring. More... | |
def | makeRigaut (float pitch, float coupling, x=None, y=None) |
Compute 'Rigaut-like' influence function. More... | |
def | makeRadialSchwartz (float pitch, float coupling, x=None, y=None) |
Compute radial Schwartz influence function. More... | |
def | makeSquareSchwartz (float pitch, float coupling, x=None, y=None) |
Compute Square Schwartz influence function. More... | |
def | makeBlacknutt (float pitch, float coupling, x=None, y=None) |
Compute Blacknutt influence function Attention, ici on ne peut pas choisir la valeur de coupling. More... | |
def | makeGaussian (float pitch, float coupling, x=None, y=None) |
Compute Gaussian influence function. More... | |
def | makeBessel (float pitch, float coupling, np.ndarray x=None, np.ndarray y=None, bytes patternType=PatternType.SQUARE) |
Compute Bessel influence function. More... | |
Computation of the influence functions used by the DM.
This file is part of COMPASS https://anr-compass.github.io/compass/
Copyright (C) 2011-2023 COMPASS Team https://github.com/ANR-COMPASS All rights reserved. Distributed under GNU - LGPL
COMPASS is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
COMPASS: End-to-end AO simulation tool using GPU acceleration The COMPASS platform was designed to meet the need of high-performance for the simulation of AO systems.
The final product includes a software package for simulating all the critical subcomponents of AO, particularly in the context of the ELT and a real-time core based on several control approaches, with performances consistent with its integration into an instrument. Taking advantage of the specific hardware architecture of the GPU, the COMPASS tool allows to achieve adequate execution speeds to conduct large simulation campaigns called to the ELT.
The COMPASS platform can be used to carry a wide variety of simulations to both testspecific components of AO of the E-ELT (such as wavefront analysis device with a pyramid or elongated Laser star), and various systems configurations such as multi-conjugate AO.
COMPASS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with COMPASS. If not, see https://www.gnu.org/licenses/lgpl-3.0.txt.
def shesha.util.influ_util.besel_orth | ( | m, | |
n, | |||
phi, | |||
r | |||
) |
TODO docstring.
m: n: phi: r: :return:
Definition at line 60 of file influ_util.py.
def shesha.util.influ_util.bessel_influence | ( | xx, | |
yy, | |||
type_i = PatternType.SQUARE |
|||
) |
TODO docstring.
xx: yy:
type_i | (optional) :return: |
influ |
Definition at line 86 of file influ_util.py.
def shesha.util.influ_util.makeBessel | ( | float | pitch, |
float | coupling, | ||
np.ndarray | x = None , |
||
np.ndarray | y = None , |
||
bytes | patternType = PatternType.SQUARE |
||
) |
Compute Bessel influence function.
pitch | (float) : pitch of the DM expressed in pixels |
coupling | (float) : coupling of the actuators |
x | indices of influence function in relative position x local coordinates (float). 0 = top of the influence function |
y | indices of influence function in relative position y local coordinates (float). 0 = top of the influence function |
:return:
influ | (np.ndarray(dims=3,dtype=np.float64)) : cube of the IF for each actuator |
Definition at line 356 of file influ_util.py.
def shesha.util.influ_util.makeBlacknutt | ( | float | pitch, |
float | coupling, | ||
x = None , |
|||
y = None |
|||
) |
Compute Blacknutt influence function Attention, ici on ne peut pas choisir la valeur de coupling.
La variable a ete laissee dans le code juste pour compatibilité avec les autres fonctions, mais elle n'est pas utilisee.
pitch | (float): pitch of the DM expressed in pixels |
coupling | (float) : coupling of the actuators |
x | indices of influence function in relative position x local coordinates (float). 0 = top of the influence function |
y | indices of influence function in relative position y local coordinates (float). 0 = top of the influence function |
:return:
influ | (np.ndarray(dims=3,dtype=np.float64)) : cube of the IF for each actuator |
Definition at line 278 of file influ_util.py.
def shesha.util.influ_util.makeGaussian | ( | float | pitch, |
float | coupling, | ||
x = None , |
|||
y = None |
|||
) |
Compute Gaussian influence function.
Coupling parameter is not taken into account
pitch | (float) : pitch of the DM expressed in pixels |
coupling | (float) : coupling of the actuators |
x | indices of influence function in relative position x local coordinates (float). 0 = top of the influence function |
y | indices of influence function in relative position y local coordinates (float). 0 = top of the influence function |
:return:
influ | (np.ndarray(dims=3,dtype=np.float64)) : cube of the IF for each actuator |
Definition at line 313 of file influ_util.py.
def shesha.util.influ_util.makeRadialSchwartz | ( | float | pitch, |
float | coupling, | ||
x = None , |
|||
y = None |
|||
) |
Compute radial Schwartz influence function.
pitch | (float) : pitch of the DM expressed in pixels |
coupling | (float) : coupling of the actuators |
x | indices of influence function in relative position x local coordinates (float). 0 = top of the influence function |
y | indices of influence function in relative position y local coordinates (float). 0 = top of the influence function |
:return:
influ | (np.ndarray(dims=3,dtype=np.float64)) : cube of the IF for each actuator |
Definition at line 209 of file influ_util.py.
def shesha.util.influ_util.makeRigaut | ( | float | pitch, |
float | coupling, | ||
x = None , |
|||
y = None |
|||
) |
Compute 'Rigaut-like' influence function.
The arguments <pitch> and <x>, <y> must be in the same unit. This unit shall be [pixels] if one expects that the returned value <smallsize> is also in [pixels].
pitch | (float) : pitch of the DM expressed in pixels |
coupling | (float) : coupling of the actuators |
x | indices of influence function in relative position x local coordinates (float). 0 = top of the influence function |
y | indices of influence function in relative position y local coordinates (float). 0 = top of the influence function |
:return:
influ | (np.ndarray(dims=3,dtype=np.float64)) : cube of the IF for each actuator |
Definition at line 162 of file influ_util.py.
def shesha.util.influ_util.makeSquareSchwartz | ( | float | pitch, |
float | coupling, | ||
x = None , |
|||
y = None |
|||
) |
Compute Square Schwartz influence function.
pitch | (float) : pitch of the DM expressed in pixels |
coupling | (float) : coupling of the actuators |
x | indices of influence function in relative position x local coordinates (float). 0 = top of the influence function |
y | indices of influence function in relative position y local coordinates (float). 0 = top of the influence function |
:return:
influ | (np.ndarray(dims=3,dtype=np.float64)) : cube of the IF for each actuator |
Definition at line 241 of file influ_util.py.