TwiceAsNice  2019-02-18
Public Member Functions | Public Attributes | Private Attributes | List of all members
laospy.injection.InjectionMatrix Class Reference
Collaboration diagram for laospy.injection.InjectionMatrix:
Collaboration graph

Public Member Functions

def __init__ (self, config, infMat)
 
def save_injection_matrix (self)
 
def load_injection_matrix (self)
 
def find_actuator_ring (self, innerRadius, outerRadius)
 
def find_master_slave_actuators (self)
 
def find_slaved_actuator_commands (self, slaveIdx, actCmd)
 
def build_zernike_injection_matrix (self, display=False)
 
def init_mode_response_display (self)
 
def display_mode_response (self, j)
 
def __init__ (self, config, infMat)
 
def save_injection_matrix (self)
 
def load_injection_matrix (self)
 
def find_actuator_ring (self, innerRadius, outerRadius)
 
def find_master_slave_actuators (self)
 
def find_slaved_actuator_commands (self, slaveIdx, actCmd)
 
def build_zernike_injection_matrix (self, display=False)
 
def init_mode_response_display (self)
 
def display_mode_response (self, j)
 

Public Attributes

 infMat
 
 useBrim
 
 config
 
 actMap
 
 actCoords
 
 m2c
 
 slavedActIdx
 
 masterActIdx
 
 numModes
 
 slaveGain
 
 dmShape
 

Private Attributes

 _modImg1
 
 _modColorbar1
 
 _modNote1
 
 _modImg2
 
 _modColorbar2
 
 _modNote2
 
 _modImg3
 
 _modColorbar3
 
 _modNote3
 

Detailed Description

Deals with the generation and analysis of injection matrices.

Constructor & Destructor Documentation

◆ __init__() [1/2]

def laospy.injection.InjectionMatrix.__init__ (   self,
  config,
  infMat 
)
Parameters
----------
config : configuration tree node
    the configuration for the injection
    
infMat : ActuatorInfluence object
    the influence matrix the injection will be based on

◆ __init__() [2/2]

def laospy.injection.InjectionMatrix.__init__ (   self,
  config,
  infMat 
)
Parameters
----------
config : configuration tree node
    the configuration for the injection
    
infMat : ActuatorInfluence object
    the influence matrix the injection will be based on

Member Function Documentation

◆ build_zernike_injection_matrix() [1/2]

def laospy.injection.InjectionMatrix.build_zernike_injection_matrix (   self,
  display = False 
)
Creates a new injection matrix.



Parameters
----------
display : boolean
    True if results should be displayed in graphs

Property Tree Parameters:
------------------------
INJ.NUMMODES
    Number of modes
    
INJ.SLAVEGAIN
    gain factor applied to the value of the nearest master actuator. 

◆ build_zernike_injection_matrix() [2/2]

def laospy.injection.InjectionMatrix.build_zernike_injection_matrix (   self,
  display = False 
)
Creates a new injection matrix.



Parameters
----------
display : boolean
    True if results should be displayed in graphs

Property Tree Parameters:
------------------------
INJ.NUMMODES
    Number of modes
    
INJ.SLAVEGAIN
    gain factor applied to the value of the nearest master actuator. 

◆ display_mode_response() [1/2]

def laospy.injection.InjectionMatrix.display_mode_response (   self,
  j 
)
 

◆ display_mode_response() [2/2]

def laospy.injection.InjectionMatrix.display_mode_response (   self,
  j 
)
 

◆ find_actuator_ring() [1/2]

def laospy.injection.InjectionMatrix.find_actuator_ring (   self,
  innerRadius,
  outerRadius 
)
Returns the indices of actuators that have the same radial distance to the center of the DM

All actuators with at least a the given radius but less than the outer radius in actuator 
spacing units are returned

Parameters
----------
innerRadius : float
    inner radius of the ring in actuator grid spacing
    
outerRadius : float
    outer radius of the ring in actuator grid spacing
    
Returns
-------
actuatorIdx = ndarray
    array of indices of actuators which are inside the ring

◆ find_actuator_ring() [2/2]

def laospy.injection.InjectionMatrix.find_actuator_ring (   self,
  innerRadius,
  outerRadius 
)
Returns the indices of actuators that have the same radial distance to the center of the DM

