shesha.init¶
Initialization of a Atmos object
-
shesha.init.atmos_init.atmos_init(context: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, p_atmos: shesha.config.PATMOS.Param_atmos, p_tel: shesha.config.PTEL.Param_tel, p_geom: shesha.config.PGEOM.Param_geom, ittime=None, p_wfss=None, p_targets=None, dataBase={}, use_DB=False)¶ Initializes an Atmos object
Parameters: context: (carmaWrap_context): GPU device context p_atmos: (Param_atmos): Atmosphere parameters p_tel: (Param_tel): Telescope parameters p_geom: (Param_geom): Geometry parameters ittime: (float): (optional) exposition time [s] p_wfss: (list of Param_wfs): (optional) WFS parameters p_targets: (list of Param_target): (optional) target parameters dataBase: (dict): (optional) dictionary for data base use_DB: (bool): (optional) flag for using the dataBase system Returns: atm : (Atmos): Atmos object
Initialization of a Dms object
-
shesha.init.dm_init.build_petals(nbSeg, pupAngleDegree, i0, j0, npt)¶ Makes an image npt x npt of <nbSeg> regularly spaced angular segments centred on (i0, j0). Origin of angles is set by <pupAngleDegree>.
The segments are oriented as defined in document “Standard Coordinates and Basic Conventions”, ESO-193058. This document states that the X axis lies in the middle of a petal, i.e. that the axis Y is along the spider. The separation angle between segments are [-30, 30, 90, 150, -150, -90]. For this reason, an <esoOffsetAngle> = -pi/6 is introduced in the code.
nbSeg = 6 pupAngleDegree = 5.0 i0 = j0 = 112.3 npt = 222 p = build_petals(nbSeg, pupAngleDegree, i0, j0, npt)
-
shesha.init.dm_init.comp_dmgeom(p_dm: shesha.config.PDMS.Param_dm, p_geom: shesha.config.PGEOM.Param_geom)¶ Compute the geometry of a DM : positions of actuators and influence functions
Parameters: dm: (Param_dm) : dm settings
geom: (Param_geom) : geom settings
-
shesha.init.dm_init.correct_dm(context, dms: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, p_dms: list, p_controller: shesha.config.PCONTROLLER.Param_controller, p_geom: shesha.config.PGEOM.Param_geom, imat: numpy.ndarray = None, dataBase: dict = {}, use_DB: bool = False)¶ Correct the geometry of the DMs using the imat (filter unseen actuators)
Parameters: context: (carmaWrap_context): context dms: (Dms) : Dms object p_dms: (list of Param_dm) : dms settings p_controller: (Param_controller) : controller settings p_geom: (Param_geom) : geom settings imat: (np.ndarray) : interaction matrix dataBase: (dict): dictionary containing paths to files to load use_DB: (bool): dataBase use flag
-
shesha.init.dm_init.dm_init(context: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, p_dms: List[shesha.config.PDMS.Param_dm], p_tel: shesha.config.PTEL.Param_tel, p_geom: shesha.config.PGEOM.Param_geom, p_wfss: List[shesha.config.PWFS.Param_wfs] = None, keepAllActu: bool = False) → shesha.sutra_wrap.smart_import.<locals>.tmp_cls¶ Create and initialize a Dms object on the gpu
Parameters: context: (carmaWrap_context): context p_dms: (list of Param_dms) : dms settings p_tel: (Param_tel) : telescope settings p_geom: (Param_geom) : geom settings p_wfss: (list of Param_wfs) : wfs settings Returns: Dms: (Dms): Dms object
-
shesha.init.dm_init.dm_init_standalone(context: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, p_dms: list, p_geom: shesha.config.PGEOM.Param_geom, diam=1.0, cobs=0.0, pupAngle=0.0, wfs_xpos=[0], wfs_ypos=[0])¶ Create and initialize a Dms object on the gpu
Parameters: p_dms: (list of Param_dms) : dms settings
p_geom: (Param_geom) : geom settings
diam: (float) : diameter of telescope (default 1.)
cobs: (float) : cobs of telescope (default 0.)
pupAngle: (float) : pupil rotation angle (degrees, default 0.)
wfs_xpos: (array) : guide star x position on sky (in arcsec).
wfs_ypos: (array) : guide star y position on sky (in arcsec).
-
shesha.init.dm_init.init_pzt_from_hdf5(p_dm: shesha.config.PDMS.Param_dm, p_geom: shesha.config.PGEOM.Param_geom, diam: float)¶ Read HDF for influence pzt fonction and form
Parameters: p_dm: (Param_dm) : dm settings
p_geom: (Param_geom) : geom settings
diam: (float) : tel diameter
-
shesha.init.dm_init.makePetalDm(p_dm, p_geom, pupAngleDegree)¶ The function builds a DM, segmented in petals according to the pupil shape. The petals will be adapted to the EELT case only.
- <p_geom> : compass object p_geom. The function requires the object p_geom
- in order to know what is the pupil mask, and what is the mpupil.
- <p_dm> : compass petal dm object p_dm to be created. The function will
- transform/modify in place the attributes of the object p_dm.
-
shesha.init.dm_init.make_kl_dm(p_dm: shesha.config.PDMS.Param_dm, patchDiam: int, p_geom: shesha.config.PGEOM.Param_geom, cobs: float) → None¶ Compute the influence function for a Karhunen-Loeve DM
Parameters: p_dm: (Param_dm) : dm settings
patchDiam: (int) : patchDiam for dm size
p_geom: (Param_geom) : geom settings
cobs: (float) : telescope cobs
-
shesha.init.dm_init.make_petal_dm_core(pupImage, pupAngleDegree)¶ <pupImage> : image of the pupil
La fonction renvoie des fn d’influence en forme de petale d’apres une image de la pupille, qui est supposee etre segmentee.
influ, i1, j1, smallsize, nbSeg = make_petal_dm_core(pupImage, 0.0)
-
shesha.init.dm_init.make_pzt_dm(p_dm: shesha.config.PDMS.Param_dm, p_geom: shesha.config.PGEOM.Param_geom, cobs: float, pupAngle: float, keepAllActu: bool = False)¶ Compute the actuators positions and the influence functions for a pzt DM
Parameters: p_dm: (Param_dm) : dm settings
p_geom: (Param_geom) : geom settings
cobs: (float) : tel cobs
Returns: influ: (np.ndarray(dims=3,dtype=np.float64)) : cube of the IF for each actuator
-
shesha.init.dm_init.make_tiptilt_dm(p_dm: shesha.config.PDMS.Param_dm, patchDiam: int, p_geom: shesha.config.PGEOM.Param_geom, diam: float)¶ Compute the influence functions for a tip-tilt DM
Parameters: p_dm: (Param_dm) : dm settings
patchDiam: (int) : patchDiam for dm size
p_geom: (Param_geom) : geom settings
diam: (float) : telescope diameter
Returns: influ: (np.ndarray(dims=3,dtype=np.float64)) : cube of the IF
Initialization of the system geometry and of the Telescope object
-
shesha.init.geom_init.compute_nphotons(wfs_type, ittime, optthroughput, diam, cobs=0, nxsub=0, zerop=0, gsmag=0, lgsreturnperwatt=0, laserpower=0, verbose=1)¶ Determines the number of photons TBC
Parameters: wfs_type: (scons.WFSType) : wfs type: SH or PYRHR.
ittime: (float) : 1/loop frequency [s].
optthroughput: (float) : wfs global throughput.
diam: (float) : telescope diameter.
cobs: (float) : (optional for SH) telescope central obstruction.
nxsub: (int) : (optional for PYRHR) linear number of subaps.
zerop: (float) : (optional for LGS) detector zero point expressed in ph/m**2/s in the bandwidth of the WFS.
gsmag: (float) : (optional for LGS) magnitude of guide star.
lgsreturnperwatt: (float) : (optional for NGS) return per watt factor (high season : 10 ph/cm2/s/W).
laserpower: (float) : (optional for NGS) laser power in W.
verbose: (bool) : (optional) display informations if True.
- for PYRHR WFS: nphotons = compute_nphotons(scons.WFSType.PYRHR, ittime,
- optthroughput, diam, cobs=?, zerop=?, gsmag=?)
- for NGS SH WFS: nphotons = compute_nphotons(scons.WFSType.SH, ittime,
- optthroughput, diam, nxsub=?, zerop=?, gsmag=?)
- for LGS SH WFS: nphotons = compute_nphotons(scons.WFSType.SH, ittime,
- optthroughput, diam, nxsub=?, lgsreturnperwatt=?, laserpower=?)
-
shesha.init.geom_init.geom_init(p_geom: shesha.config.PGEOM.Param_geom, p_tel: shesha.config.PTEL.Param_tel, padding=2)¶ - Initialize the system geometry
Parameters: p_geom: (Param_geom) : geometry settings p_tel: (Param_tel) : telescope settings padding: (optional) : padding factor for PYRHR geometry
-
shesha.init.geom_init.geom_init_generic(p_geom, pupdiam, t_spiders=0.01, spiders_type='six', xc=0, yc=0, real=0, cobs=0)¶ Initialize the system geometry
Parameters: pupdiam: (long) : linear size of total pupil
t_spiders: (float) : secondary supports ratio.
spiders_type: (str) : secondary supports type: “four” or “six”.
xc: (int)
yc: (int)
real: (int)
cobs: (float) : central obstruction ratio.
-
shesha.init.geom_init.init_pyrhr_geom(p_wfs: shesha.config.PWFS.Param_wfs, r0: float, p_tel: shesha.config.PTEL.Param_tel, p_geom: shesha.config.PGEOM.Param_geom, ittime: float, verbose: bool = True)¶ Compute the geometry of PYRHR WFSs: valid subaps, positions of the subaps, flux per subap, etc…
Parameters: p_wfs: (Param_wfs) : wfs settings
r0: (float) : atmos r0 @ 0.5 microns
p_tel: (Param_tel) : telescope settings
geom: (Param_geom) : geom settings
ittime: (float) : 1/loop frequency [s]
verbose: (bool) : (optional) display informations if True
-
shesha.init.geom_init.init_sh_geom(p_wfs: shesha.config.PWFS.Param_wfs, r0: float, p_tel: shesha.config.PTEL.Param_tel, p_geom: shesha.config.PGEOM.Param_geom, ittime: float, verbose: bool = True)¶ Compute the geometry of SH WFSs: valid subaps, positions of the subaps, flux per subap, etc…
Parameters: p_wfs: (Param_wfs) : wfs settings
r0: (float) : atmos r0 @ 0.5 microns
p_tel: (Param_tel) : telescope settings
geom: (Param_geom) : geom settings
ittime: (float) : 1/loop frequency [s]
verbose: (bool) : (optional) display informations if True
-
shesha.init.geom_init.init_wfs_geom(p_wfs: shesha.config.PWFS.Param_wfs, r0: float, p_tel: shesha.config.PTEL.Param_tel, p_geom: shesha.config.PGEOM.Param_geom, ittime: float, verbose=1)¶ Compute the geometry of WFSs: valid subaps, positions of the subaps, flux per subap, etc…
Parameters: p_wfs: (Param_wfs) : wfs settings
r0: (float) : atmos r0 @ 0.5 microns
p_tel: (Param_tel) : telescope settings
geom: (Param_geom) : geom settings
ittime: (float) : 1/loop frequency [s]
verbose: (int) : (optional) display informations if 0
-
shesha.init.geom_init.init_wfs_size(p_wfs: shesha.config.PWFS.Param_wfs, r0: float, p_tel: shesha.config.PTEL.Param_tel, verbose=1)¶ Compute all the parameters usefull for further WFS image computation (array sizes)
Parameters: p_wfs: (Param_wfs) : wfs settings
r0: (float) : atmos r0 @ 0.5 microns
p_tel: (Param_tel) : telescope settings
verbose: (int) : (optional) display informations if 0
Scheme to determine arrays sizes sh : k = 6 p = k * d/r0 n = int(2*d*v/lambda/CONST.RAD2ARCSEC)+1 N = fft_goodsize(k*n/v*lambda/r0*CONST.RAD2ARCSEC) u = k * lambda / r0 * CONST.RAD2ARCSEC / N n = v/u - int(v/u) > 0.5 ? int(v/u)+1 : int(v/u) v = n * u Nt = v * Npix
pyr : Fs = field stop radius in arcsec N size of big array for FFT in pixels P pupil diameter in pixels D diameter of telescope in m Nssp : number of pyr measurement points in the pupil
Rf = Fs . N . D / lambda / P ideally we choose : Fs = lambda / D . Nssp / 2
if we want good sampling of r0 (avoid aliasing of speckles) P > D / r0 . m with m = 2 or 3
to get reasonable space between pupil images : N > P.(2 + 3S) with S close to 1 N must be a power of 2
to ease computation lets assume that Nssp is a divider of P scaling factor between high res pupil images in pyramid model and actual pupil size on camera images would be P / Nssp
-
shesha.init.geom_init.tel_init(context: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, p_geom: shesha.config.PGEOM.Param_geom, p_tel: shesha.config.PTEL.Param_tel, r0=None, ittime=None, p_wfss=None, dm=None)¶ - Initialize the overall geometry of the AO system, including pupil and WFS
Parameters: context: (carmaWrap_context) : context p_geom: (Param_geom) : geom settings p_tel: (Param_tel) : telescope settings r0: (float) : atmos r0 @ 0.5 microns ittime: (float) : 1/loop frequency [s] p_wfss: (list of Param_wfs) : wfs settings dm: (list of Param_dm) : (optional) dms settings [=None] Returns: telescope: (Telescope): Telescope object
Initialization of a LGS in a Wfs object
-
shesha.init.lgs_init.make_lgs_prof1d(p_wfs: shesha.config.PWFS.Param_wfs, p_tel: shesha.config.PTEL.Param_tel, prof: numpy.ndarray, h: numpy.ndarray, beam: float, center='')¶ same as prep_lgs_prof but cpu only. original routine from rico
Parameters: p_tel: (Param_tel) : telescope settings
prof: (np.ndarray[dtype=np.float32]) : Na profile intensity, in arbitrary units
h: (np.ndarray[dtype=np.float32]) : altitude, in meters. h MUST be an array with EQUALLY spaced elements.
beam: (float) : size in arcsec of the laser beam
center: (string) : either “image” or “fourier” depending on where the centre should be.
-
shesha.init.lgs_init.prep_lgs_prof(p_wfs: shesha.config.PWFS.Param_wfs, nsensors: int, p_tel: shesha.config.PTEL.Param_tel, sensors: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, center='', imat=0)¶ The function returns an image array(double,n,n) of a laser beacon elongated by perpective effect. It is obtaind by convolution of a gaussian of width “lgsWidth” arcseconds, with the line of the sodium profile “prof”. The altitude of the profile is the array “h”.
parameters: p_wfs: (Param_wfs) : WFS settings
nsensors: (int) : wfs index
p_tel: (Param_tel) : telescope settings
Sensors: (Sensors) : WFS object
center: (string) : either “image” or “fourier” depending on where the centre should be.
Computation of LGS spot from the sodium profile: Everything is done here in 1D, because the Na profile is the result of the convolution of a function P(x,y) = profile(x) . dirac(y) by a gaussian function, for which variables x and y can be split : exp(-(x^2+y^2)/2.s^2) = exp(-x^2/2.s^2) * exp(-y^2/2.s^2) The convolution is (symbol $ denotes integral) C(X,Y) = $$ exp(-x^2/2.s^2) * exp(-y^2/2.s^2) * profile(x-X) * dirac(y-Y) dx dy First one performs the integration along y C(X,Y) = exp(-Y^2/2.s^2) $ exp(-x^2/2.s^2) * profile(x-X) dx which shows that the profile can be computed by - convolving the 1-D profile - multiplying it in the 2nd dimension by a gaussian function
If one has to undersample the inital profile, then some structures may be “lost”. In this case, it’s better to try to “save” those structures by re-sampling the integral of the profile, and then derivating it afterwards. Now, if the initial profile is a coarse one, and that one has to oversample it, then a simple re-sampling of the profile is adequate.
Initialization of a Rtc object
-
shesha.init.rtc_init.comp_weights(p_centroider: shesha.config.PCENTROIDER.Param_centroider, p_wfs: shesha.config.PWFS.Param_wfs, npix: int)¶ - Compute the weights used by centroider wcog and corr
Parameters: p_centroider : (Param_centroider) : centroider settings p_wfs : (Param_wfs) : wfs settings npix: (int):
-
shesha.init.rtc_init.init_centroider(context, nwfs: int, p_wfs: shesha.config.PWFS.Param_wfs, p_centroider: shesha.config.PCENTROIDER.Param_centroider, p_tel: shesha.config.PTEL.Param_tel, p_atmos: shesha.config.PATMOS.Param_atmos, wfs: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, rtc: shesha.sutra_wrap.smart_import.<locals>.tmp_cls)¶ Initialize a centroider object in Rtc
Parameters: context: (carmaWrap_context): context nwfs : (int) : index of wfs p_wfs : (Param_wfs): wfs settings p_centroider : (Param_centroider) : centroider settings wfs: (Sensors): Sensor object rtc : (Rtc) : Rtc object
-
shesha.init.rtc_init.init_controller(context, i: int, p_controller: shesha.config.PCONTROLLER.Param_controller, p_wfss: list, p_geom: shesha.config.PGEOM.Param_geom, p_dms: list, p_atmos: shesha.config.PATMOS.Param_atmos, ittime: float, p_tel: shesha.config.PTEL.Param_tel, rtc: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, dms: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, wfs: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, tel: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, atmos: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, p_centroiders: List[shesha.config.PCENTROIDER.Param_centroider], do_refslp=False, dataBase={}, use_DB=False)¶ - Initialize the controller part of rtc
Parameters: context: (carmaWrap_context): context i : (int) : controller index p_controller: (Param_controller) : controller settings p_wfss: (list of Param_wfs) : wfs settings p_geom: (Param_geom) : geom settings p_dms: (list of Param_dms) : dms settings p_atmos: (Param_atmos) : atmos settings ittime: (float) : iteration time [s] p_tel: (Param_tel) : telescope settings rtc: (Rtc) : Rtc objet dms: (Dms) : Dms object wfs: (Sensors) : Sensors object tel: (Telescope) : Telescope object atmos: (Atmos) : Atmos object p_centroiders: (list of Param_centroider): centroiders settings
-
shesha.init.rtc_init.init_controller_cured(i: int, rtc: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, p_controller: shesha.config.PCONTROLLER.Param_controller, p_dms: list, p_wfss: list)¶ - Initialize the CURED controller
Parameters: i : (int) : controller index rtc: (Rtc) : Rtc objet p_controller: (Param_controller) : controller settings p_dms: (list of Param_dms) : dms settings p_wfss: (list of Param_wfs) : wfs settings
-
shesha.init.rtc_init.init_controller_generic(i: int, p_controller: shesha.config.PCONTROLLER.Param_controller, p_dms: list, rtc: shesha.sutra_wrap.smart_import.<locals>.tmp_cls)¶ - Initialize the generic controller
Parameters: i: (int): controller index p_controller: (Param_controller): controller settings p_dms: (list of Param_dm): dms settings rtc: (Rtc): Rtc object
-
shesha.init.rtc_init.init_controller_geo(i: int, rtc: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, dms: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, p_geom: shesha.config.PGEOM.Param_geom, p_controller: shesha.config.PCONTROLLER.Param_controller, p_dms: list, roket=False)¶ - Initialize geometric controller
Parameters: i: (int): controller index rtc: (Rtc): rtc object dms: (Dms): Dms object p_geom: (Param_geom): geometry settings p_controller: (Param_controller): controller settings p_dms: (list of Param_dms): dms settings roket: (bool): Flag to initialize ROKET
-
shesha.init.rtc_init.init_controller_ls(i: int, p_controller: shesha.config.PCONTROLLER.Param_controller, p_wfss: list, p_geom: shesha.config.PGEOM.Param_geom, p_dms: list, p_atmos: shesha.config.PATMOS.Param_atmos, ittime: float, p_tel: shesha.config.PTEL.Param_tel, rtc: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, dms: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, wfs: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, tel: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, atmos: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, dataBase: dict = {}, use_DB: bool = False)¶ - Initialize the least square controller
Parameters: i : (int) : controller index p_controller: (Param_controller) : controller settings p_wfss: (list of Param_wfs) : wfs settings p_geom: (Param_geom) : geom settings p_dms: (list of Param_dms) : dms settings p_atmos: (Param_atmos) : atmos settings ittime: (float) : iteration time [s] p_tel: (Param_tel) : telescope settings rtc: (Rtc) : Rtc objet dms: (Dms) : Dms object wfs: (Sensors) : Sensors object tel: (Telescope) : Telescope object atmos: (Atmos) : Atmos object
-
shesha.init.rtc_init.init_controller_mv(i: int, p_controller: shesha.config.PCONTROLLER.Param_controller, p_wfss: list, p_geom: shesha.config.PGEOM.Param_geom, p_dms: list, p_atmos: shesha.config.PATMOS.Param_atmos, p_tel: shesha.config.PTEL.Param_tel, rtc: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, dms: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, wfs: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, atmos: shesha.sutra_wrap.smart_import.<locals>.tmp_cls)¶ - Initialize the MV controller
Parameters: i : (int) : controller index p_controller: (Param_controller) : controller settings p_wfss: (list of Param_wfs) : wfs settings p_geom: (Param_geom) : geom settings p_dms: (list of Param_dms) : dms settings p_atmos: (Param_atmos) : atmos settings p_tel: (Param_tel) : telescope settings rtc: (Rtc) : Rtc objet dms: (Dms) : Dms object wfs: (Sensors) : Sensors object atmos: (Atmos) : Atmos object
-
shesha.init.rtc_init.rtc_init(context: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, tel: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, wfs: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, dms: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, atmos: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, p_wfss: list, p_tel: shesha.config.PTEL.Param_tel, p_geom: shesha.config.PGEOM.Param_geom, p_atmos: shesha.config.PATMOS.Param_atmos, ittime: float, p_centroiders=None, p_controllers=None, p_dms=None, do_refslp=False, brahma=False, tar=None, dataBase={}, use_DB=False)¶ Initialize all the sutra_rtc objects : centroiders and controllers
Parameters: context: (carmaWrap_context): context tel: (Telescope) : Telescope object wfs: (Sensors) : Sensors object dms: (Dms) : Dms object atmos: (Atmos) : Atmos object p_wfss: (list of Param_wfs) : wfs settings p_tel: (Param_tel) : telescope settings p_geom: (Param_geom) : geom settings p_atmos: (Param_atmos) : atmos settings ittime: (float) : iteration time [s] p_centroiders : (list of Param_centroider): (optional) centroiders settings p_controllers : (list of Param_controller): (optional) controllers settings p_dms: (list of Param_dms) : (optional) dms settings do_refslp : (bool): (optional) do ref slopes flag, default=False brahma: (bool) : (optional) BRAHMA flag tar: (Target) : (optional) dataBase: (dict): (optional) dict containig paths to files to load use_DB: (bool): use dataBase flag Returns: Rtc : (Rtc) : Rtc object
-
shesha.init.rtc_init.rtc_standalone(context: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, nwfs: int, nvalid: int, nactu: int, centroider_type: str, delay: float, offset: float, scale: float, brahma: bool = False, fp16: bool = False, cacao: bool = False) → shesha.sutra_wrap.smart_import.<locals>.tmp_cls¶ TODO docstring
Initialization of a Target object
-
shesha.init.target_init.target_init(ctxt: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, telescope: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, p_targets: list, p_atmos: shesha.config.PATMOS.Param_atmos, p_tel: shesha.config.PTEL.Param_tel, p_geom: shesha.config.PGEOM.Param_geom, dm=None, brahma=False)¶ Create a cython target from parametres structures
Parameters: ctxt: (carmaWrap_context) : telescope: (Telescope): Telescope object p_targets: (lis of Param_target) : target_settings p_atmos: (Param_atmos) : atmos settings p_tel: (Param_tel) : telescope settings p_geom: (Param_geom) : geom settings dm: (Param_dm) : (optional) dm settings brahma: (bool): (optional) BRAHMA flag Returns: tar: (Target): Target object
Initialization of a Sensors object
-
shesha.init.wfs_init.wfs_init(context: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, telescope: shesha.sutra_wrap.smart_import.<locals>.tmp_cls, p_wfss: list, p_tel: shesha.config.PTEL.Param_tel, p_geom: shesha.config.PGEOM.Param_geom, p_dms=None, p_atmos=None)¶ Create and initialise a Sensors object
Parameters: context : (carmaWrap_context) telescope: (Telescope) : Telescope object p_wfss: (list of Param_wfs) : wfs settings p_tel: (Param_tel) : telescope settings p_geom: (Param_geom) : geom settings p_dms : (list of Param_dm) : (optional) dms settings p_atmos: (Param_atmos) : (optional) atmos settings Returns: g_wfs: (Sensors): Sensors object