Laser Guide Stars

Classes simulating Laser guide stars - usually contained by a WFS object.

soapy.LGS module

class soapy.LGS.LGS(wfsConfig, soapyConfig, nOutPxls=None, outPxlScale=None)[source]

Bases: object

A class to simulate the propogation of a laser up through turbulence. Given a set of phase screens, this will return the PSF which would be present on-sky.

Parameters:
  • simConfig – The Soapy simulation config
  • wfsConfig – The relavent Soapy WFS configuration
  • atmosConfig – The relavent Soapy atmosphere configuration
  • nOutPxls (int) – Number of pixels required in output LGS
  • outPxlScale (float) – The pixel scale of the output LGS PSF in arcsecs per pixel
calcInitParams()[source]
getLgsPsf(scrns)[source]
initFFTs()[source]

Virtual Method as many LGS implentations will require extra FFTs

initLos()[source]

Initialises the LineOfSight object, which gets the phase or EField in a given direction through turbulence.

class soapy.LGS.LGS_Geometric(wfsConfig, soapyConfig, nOutPxls=None, outPxlScale=None)[source]

Bases: soapy.LGS.LGS

A class to simulate the propogation of a laser up through turbulence using a geometric algorithm. Given a set of phase screens, this will return the PSF which would be present on-sky.

Parameters:
  • simConfig – The Soapy simulation config
  • wfsConfig – The relavent Soapy WFS configuration
  • atmosConfig – The relavent Soapy atmosphere configuration
  • nOutPxls (int) – Number of pixels required in output LGS
  • outPxlScale (float) – The pixel scale of the output LGS PSF in arcsecs per pixel
calcInitParams()[source]

Calculate some useful paramters to be used later

getLgsPsf(scrns)[source]
initFFTs()[source]
class soapy.LGS.LGS_Physical(wfsConfig, soapyConfig, nOutPxls=None, outPxlScale=None)[source]

Bases: soapy.LGS.LGS

A class to simulate the propogation of a laser up through turbulence using a geometric algorithm. Given a set of phase screens, this will return the PSF which would be present on-sky.

Parameters:
  • simConfig – The Soapy simulation config
  • wfsConfig – The relavent Soapy WFS configuration
  • atmosConfig – The relavent Soapy atmosphere configuration
  • nOutPxls (int) – Number of pixels required in output LGS
  • outPxlScale (float) – The pixel scale of the output LGS PSF in arcsecs per pixel
calcInitParams()[source]

Calculate some useful paramters to be used later

getLgsPsf(scrns=None)[source]

Return the LGS PSF to be used in WFS calculation

soapy.LGS.lgsOALaunchMetaPupilPos(gsPos, launchPos, lgsHt, layerHt)[source]

Finds the centre of a meta-pupil in the atmosphere sampled by an LGS launched from a position off-axis from the centre of the telescope.

Parameters:
  • gsPos (ndarray) – The X,Y position of the guide star in arcsecs
  • launchPos (ndarray) – The X, Y launch position of the telescope in metres from the telescope centre
  • lgsHt (float) – The altitude of the LGS beacon
  • layerHt (float) – The height of the meta-pupil of interest
Returns:

Position in X,Y from the on-axis line-of-sight of the meta-pupil centre.

Return type:

ndarray