All actuators with at least a the given radius but less than the outer radius in actuator 
spacing units are returned

Parameters
----------
innerRadius : float
    inner radius of the ring in actuator grid spacing
    
outerRadius : float
    outer radius of the ring in actuator grid spacing
    
Returns
-------
actuatorIdx = ndarray
    array of indices of actuators which are inside the ring

◆ find_master_slave_actuators() [1/2]

def laospy.injection.InjectionMatrix.find_master_slave_actuators (   self)
Returns the indices of master and slaved actuators

The influence functions of the outermost actuators may not be properly measured, 
as the FISBA does not fully see them. They should be excluded when building the injection
matrix. 

Property Tree Parameters:
------------------------
INJ.SLAVEDRAD
    radius of the ring of actuators that should be "slaved"
    

Returns
-------
masterActIdx, slavedActIdx  : ndarray, ndarray
    arrays with master actuators and slaved actuators

◆ find_master_slave_actuators() [2/2]

def laospy.injection.InjectionMatrix.find_master_slave_actuators (   self)
Returns the indices of master and slaved actuators

The influence functions of the outermost actuators may not be properly measured, 
as the FISBA does not fully see them. They should be excluded when building the injection
matrix. 

Property Tree Parameters:
------------------------
INJ.SLAVEDRAD
    radius of the ring of actuators that should be "slaved"
    

Returns
-------
masterActIdx, slavedActIdx  : ndarray, ndarray
    arrays with master actuators and slaved actuators

◆ find_slaved_actuator_commands() [1/2]

def laospy.injection.InjectionMatrix.find_slaved_actuator_commands (   self,
  slaveIdx,
  actCmd 
)
 

◆ find_slaved_actuator_commands() [2/2]

def laospy.injection.InjectionMatrix.find_slaved_actuator_commands (   self,
  slaveIdx,
  actCmd 
)
 

◆ init_mode_response_display() [1/2]

def laospy.injection.InjectionMatrix.init_mode_response_display (   self)
 

◆ init_mode_response_display() [2/2]

def laospy.injection.InjectionMatrix.init_mode_response_display (   self)
 

◆ load_injection_matrix() [1/2]

def laospy.injection.InjectionMatrix.load_injection_matrix (   self)
 

◆ load_injection_matrix() [2/2]

def laospy.injection.InjectionMatrix.load_injection_matrix (   self)
 

◆ save_injection_matrix() [1/2]

def laospy.injection.InjectionMatrix.save_injection_matrix (   self)
Saves the injection matrix (m2c) to a FITS file

◆ save_injection_matrix() [2/2]

def laospy.injection.InjectionMatrix.save_injection_matrix (   self)
Saves the injection matrix (m2c) to a FITS file

Member Data Documentation

◆ _modColorbar1

laospy.injection.InjectionMatrix._modColorbar1
private

◆ _modColorbar2

laospy.injection.InjectionMatrix._modColorbar2
private

◆ _modColorbar3

laospy.injection.InjectionMatrix._modColorbar3
private

◆ _modImg1

laospy.injection.InjectionMatrix._modImg1
private

◆ _modImg2

laospy.injection.InjectionMatrix._modImg2
private

◆ _modImg3

laospy.injection.InjectionMatrix._modImg3
private

◆ _modNote1

laospy.injection.InjectionMatrix._modNote1
private

◆ _modNote2

laospy.injection.InjectionMatrix._modNote2
private

◆ _modNote3

laospy.injection.InjectionMatrix._modNote3
private

◆ actCoords

laospy.injection.InjectionMatrix.actCoords

◆ actMap

laospy.injection.InjectionMatrix.actMap

◆ config

laospy.injection.InjectionMatrix.config

◆ dmShape

laospy.injection.InjectionMatrix.dmShape

◆ infMat

laospy.injection.InjectionMatrix.infMat

◆ m2c

laospy.injection.InjectionMatrix.m2c

◆ masterActIdx

laospy.injection.InjectionMatrix.masterActIdx

◆ numModes

laospy.injection.InjectionMatrix.numModes

◆ slavedActIdx

laospy.injection.InjectionMatrix.slavedActIdx

◆ slaveGain

laospy.injection.InjectionMatrix.slaveGain

◆ useBrim

laospy.injection.InjectionMatrix.useBrim

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