COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
shesha.util.influ_util Namespace Reference

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...
 

Detailed Description

Computation of the influence functions used by the DM.

Author
COMPASS Team https://github.com/ANR-COMPASS
Version
5.4.4
Date
2022/01/24

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.

Function Documentation

◆ besel_orth()

def shesha.util.influ_util.besel_orth (   m,
  n,
  phi,
  r 
)

TODO docstring.

        m:

        n:

        phi:

        r:

    :return:
B

Definition at line 60 of file influ_util.py.

Here is the caller graph for this function:

◆ bessel_influence()

def shesha.util.influ_util.bessel_influence (   xx,
  yy,
  type_i = PatternType.SQUARE 
)

TODO docstring.

        xx:

        yy:
Parameters
type_i(optional)
   :return:
influ

Definition at line 86 of file influ_util.py.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeBessel()

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.

Parameters
pitch(float) : pitch of the DM expressed in pixels
coupling(float) : coupling of the actuators
xindices of influence function in relative position x local coordinates (float). 0 = top of the influence function
yindices of influence function in relative position y local coordinates (float). 0 = top of the influence function

:return:

Parameters
influ(np.ndarray(dims=3,dtype=np.float64)) : cube of the IF for each actuator

Definition at line 356 of file influ_util.py.

Here is the call graph for this function:

◆ makeBlacknutt()

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.

Parameters
pitch(float): pitch of the DM expressed in pixels
coupling(float) : coupling of the actuators
xindices of influence function in relative position x local coordinates (float). 0 = top of the influence function
yindices of influence function in relative position y local coordinates (float). 0 = top of the influence function

:return:

Parameters
influ(np.ndarray(dims=3,dtype=np.float64)) : cube of the IF for each actuator

Definition at line 278 of file influ_util.py.

◆ makeGaussian()

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

Parameters
pitch(float) : pitch of the DM expressed in pixels
coupling(float) : coupling of the actuators
xindices of influence function in relative position x local coordinates (float). 0 = top of the influence function
yindices of influence function in relative position y local coordinates (float). 0 = top of the influence function

:return:

Parameters
influ(np.ndarray(dims=3,dtype=np.float64)) : cube of the IF for each actuator

Definition at line 313 of file influ_util.py.

◆ makeRadialSchwartz()

def shesha.util.influ_util.makeRadialSchwartz ( float  pitch,
float  coupling,
  x = None,
  y = None 
)

Compute radial Schwartz influence function.

Parameters
pitch(float) : pitch of the DM expressed in pixels
coupling(float) : coupling of the actuators
xindices of influence function in relative position x local coordinates (float). 0 = top of the influence function
yindices of influence function in relative position y local coordinates (float). 0 = top of the influence function

:return:

Parameters
influ(np.ndarray(dims=3,dtype=np.float64)) : cube of the IF for each actuator

Definition at line 209 of file influ_util.py.

◆ makeRigaut()

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].

Parameters
pitch(float) : pitch of the DM expressed in pixels
coupling(float) : coupling of the actuators
xindices of influence function in relative position x local coordinates (float). 0 = top of the influence function
yindices of influence function in relative position y local coordinates (float). 0 = top of the influence function

:return:

Parameters
influ(np.ndarray(dims=3,dtype=np.float64)) : cube of the IF for each actuator

Definition at line 162 of file influ_util.py.

◆ makeSquareSchwartz()

def shesha.util.influ_util.makeSquareSchwartz ( float  pitch,
float  coupling,
  x = None,
  y = None 
)

Compute Square Schwartz influence function.

Parameters
pitch(float) : pitch of the DM expressed in pixels
coupling(float) : coupling of the actuators
xindices of influence function in relative position x local coordinates (float). 0 = top of the influence function
yindices of influence function in relative position y local coordinates (float). 0 = top of the influence function

:return:

Parameters
influ(np.ndarray(dims=3,dtype=np.float64)) : cube of the IF for each actuator

Definition at line 241 of file influ_util.py.