COMPASS  5.0.0
End-to-end AO simulation tool using GPU acceleration
PWFS.py
1 
37 
38 import numpy as np
39 from . import config_setter_utils as csu
40 import shesha.constants as scons
41 
42 
45 
46 
47 class Param_wfs:
48 
49  def __init__(self, roket=False):
50  self.__type = None
51  """ type of wfs : "sh" or "pyr"."""
52  self.__nxsub = 0
53  """ linear number of subaps."""
54  self.__npix = 0
55  """ number of pixels per subap."""
56  self.__pixsize = 0
57  """ pixel size (in arcsec) for a subap."""
58  self.__Lambda = 0
59  """ observation wavelength (in um) for a subap."""
60  self.__optthroughput = 0
61  """ wfs global throughput."""
62  self.__fracsub = 0
63  """ minimal illumination fraction for valid subaps."""
64  self.__open_loop = False
65  """ 1 if in "open-loop" mode (i.e. does not see dm)."""
66  self.__fssize = 0
67  """ size of field stop in arcsec."""
68  self.__fstop = None
69  """ Fields of the wfs diaphragm shape : "square" or "none" """
70 
71  self.__atmos_seen = 0
72  """ 1 if the WFS sees the atmosphere layers"""
73  self.__dms_seen = None
74  """ index of dms seen by the WFS"""
75  self.__roket = roket
76  """ If True, enable error budget analysis for the simulation"""
77  self.__is_low_order = False
78  """If True, WFS is considered as a low order one and so will not profit from array mutualisation"""
79  # target kwrd
80  self.__xpos = 0
81  """ guide star x position on sky (in arcsec)."""
82  self.__ypos = 0
83  """ guide star x position on sky (in arcsec)."""
84  self.__gsalt = 0
85  """ altitude of guide star (in m) 0 if ngs."""
86  self.__gsmag = 0
87  """ magnitude of guide star."""
88  self.__zerop = 0
89  """ detector zero point expressed in ph/m**2/s in the bandwidth of the WFS"""
90  self.__noise = 0
91  """ desired noise : < 0 = no noise / 0 = photon only / > 0 photon + ron."""
92 
93  self.__kernel = 0 #
94  self.__ftkernel = None # (float*)
95 
96  # lgs only
97  self.__lgsreturnperwatt = 0
98  """ return per watt factor (high season : 10 ph/cm2/s/W)."""
99  self.__laserpower = 0
100  """ laser power in W."""
101  self.__lltx = 0
102  """ x position (in meters) of llt."""
103  self.__llty = 0
104  """ y position (in meters) of llt."""
105  self.__proftype = None
106  """ type of sodium profile "gauss", "exp", etc ..."""
107  self.__beamsize = None
108  """ laser beam fwhm on-sky (in arcsec)."""
109 
110  # misalignment
111 
112  self.__G = 1.0
113  """ Magnifying factor"""
114  self.__thetaML = 0.0
115  """ WFS rotation angle in the pupil"""
116  self.__dx = 0.0
117  """ X axis misalignment in pixels"""
118  self.__dy = 0.0
119  """ Y axis misalignment in pixels"""
120 
121  # Fakecam mode (uint16)
122  self.__fakecam = False
123  """ uint16 computation flag for WFS image """
124  self.__maxFluxPerPix = 0
125  """ Maximum number of photons allowed before pixel computation (only used if fakecam is True) """
126  self.__maxPixValue = 0
127  """ Maximum number of ADU photons allowed in the uint16 image (only used if fakecam is True) """
128  # internal kwrd
129  self.__pdiam = 0
130  """ pupil diam for a subap (in pixel)"""
131  self.__Nfft = 0
132  """ array size for fft for a subap (in pixel)"""
133  self.__Ntot = 0
134  """ total size of hr image for a subap (in pixel)"""
135  self.__nrebin = 0
136  """ rebin factor from hr to binned image for a subap"""
137  self.__nvalid = 0
138  """ number of valid subaps"""
139 
140  self.__nphotons = 0
141  """ number of photons per subap"""
142  self.__nphotons4imat = 1.e5
143  """ number of photons per subap used for doing imat"""
144  self.__subapd = 0
145  """ subap diameter (m)"""
146  self.__fluxPerSub = None
147  """ fraction of nphotons per subap"""
148  self.__qpixsize = 0
149  """ quantum pixel size for the simulation"""
150 
151  self.__validpuppixx = None
152  """ (int*) x start indexes for cutting phase screens"""
153  self.__validpuppixy = None
154  """ (int*) y start indexes for cutting phase screens"""
155  # cdef np.ndarray _validsubs # (i,j) indices of valid subaps
156  self.__validsubsx = None
157  """ (int*) X-indices of bottom left pixel of each valid subaps [pixels]"""
158  self.__validsubsy = None
159  """ (int*) Y-indices of bottom left pixel of each valid subaps [pixels]"""
160  self.__isvalid = None
161  """ (int*) array of 0/1 for valid subaps"""
162  self.__phasemap = None
163  """ (int*) array of pixels transform from phase screen into subaps phase screens"""
164  self.__hrmap = None
165  """ (int*) array of pixels transform from minimal FoV image to (in case type is sh or geo)"""
166  self.__sincar = None
167  """ (float*) array of pixels transform from minimal FoV image to (in case type is "pyr" or "roof")"""
168  # full FoV image (array of 0 if the same)
169  self.__binmap = None
170  """ (int*) array of pixels transform from full FoV hr images to binned images"""
171  self.__halfxy = None
172  """ (float*) phase offset for 1/2 pixel shift in (x,y)"""
173 
174  self.__submask = None
175  """ (float*) fieldstop for each subap"""
176 
177  self.__lgskern = None
178  """ lgs kernels for each subap"""
179  self.__profna = None
180  """ sodium profile"""
181  self.__altna = None
182  """ corresponding altitude"""
183  self.__prof1d = None
184  """ hr profile"""
185  self.__profcum = None
186  """ hr profile cumulated"""
187  self.__beam = None
188  """ 1d beam function"""
189  self.__ftbeam = None
190  """ 1d beam function fft"""
191  self.__azimuth = None
192  """ angles of rotation for each spot"""
193 
194  # pyramid-nly kwrds
195  self.__pyr_ampl = 0
196  """ pyramid wfs modulation amplitude radius [arcsec]."""
197  self.__pyr_npts = 0
198  """ total number of point along modulation circle [unitless]."""
199  self.__pyr_pos = None
200  """ positions for modulation, overwrites ampl and npts [arcsec]"""
201  self.__pyr_loc = None
202  """ Location of modulation, before/after the field stop.
203  valid value are "before" or "after" (default "after")."""
204  self.__pyrtype = None
205  """ Type of pyramid, either 0 for "Pyramid" or 1 for "RoofPrism"."""
206  self.__pyr_pup_sep = -1
207  """ Number of Pyramid facets """
208  self.__nPupils = 0
209  """ Pyramid pupil separation. (default: long(wfs.nxsub))"""
210  self.__pyr_misalignments = None
211  """ Pyramid quadrant misalignments: by how much pupil subimages
212  are off from their expected positions (in rebinned pixels)"""
213  self.__pyr_compute_focalplane = False
214  """ Compute the pyramid focalplane image """
215 
216  # pyramid internal kwrds
217  self._pyr_offsets = None # (float*)
218  self.__pyr_cx = None # (float*)
219  self.__pyr_cy = None # (float*)
220  self.__pyr_weights = None
221  """ Modulation points ponderation weights"""
222  self.__pyr_scale_pos = None # (float) : scale to apply on cx, cy
223 
224  def get_type(self):
225  """ Get the type of wfs
226 
227  :return: (str) : type of wfs ("sh" or "pyr")
228  """
229  return self.__type
230 
231  def set_type(self, typewfs):
232  """ Set the type of wfs
233 
234  :param t: (str) : type of wfs ("sh" or "pyr")
235  """
236  self.__type = typewfs #scons.check_enum(scons.WFSType, type)0
237 
238  type = property(get_type, set_type)
239 
240  def get_nxsub(self):
241  """ Get the linear number of subaps
242 
243  :return: (long) : linear number of subaps
244  """
245  return self.__nxsub
246 
247  def set_nxsub(self, n):
248  """ Set the linear number of subaps
249 
250  :param n: (long) : linear number of subaps
251  """
252  self.__nxsub = csu.enforce_int(n)
253 
254  nxsub = property(get_nxsub, set_nxsub)
255 
256  def get_nPupils(self):
257  """ Get the number of pupil images
258 
259  :return: (long) : number of pupil images
260  """
261  return self.__nPupils
262 
263  def set_nPupils(self, n):
264  """ Set the number of pupil images
265 
266  :param n: (long) : number of pupil images
267  """
268  self.__nPupils = csu.enforce_int(n)
269 
270  nPupils = property(get_nPupils, set_nPupils)
271 
272  def get_npix(self):
273  """ Get the number of pixels per subap
274 
275  :return: (long) : number of pixels per subap
276  """
277  return self.__npix
278 
279  def set_npix(self, n):
280  """ Set the number of pixels per subap
281 
282  :param n: (long) : number of pixels per subap
283  """
284  self.__npix = csu.enforce_int(n)
285 
286  npix = property(get_npix, set_npix)
287 
288  def get_pixsize(self):
289  """ Get the pixel size
290 
291  :return: (float) : pixel size (in arcsec) for a subap
292  """
293  return self.__pixsize
294 
295  def set_pixsize(self, p):
296  """ Set the pixel size
297 
298  :param p: (float) : pixel size (in arcsec) for a subap
299  """
300  self.__pixsize = csu.enforce_float(p)
301 
302  pixsize = property(get_pixsize, set_pixsize)
303 
304  def get_pyr_scale_pos(self):
305  """ Get the pixel size
306 
307  :return: (float) : pixel size (in arcsec) for a subap
308  """
309  return self.__pyr_scale_pos
310 
311  def set_pyr_scale_pos(self, p):
312  """ Set the pixel size
313 
314  :param p: (float) : pixel size (in arcsec) for a subap
315  """
316  self.__pyr_scale_pos = csu.enforce_float(p)
317 
318  _pyr_scale_pos = property(get_pyr_scale_pos, set_pyr_scale_pos)
319 
320  def get_Lambda(self):
321  """ Get the observation wavelength
322 
323  :return: (float) : observation wavelength (in um) for a subap
324  """
325  return self.__Lambda
326 
327  def set_Lambda(self, L):
328  """ Set the observation wavelength
329 
330  :param L: (float) : observation wavelength (in um) for a subap
331  """
332  self.__Lambda = L
333 
334  Lambda = property(get_Lambda, set_Lambda)
335 
336  def get_optthroughput(self):
337  """ Get the wfs global throughput
338 
339  :return: (float) : wfs global throughput
340  """
341  return self.__optthroughput
342 
343  def set_optthroughput(self, o):
344  """ Set the wfs global throughput
345 
346  :param o: (float) : wfs global throughput
347  """
348  self.__optthroughput = csu.enforce_float(o)
349 
350  optthroughput = property(get_optthroughput, set_optthroughput)
351 
352  def get_fracsub(self):
353  """ Get the minimal illumination fraction for valid subaps
354 
355  :return: (float) : minimal illumination fraction for valid subaps
356  """
357  return self.__fracsub
358 
359  def set_fracsub(self, f):
360  """ Set the minimal illumination fraction for valid subaps
361 
362  :param f: (float) : minimal illumination fraction for valid subaps
363  """
364  self.__fracsub = csu.enforce_float(f)
365 
366  fracsub = property(get_fracsub, set_fracsub)
367 
368  def get_open_loop(self):
369  """ Get the loop state (open or closed)
370 
371  :return: (long) : 1 if in "open-loop" mode (i.e. does not see dm)
372  """
373  return self.__open_loop
374 
375  def set_open_loop(self, o):
376  """ Set the loop state (open or closed)
377 
378  :param o: (long) : 1 if in "open-loop" mode (i.e. does not see dm)
379  """
380  self.__open_loop = csu.enforce_or_cast_bool(o)
381 
382  open_loop = property(get_open_loop, set_open_loop)
383 
384  def get_fssize(self):
385  """ Get the size of field stop
386 
387  :return: (float) : size of field stop in arcsec
388  """
389  return self.__fssize
390 
391  def set_fssize(self, f):
392  """ Set the size of field stop
393 
394  :param f: (float) : size of field stop in arcsec
395  """
396  self.__fssize = csu.enforce_float(f)
397 
398  fssize = property(get_fssize, set_fssize)
399 
400  def get_fstop(self):
401  """ Get the size of field stop
402 
403  :return: (str) : size of field stop in arcsec
404  """
405  return self.__fstop
406 
407  def set_fstop(self, f):
408  """ Set the size of field stop
409 
410  :param f: (str) : size of field stop in arcsec
411  """
412  self.__fstop = scons.check_enum(scons.FieldStopType, f)
413 
414  fstop = property(get_fstop, set_fstop)
415 
416  def get_atmos_seen(self):
417  """ Gells if the wfs sees the atmosphere layers
418 
419  :return: (bool) :True if the WFS sees the atmosphere layers
420  """
421  return self.__atmos_seen
422 
423  def set_atmos_seen(self, i):
424  """ Tells if the wfs sees the atmosphere layers
425 
426  :param i: (bool) :True if the WFS sees the atmosphere layers
427  """
428  self.__atmos_seen = csu.enforce_or_cast_bool(i)
429 
430  atmos_seen = property(get_atmos_seen, set_atmos_seen)
431 
432  def get_xpos(self):
433  """ Get the guide star x position on sky
434 
435  :return: (float) : guide star x position on sky (in arcsec)
436  """
437  return self.__xpos
438 
439  def set_xpos(self, x):
440  """ Set the guide star x position on sky
441 
442  :param x: (float) : guide star x position on sky (in arcsec)
443  """
444  self.__xpos = csu.enforce_float(x)
445 
446  xpos = property(get_xpos, set_xpos)
447 
448  def get_ypos(self):
449  """ Get the guide star y position on sky
450 
451  :return: (float) : guide star y position on sky (in arcsec)
452  """
453  return self.__ypos
454 
455  def set_ypos(self, y):
456  """ Set the guide star y position on sky
457 
458  :param y: (float) : guide star y position on sky (in arcsec)
459  """
460  self.__ypos = csu.enforce_float(y)
461 
462  ypos = property(get_ypos, set_ypos)
463 
464  def get_G(self):
465  """ Get the magnifying factor
466 
467  :return: (float) : magnifying factor
468  """
469  return self.__G
470 
471  def set_G(self, G):
472  """ Set the magnifying factor
473 
474  :param G: (float) : magnifying factor
475  """
476  self.__G = csu.enforce_float(G)
477 
478  G = property(get_G, set_G)
479 
480  def get_thetaML(self):
481  """ Get the rotation angle in the pupil
482 
483  :return: (float) : rotation angle (rad)
484  """
485  return self.__thetaML
486 
487  def set_thetaML(self, thetaML):
488  """ Set the rotation angle in the pupil
489 
490  :param thetaML: (float) : rotation angle (rad)
491  """
492  self.__thetaML = csu.enforce_float(thetaML)
493 
494  thetaML = property(get_thetaML, set_thetaML)
495 
496  def get_dx(self):
497  """ Get the X axis misalignment
498 
499  :return: (float) : dx (pix)
500  """
501  return self.__dx
502 
503  def set_dx(self, dx):
504  """ Set the X axis misalignment
505 
506  :param dx: (float) : dx (pix)
507  """
508  self.__dx = csu.enforce_float(dx)
509 
510  dx = property(get_dx, set_dx)
511 
512  def get_dy(self):
513  """ Get the Y axis misalignment
514 
515  :return: (float) : dy (pix)
516  """
517  return self.__dy
518 
519  def set_dy(self, dy):
520  """ Set the Y axis misalignment
521 
522  :param dy: (float) : dy (pix)
523  """
524  self.__dy = csu.enforce_float(dy)
525 
526  dy = property(get_dy, set_dy)
527 
528  def get_fakecam(self):
529  """ Get the fakecam flag
530 
531  :return: (bool) : fakecam flag
532  """
533  return self.__fakecam
534 
535  def set_fakecam(self, fakecam):
536  """ Set the fakecam flag
537 
538  :return: (bool) : fakecam flag
539  """
540  self.__fakecam = csu.enforce_or_cast_bool(fakecam)
541 
542  fakecam = property(get_fakecam, set_fakecam)
543 
544  def get_maxFluxPerPix(self):
545  """ Get the max_flux_per_pix
546 
547  :return: (int) : max_flux_per_pix
548  """
549  return self.__maxFluxPerPix
550 
551  def set_max_flux_per_pix(self, max_flux_per_pix):
552  """ Set the max_flux_per_pix
553 
554  :return: (int) : max_flux_per_pix
555  """
556  self.__maxFluxPerPix = csu.enforce_int(max_flux_per_pix)
557 
558  max_flux_per_pix = property(get_maxFluxPerPix, set_max_flux_per_pix)
559 
560  def get_maxPixValue(self):
561  """ Get the max_pix_value
562 
563  :return: (int) : max_pix_value
564  """
565  return self.__maxPixValue
566 
567  def set_max_pix_value(self, max_pix_value):
568  """ Set the max_pix_value
569 
570  :return: (int) : max_pix_value
571  """
572  self.__maxPixValue = csu.enforce_int(max_pix_value)
573 
574  max_pix_value = property(get_maxPixValue, set_max_pix_value)
575 
576  def get_gsalt(self):
577  """ Get the altitude of guide star
578 
579  :return: (float) : altitude of guide star (in m) 0 if ngs
580  """
581  return self.__gsalt
582 
583  def set_gsalt(self, g):
584  """ Set the altitude of guide star
585 
586  :param g: (float) : altitude of guide star (in m) 0 if ngs
587  """
588  self.__gsalt = csu.enforce_float(g)
589 
590  gsalt = property(get_gsalt, set_gsalt)
591 
592  def get_gsmag(self):
593  """ Get the magnitude of guide star
594 
595  :return: (float) : magnitude of guide star
596  """
597  return self.__gsmag
598 
599  def set_gsmag(self, g):
600  """ Set the magnitude of guide star
601 
602  :param g: (float) : magnitude of guide star
603  """
604  self.__gsmag = csu.enforce_float(g)
605 
606  gsmag = property(get_gsmag, set_gsmag)
607 
608  def get_zerop(self):
609  """ Get the detector zero point
610 
611  :return: (float) : detector zero point
612  """
613  return self.__zerop
614 
615  def set_zerop(self, z):
616  """ Set the detector zero point
617 
618  :param z: (float) : detector zero point
619  """
620  self.__zerop = csu.enforce_float(z)
621 
622  zerop = property(get_zerop, set_zerop)
623 
624  def get_noise(self):
625  """ Get the desired noise
626 
627  :return: (float) : desired noise : < 0 = no noise / 0 = photon only / > 0 photon + ron
628  """
629  return self.__noise
630 
631  def set_noise(self, n):
632  """ Set the desired noise
633 
634  :param n: (float) : desired noise : < 0 = no noise / 0 = photon only / > 0 photon + ron
635  """
636  self.__noise = csu.enforce_float(n)
637 
638  noise = property(get_noise, set_noise)
639 
640  def get_nphotons4imat(self):
641  """ Get the desired numner of photons used for doing imat
642 
643  :return: (float) : desired number of photons
644  """
645  return self.__nphotons4imat
646 
647  def set_nphotons4imat(self, nphot):
648  """ Set the desired numner of photons used for doing imat
649 
650  :param nphot: (float) : desired number of photons
651  """
652  self.__nphotons4imat = csu.enforce_float(nphot)
653 
654  nphotons4imat = property(get_nphotons4imat, set_nphotons4imat)
655 
656  def get_kernel(self):
657  """ Get the attribute kernel
658 
659  :return: (float) :
660  """
661  return self.__kernel
662 
663  def set_kernel(self, k):
664  """ Set the attribute kernel
665 
666  :param k: (float) :
667  """
668  self.__kernel = csu.enforce_float(k)
669 
670  kernel = property(get_kernel, set_kernel)
671 
672  def get_laserpower(self):
673  """ Get the laser power
674 
675  :return: (float) : laser power in W
676  """
677  return self.__laserpower
678 
679  def set_laserpower(self, l):
680  """ Set the laser power
681 
682  :param l: (float) : laser power in W
683  """
684  self.__laserpower = csu.enforce_float(l)
685 
686  laserpower = property(get_laserpower, set_laserpower)
687 
688  def get_lltx(self):
689  """ Get the x position of llt
690 
691  :return: (float) : x position (in meters) of llt
692  """
693  return self.__lltx
694 
695  def set_lltx(self, l):
696  """ Set the x position of llt
697 
698  :param l: (float) : x position (in meters) of llt
699  """
700  self.__lltx = csu.enforce_float(l)
701 
702  lltx = property(get_lltx, set_lltx)
703 
704  def get_llty(self):
705  """ Get the y position of llt
706 
707  :return: (float) : y position (in meters) of llt
708  """
709  return self.__llty
710 
711  def set_llty(self, l):
712  """ Set the y position of llt
713 
714  :param l: (float) : y position (in meters) of llt
715  """
716  self.__llty = csu.enforce_float(l)
717 
718  llty = property(get_llty, set_llty)
719 
720  def get_proftype(self):
721  """ Get the type of sodium profile
722 
723  :return: (str) : type of sodium profile "gauss", "exp", etc ...
724  """
725  return self.__proftype
726 
727  def set_proftype(self, p):
728  """ Set the type of sodium profile
729 
730  :param p: (str) : type of sodium profile "gauss", "exp", etc ...
731  """
732  self.__proftype = scons.check_enum(scons.ProfType, p)
733 
734  proftype = property(get_proftype, set_proftype)
735 
736  def get_beamsize(self):
737  """ Get the laser beam fwhm on-sky
738 
739  :return: (float) : laser beam fwhm on-sky (in arcsec)
740  """
741  return self.__beamsize
742 
743  def set_beamsize(self, b):
744  """ Set the laser beam fwhm on-sky
745 
746  :param b: (float) : laser beam fwhm on-sky (in arcsec)
747  """
748  self.__beamsize = csu.enforce_float(b)
749 
750  beamsize = property(get_beamsize, set_beamsize)
751 
752  def get_pyr_ampl(self):
753  """ Get the pyramid wfs modulation amplitude radius
754 
755  :return: (float) : pyramid wfs modulation amplitude radius (in arsec)
756  """
757  return self.__pyr_ampl
758 
759  def set_pyr_ampl(self, p):
760  """ Set the pyramid wfs modulation amplitude radius
761 
762  :param p: (float) : pyramid wfs modulation amplitude radius (in arsec)
763  """
764  self.__pyr_ampl = csu.enforce_float(p)
765 
766  pyr_ampl = property(get_pyr_ampl, set_pyr_ampl)
767 
768  def get_pyr_npts(self):
769  """ Get the total number of point along modulation circle
770 
771  :return: (long) : total number of point along modulation circle
772  """
773  return self.__pyr_npts
774 
775  def set_pyr_npts(self, p):
776  """ Set the total number of point along modulation circle
777 
778  :param p: (long) : total number of point along modulation circle
779  """
780  self.__pyr_npts = csu.enforce_int(p)
781 
782  pyr_npts = property(get_pyr_npts, set_pyr_npts)
783 
784  def get_pyr_loc(self):
785  """ Get the location of modulation
786 
787  :return: (str) : location of modulation, before/after the field stop.
788  valid value are "before" or "after" (default "after")
789  """
790  return self.__pyr_loc
791 
792  def set_pyr_loc(self, p):
793  """ Set the location of modulation
794 
795  :param p: (str) : location of modulation, before/after the field stop.
796  valid value are "before" or "after" (default "after")
797  """
798  self.__pyr_loc = bytes(p.encode('UTF-8'))
799 
800  pyr_loc = property(get_pyr_loc, set_pyr_loc)
801 
802  def get_pyrtype(self):
803  """ Get the type of pyramid,
804 
805  :return: (str) : type of pyramid, either 0 for "Pyramid" or 1 for "RoofPrism"
806  """
807  return self.__pyrtype
808 
809  def set_pyrtype(self, p):
810  """ Set the type of pyramid,
811 
812  :param p: (str) : type of pyramid, either 0 for "Pyramid" or 1 for "RoofPrism"
813  """
814  self.__pyrtype = bytes(p.encode('UTF-8'))
815 
816  pyrtype = property(get_pyrtype, set_pyrtype)
817 
818  def get_pyr_cx(self):
819  """ Get the x position of modulation points for pyramid sensor
820 
821  :return: (np.ndarray[ndim=1,dtype=np.floatt32_t) : x positions
822  """
823  return self.__pyr_cx
824 
825  def set_pyr_cx(self, cx):
826  """ Set the x position of modulation points for pyramid sensor
827 
828  :param cx: (np.ndarray[ndim=1,dtype=np.floatt32_t) : x positions
829  """
830  self.__pyr_cx = csu.enforce_array(cx.copy(), self.__pyr_npts, dtype=np.float32)
831 
832  _pyr_cx = property(get_pyr_cx, set_pyr_cx)
833 
834  def get_pyr_cy(self):
835  """ Get the y position of modulation points for pyramid sensor
836 
837  :return: (np.ndarray[ndim=1,dtype=np.floatt32_t) : y positions
838  """
839  return self.__pyr_cy
840 
841  def set_pyr_cy(self, cy):
842  """ Set the y position of modulation points for pyramid sensor
843 
844  :param cy: (np.ndarray[ndim=1,dtype=np.floatt32_t) : y positions
845  """
846  self.__pyr_cy = csu.enforce_array(cy.copy(), self.__pyr_npts, dtype=np.float32)
847 
848  _pyr_cy = property(get_pyr_cy, set_pyr_cy)
849 
850  def get_dms_seen(self):
851  """ Get the index of dms seen by the WFS
852 
853  :return: (np.ndarray[ndim=1,dtype=np.int32_t) : index of dms seen by the WFS
854  """
855  return self.__dms_seen
856 
857  def set_dms_seen(self, dms_seen):
858  """ Set the index of dms seen by the WFS
859 
860  :param dms_seen: (np.ndarray[ndim=1,dtype=np.int32_t) : index of dms seen by the WFS
861  """
862  self.__dms_seen = csu.enforce_array(dms_seen.copy(), dms_seen.size,
863  dtype=np.int32)
864 
865  dms_seen = property(get_dms_seen, set_dms_seen)
866 
867  def get_lgsreturnperwatt(self):
868  """ Get the return per watt factor
869 
870  :return: (float) : return per watt factor (high season : 10 ph/cm2/s/W)
871  """
872  return self.__lgsreturnperwatt
873 
874  def set_lgsreturnperwatt(self, lpw):
875  """ Set the return per watt factor
876 
877  :param lpw: (float) : return per watt factor (high season : 10 ph/cm2/s/W)
878  """
879  self.__lgsreturnperwatt = csu.enforce_float(lpw)
880 
881  lgsreturnperwatt = property(get_lgsreturnperwatt, set_lgsreturnperwatt)
882 
883  def get_altna(self):
884  """ Get the corresponding altitude
885 
886  :return: (np.ndarray[ndim=1,dtype=np.float32]) : corresponding altitude
887  """
888  return self.__altna
889 
890  def set_altna(self, a):
891  """ Set the corresponding altitude
892 
893  :param a: (np.ndarray[ndim=1,dtype=np.float32]) : corresponding altitude
894  """
895  self.__altna = csu.enforce_array(a.copy(), a.size, dtype=np.float32)
896 
897  _altna = property(get_altna, set_altna)
898 
899  def get_profna(self):
900  """ Get the sodium profile
901 
902  :return: (np.ndarray[ndim=1,dtype=np.float32]) : sodium profile
903  """
904  return self.__profna
905 
906  def set_profna(self, p):
907  """ Set the sodium profile
908 
909  :param p: (np.ndarray[ndim=1,dtype=np.float32]) : sodium profile
910  """
911  self.__profna = csu.enforce_array(p.copy(), p.size, dtype=np.float32)
912 
913  _profna = property(get_profna, set_profna)
914 
915  def get_roket(self):
916  """ Get the error budget flag : if True, enable error budget analysis
917  for this simulation
918 
919  :return: (bool) : error budget flag
920  """
921  return self.__roket
922 
923  def set_roket(self, roket):
924  """ Set the error budget flag : if True, enable error budget analysis
925  for this simulation
926 
927  :param roket: (bool) : error budget flag
928  """
929  self.__roket = csu.enforce_or_cast_bool(roket)
930 
931  roket = property(get_roket, set_roket)
932 
933  def get_is_low_order(self):
934  """ Get the low order flag : if True, WFS arrays will not be mutualised
935 
936  :return: (bool) : low order flag
937  """
938  return self.__is_low_order
939 
940  def set_is_low_order(self, is_low_order):
941  """ Set the low order flag : if True, WFS arrays will not be mutualised
942 
943  :param is_low_order: (bool) : low order flag
944  """
945  self.__is_low_order = csu.enforce_or_cast_bool(is_low_order)
946 
947  is_low_order = property(get_is_low_order, set_is_low_order)
948 
949  def get_pyr_pup_sep(self):
950  """ Get the pyramid pupil separation. (default: long(wfs.nxsub))
951 
952  :return: (long) : pyramid pupil separation wanted
953  """
954  return self.__pyr_pup_sep
955 
956  def set_pyr_pup_sep(self, pyr_pup_sep):
957  """ Set the pyramid pupil separation. (default: long(wfs.nxsub))
958 
959  :param pyr_pup_sep: (long) : pyramid pupil separation wanted
960  """
961  self.__pyr_pup_sep = csu.enforce_int(pyr_pup_sep)
962 
963  pyr_pup_sep = property(get_pyr_pup_sep, set_pyr_pup_sep)
964 
965  def get_pyr_misalignments(self) -> None:
966 
967  return self.__pyr_misalignments
968 
969  def set_pyr_misalignments(self, misalignments: np.ndarray) -> None:
970 
971  self.__pyr_misalignments = csu.enforce_arrayMultiDim(misalignments.copy(),
972  (self.nPupils, 2),
973  dtype=np.float32)
974 
975  pyr_misalignments = property(get_pyr_misalignments, set_pyr_misalignments)
976 
977  def get_pyr_compute_focalplane(self):
978  """ Get the status of the pyramid wfs focal plane computation
979  """
981 
982  def set_pyr_compute_focalplane(self, compute_focalplane):
983  """ Set the status of the pyramid wfs focal plane computation
984  """
985  self.__pyr_compute_focalplane = compute_focalplane
986 
987  pyr_compute_focalplane = property(get_pyr_compute_focalplane,
988  set_pyr_compute_focalplane)
989 
990  def get_nvalid(self):
991  """ Get the number of valid subapertures
992 
993  :return: (long) : number of valid subapertures
994  """
995  return self.__nvalid
996 
997  def set_nvalid(self, n):
998  """ Set the number of valid subapertures
999 
1000  :param n: (long) : number of valid subapertures
1001  """
1002  self.__nvalid = csu.enforce_int(n)
1003 
1004  _nvalid = property(get_nvalid, set_nvalid)
1005 
1006  def get_validsubsx(self):
1007  """ Get the valid subapertures along X-axis
1008 
1009  :return: (np.array(dim=1, dtype=np.int32)) : validsubsx
1010  """
1011  return self.__validsubsx
1012 
1013  def set_validsubsx(self, vx):
1014  """ Set the valid subapertures along X-axis
1015 
1016  :param vx: (np.array(dim=1, dtype=np.int32)) : validsubsx
1017  """
1018  if self.__type == scons.WFSType.PYRHR or self.__type == scons.WFSType.PYRLR:
1019  self.__validsubsx = csu.enforce_array(vx, vx.size, dtype=np.int32)
1020  else:
1021  self.__validsubsx = csu.enforce_array(vx, self.__nvalid, dtype=np.int32)
1022 
1023  _validsubsx = property(get_validsubsx, set_validsubsx)
1024 
1025  def get_validsubsy(self):
1026  """ Get the valid subapertures along Y-axis
1027 
1028  :return: (np.array(dim=1, dtype=np.int32)) : validsubsy
1029  """
1030  return self.__validsubsy
1031 
1032  def set_validsubsy(self, vy):
1033  """ Set the valid subapertures along Y-axis
1034 
1035  :param vy: (np.array(dim=1, dtype=np.int32)) : validsubsy
1036  """
1037  if self.__type == scons.WFSType.PYRHR or self.__type == scons.WFSType.PYRLR:
1038  self.__validsubsy = csu.enforce_array(vy, vy.size, dtype=np.int32)
1039  else:
1040  self.__validsubsy = csu.enforce_array(vy, self.__nvalid, dtype=np.int32)
1041 
1042  _validsubsy = property(get_validsubsy, set_validsubsy)
1043 
1044  def get_validsub(self):
1045  """ Return both validsubsx and validsubsy
1046 
1047  :return: (tuple) : (self._validsubsx, self._validsubsy)
1048  """
1049  return np.stack([self._validsubsx, self._validsubsy])
1051  def get_Nfft(self):
1052  """ Get the size of FFT support for a subap
1053 
1054  :return: (long) : size of FFT support
1055  """
1056  return self.__Nfft
1058  def set_Nfft(self, n):
1059  """ Set the size of FFT support for a subap
1060 
1061  :param n: (long) : size of FFT support
1062  """
1063  self.__Nfft = csu.enforce_int(n)
1064 
1065  _Nfft = property(get_Nfft, set_Nfft)
1066 
1067  def get_Ntot(self):
1068  """ Get the size of hr image for a subap
1069 
1070  :return: (long) : size of hr image for a subap
1071  """
1072  return self.__Ntot
1073 
1074  def set_Ntot(self, n):
1075  """ Set the size of hr image for a subap
1076 
1077  :param n: (long) : size of hr image for a subap
1078  """
1079  self.__Ntot = csu.enforce_int(n)
1080 
1081  _Ntot = property(get_Ntot, set_Ntot)
1082 
1083  def get_nrebin(self):
1084  """ Get the rebin factor from hr to binned image for a subap
1085 
1086  :return: (long) : rebin factor
1087  """
1088  return self.__nrebin
1089 
1090  def set_nrebin(self, n):
1091  """ Set the rebin factor from hr to binned image for a subap
1092 
1093  :param n: (long) : rebin factor
1094  """
1095  self.__nrebin = csu.enforce_int(n)
1096 
1097  _nrebin = property(get_nrebin, set_nrebin)
1099  def get_pdiam(self):
1100  """ Get the subap diameter in pixels
1101 
1102  :return: (long) : subap diam in pixels
1103  """
1104  return self.__pdiam
1106  def set_pdiam(self, n):
1107  """ Set the subap diameter in pixels
1108 
1109  :param n: (long) : subap diam in pixels
1110  """
1111  self.__pdiam = csu.enforce_int(n)
1112 
1113  _pdiam = property(get_pdiam, set_pdiam)
1114 
1115  def get_nphotons(self):
1116  """ Get number of photons per subap
1118  :return: (float) : number of photons per subap
1119  """
1120  return self.__nphotons
1121 
1122  def set_nphotons(self, n):
1123  """ Set number of photons per subap
1125  :param n: (float) : number of photons per subap
1126  """
1127  self.__nphotons = csu.enforce_float(n)
1128 
1129  _nphotons = property(get_nphotons, set_nphotons)
1130 
1131  def get_qpixsize(self):
1132  """ Get the quantum pixel size for the simulation
1133 
1134  :return: (float) : quantum pixel size
1135  """
1136  return self.__qpixsize
1137 
1138  def set_qpixsize(self, n):
1139  """ Set the quantum pixel size for the simulation
1140 
1141  :param n: (float) : quantum pixel size
1142  """
1143  self.__qpixsize = csu.enforce_float(n)
1144 
1145  _qpixsize = property(get_qpixsize, set_qpixsize)
1146 
1147  def get_subapd(self):
1148  """ Get the subap diameter (m)
1149 
1150  :return: (float) : subap diameter (m)
1151  """
1152  return self.__subapd
1153 
1154  def set_subapd(self, n):
1155  """ Set the subap diameter (m)
1156 
1157  :param n: (float) : subap diameter (m)
1158  """
1159  self.__subapd = csu.enforce_float(n)
1160 
1161  _subapd = property(get_subapd, set_subapd)
1163  def get_fluxPerSub(self):
1164  """ Get the subap diameter (m)
1165 
1166  :return: (np.array(ndim=2, dtype=np.float32)) : subap diameter (m)
1167  """
1168  return self.__fluxPerSub
1169 
1170  def set_fluxPerSub(self, data):
1171  """ Set the subap diameter (m)
1172 
1173  :param data: (np.array(ndim=2, dtype=np.float32)) : subap diameter (m)
1174  """
1175  if self.__type == scons.WFSType.PYRHR or self.__type == scons.WFSType.PYRLR:
1176  self.__fluxPerSub = csu.enforce_arrayMultiDim(
1177  data.copy(), (self.__nxsub + 2, self.__nxsub + 2), dtype=np.float32)
1178  else:
1179  self.__fluxPerSub = csu.enforce_arrayMultiDim(data.copy(),
1180  (self.__nxsub, self.__nxsub),
1181  dtype=np.float32)
1182 
1183  _fluxPerSub = property(get_fluxPerSub, set_fluxPerSub)
1184 
1185  def get_ftkernel(self):
1186  """ TODO : docstring
1187  """
1188  return self.__ftkernel
1189 
1190  def set_ftkernel(self, data):
1191  """ TODO : docstring
1192  """
1193  self.__ftkernel = csu.enforce_arrayMultiDim(data.copy(), data.shape,
1194  dtype=np.complex64)
1195 
1196  _ftkernel = property(get_ftkernel, set_ftkernel)
1197 
1198  def get_sincar(self):
1199  """ TODO : docstring
1200  """
1201  return self.__sincar
1202 
1203  def set_sincar(self, data):
1204  """ TODO : docstring
1205  """
1206  self.__sincar = csu.enforce_arrayMultiDim(data.copy(), data.shape,
1207  dtype=np.float32)
1208 
1209  _sincar = property(get_sincar, set_sincar)
1210 
1211  def get_halfxy(self):
1212  """ TODO : docstring
1213  """
1214  return self.__halfxy
1215 
1216  def set_halfxy(self, data):
1217  """ TODO : docstring
1218  """
1219  self.__halfxy = csu.enforce_arrayMultiDim(data.copy(), data.shape,
1220  dtype=np.float32)
1221 
1222  _halfxy = property(get_halfxy, set_halfxy)
1223 
1224  def get_submask(self):
1225  """ TODO : docstring
1226  """
1227  return self.__submask
1228 
1229  def set_submask(self, data):
1230  """ TODO : docstring
1231  """
1232  self.__submask = csu.enforce_arrayMultiDim(data.copy(), data.shape,
1233  dtype=np.float32)
1234 
1235  _submask = property(get_submask, set_submask)
1236 
1237  def get_lgskern(self):
1238  """ TODO : docstring
1239  """
1240  return self.__lgskern
1241 
1242  def set_lgskern(self, data):
1243  """ TODO : docstring
1244  """
1245  self.__lgskern = csu.enforce_arrayMultiDim(data.copy(), data.shape,
1246  dtype=np.float32)
1247 
1248  _lgskern = property(get_lgskern, set_lgskern)
1249 
1250  def get_azimuth(self):
1251  """ TODO : docstring
1252  """
1253  return self.__azimuth
1254 
1255  def set_azimuth(self, data):
1256  """ TODO : docstring
1257  """
1258  self.__azimuth = csu.enforce_arrayMultiDim(data.copy(), data.shape,
1259  dtype=np.float32)
1260 
1261  _azimuth = property(get_azimuth, set_azimuth)
1262 
1263  def get_prof1d(self):
1264  """ TODO : docstring
1265  """
1266  return self.__prof1d
1268  def set_prof1d(self, data):
1269  """ TODO : docstring
1270  """
1271  self.__prof1d = csu.enforce_arrayMultiDim(data.copy(), data.shape,
1272  dtype=np.float32)
1273 
1274  _prof1d = property(get_prof1d, set_prof1d)
1275 
1276  def get_profcum(self):
1277  """ TODO : docstring
1278  """
1279  return self.__profcum
1280 
1281  def set_profcum(self, data):
1282  """ TODO : docstring
1283  """
1284  self.__profcum = csu.enforce_array(data.copy(), data.size, dtype=np.float32)
1285 
1286  _profcum = property(get_profcum, set_profcum)
1287 
1288  def get_beam(self):
1289  """ TODO : docstring
1290  """
1291  return self.__beam
1292 
1293  def set_beam(self, data):
1294  """ TODO : docstring
1295  """
1296  self.__beam = csu.enforce_array(data.copy(), data.size, dtype=np.float32)
1297 
1298  _beam = property(get_beam, set_beam)
1300  def get_ftbeam(self):
1301  """ TODO : docstring
1302  """
1303  return self.__ftbeam
1305  def set_ftbeam(self, data):
1306  """ TODO : docstring
1307  """
1308  self.__ftbeam = csu.enforce_array(data.copy(), data.size, dtype=np.complex64)
1309 
1310  _ftbeam = property(get_ftbeam, set_ftbeam)
1311 
1312  def get_hrmap(self):
1313  """ TODO : docstring
1314  """
1315  return self.__hrmap
1316 
1317  def set_hrmap(self, data):
1318  """ TODO : docstring
1319  """
1320  self.__hrmap = csu.enforce_arrayMultiDim(data.copy(), data.shape, dtype=np.int32)
1321 
1322  _hrmap = property(get_hrmap, set_hrmap)
1323 
1324  def get_binmap(self):
1325  """ TODO : docstring
1326  """
1327  return self.__binmap
1328 
1329  def set_binmap(self, data):
1330  """ TODO : docstring
1331  """
1332  self.__binmap = csu.enforce_arrayMultiDim(data.copy(), data.shape,
1333  dtype=np.int32)
1334 
1335  _binmap = property(get_binmap, set_binmap)
1337  def get_phasemap(self):
1338  """ TODO : docstring
1339  """
1340  return self.__phasemap
1341 
1342  def set_phasemap(self, data):
1343  """ TODO : docstring
1344  """
1345  self.__phasemap = csu.enforce_arrayMultiDim(data.copy(), data.shape,
1346  dtype=np.int32)
1348  _phasemap = property(get_phasemap, set_phasemap)
1349 
1350  def get_validpuppixx(self):
1351  """ TODO : docstring
1352  """
1353  return self.__validpuppixx
1354 
1355  def set_validpuppixx(self, data):
1356  """ TODO : docstring
1357  """
1358  self.__validpuppixx = csu.enforce_array(data.copy(), data.size, dtype=np.int32)
1359 
1360  _validpuppixx = property(get_validpuppixx, set_validpuppixx)
1361 
1362  def get_validpuppixy(self):
1363  """ TODO : docstring
1364  """
1365  return self.__validpuppixy
1366 
1367  def set_validpuppixy(self, data):
1368  """ TODO : docstring
1369  """
1370  self.__validpuppixy = csu.enforce_array(data.copy(), data.size, dtype=np.int32)
1371 
1372  _validpuppixy = property(get_validpuppixy, set_validpuppixy)
1373 
1374  def get_isvalid(self):
1375  """ Get the valid subapertures array
1376 
1377  :return: (int*) array of 0/1 for valid subaps
1378  """
1379  return self.__isvalid
1380 
1381  def set_isvalid(self, data):
1382  """ Set the valid subapertures array
1383 
1384  :param data: (int*) array of 0/1 for valid subaps
1385  """
1386  self.__isvalid = csu.enforce_arrayMultiDim(data.copy(), data.shape,
1387  dtype=np.int32)
1388 
1389  _isvalid = property(get_isvalid, set_isvalid)
1390 
1391  def get_pyr_pos(self):
1392  """ TODO : docstring
1393  """
1394  return self.__pyr_pos
1395 
1396  def set_pyr_pos(self, data):
1397  """ TODO : docstring
1398  """
1399  self.__pyr_pos = csu.enforce_arrayMultiDim(data.copy(), data.shape,
1400  dtype=np.float32)
1401 
1402  pyr_pos = property(get_pyr_pos, set_pyr_pos)
1403 
1404  def get_pyr_weights(self):
1405  """ TODO : docstring
1406  """
1407  return self.__pyr_weights
1408 
1409  def set_pyr_weights(self, data):
1410  """ TODO : docstring
1411  """
1412  self.__pyr_weights = csu.enforce_array(data.copy(), data.size, dtype=np.float32)
1413 
1414  _pyr_weights = property(get_pyr_weights, set_pyr_weights)
shesha.config.PWFS.Param_wfs.__open_loop
__open_loop
Definition: PWFS.py:64
shesha.config.PWFS.Param_wfs.set_validpuppixx
def set_validpuppixx(self, data)
TODO docstring.
Definition: PWFS.py:1444
shesha.config.PWFS.Param_wfs.get_atmos_seen
def get_atmos_seen(self)
Gells if the wfs sees the atmosphere layers.
Definition: PWFS.py:423
shesha.config.PWFS.Param_wfs.set_pyr_cx
def set_pyr_cx(self, cx)
Set the x position of modulation points for pyramid sensor.
Definition: PWFS.py:832
shesha.config.PWFS.Param_wfs.nPupils
nPupils
Definition: PWFS.py:270
shesha.config.PWFS.Param_wfs.__Ntot
__Ntot
Definition: PWFS.py:133
shesha.config.PWFS.Param_wfs.set_fssize
def set_fssize(self, f)
Set the size of field stop.
Definition: PWFS.py:398
shesha.config.PWFS.Param_wfs.__halfxy
__halfxy
Definition: PWFS.py:171
shesha.config.PWFS.Param_wfs.set_validsubsy
def set_validsubsy(self, vy)
Set the valid subapertures along Y-axis.
Definition: PWFS.py:1057
shesha.config.PWFS.Param_wfs.__fstop
__fstop
Definition: PWFS.py:68
shesha.config.PWFS.Param_wfs.set_pyr_npts
def set_pyr_npts(self, p)
Set the total number of point along modulation circle.
Definition: PWFS.py:782
shesha.config.PWFS.Param_wfs.__pyr_pup_sep
__pyr_pup_sep
Definition: PWFS.py:206
shesha.config.PWFS.Param_wfs.set_halfxy
def set_halfxy(self, data)
TODO docstring.
Definition: PWFS.py:1272
shesha.config.PWFS.Param_wfs.__dx
__dx
Definition: PWFS.py:116
shesha.config.PWFS.Param_wfs._validsubsy
_validsubsy
Definition: PWFS.py:1066
shesha.config.PWFS.Param_wfs.get_dms_seen
def get_dms_seen(self)
Get the index of dms seen by the WFS.
Definition: PWFS.py:863
shesha.config.PWFS.Param_wfs.get_pyr_scale_pos
def get_pyr_scale_pos(self)
Get the pixel size.
Definition: PWFS.py:308
shesha.config.PWFS.Param_wfs.get_beam
def get_beam(self)
TODO docstring.
Definition: PWFS.py:1362
shesha.config.PWFS.Param_wfs.__isvalid
__isvalid
Definition: PWFS.py:160
shesha.config.PWFS.Param_wfs.set_nvalid
def set_nvalid(self, n)
Set the number of valid subapertures.
Definition: PWFS.py:1016
shesha.config.PWFS.Param_wfs.get_open_loop
def get_open_loop(self)
Get the loop state (open or closed)
Definition: PWFS.py:375
shesha.config.PWFS.Param_wfs.get_azimuth
def get_azimuth(self)
TODO docstring.
Definition: PWFS.py:1315
shesha.config.PWFS.Param_wfs.get_lgskern
def get_lgskern(self)
TODO docstring.
Definition: PWFS.py:1299
shesha.config.PWFS.Param_wfs.__atmos_seen
__atmos_seen
Definition: PWFS.py:71
shesha.config.PWFS.Param_wfs.__lgsreturnperwatt
__lgsreturnperwatt
Definition: PWFS.py:97
shesha.config.PWFS.Param_wfs.__kernel
__kernel
Definition: PWFS.py:93
shesha.config.PWFS.Param_wfs.set_lgsreturnperwatt
def set_lgsreturnperwatt(self, lpw)
Set the return per watt factor.
Definition: PWFS.py:887
shesha.config.PWFS.Param_wfs.set_noise
def set_noise(self, n)
Set the desired noise.
Definition: PWFS.py:638
shesha.config.PWFS.Param_wfs.get_fstop
def get_fstop(self)
Get the size of field stop.
Definition: PWFS.py:407
shesha.config.PWFS.Param_wfs.get_pyr_ampl
def get_pyr_ampl(self)
Get the pyramid wfs modulation amplitude radius.
Definition: PWFS.py:759
shesha.config.PWFS.Param_wfs.set_ftkernel
def set_ftkernel(self, data)
TODO docstring.
Definition: PWFS.py:1240
shesha.config.PWFS.Param_wfs.get_is_low_order
def get_is_low_order(self)
Get the low order flag : if True, WFS arrays will not be mutualised.
Definition: PWFS.py:952
shesha.config.PWFS.Param_wfs.__beam
__beam
Definition: PWFS.py:187
shesha.config.PWFS.Param_wfs.set_Ntot
def set_Ntot(self, n)
Set the size of hr image for a subap.
Definition: PWFS.py:1105
shesha.config.PWFS.Param_wfs.get_thetaML
def get_thetaML(self)
Get the rotation angle in the pupil.
Definition: PWFS.py:487
shesha.config.PWFS.Param_wfs.__dy
__dy
Definition: PWFS.py:118
shesha.config.PWFS.Param_wfs.__nphotons4imat
__nphotons4imat
Definition: PWFS.py:142
shesha.config.PWFS.Param_wfs.get_xpos
def get_xpos(self)
Get the guide star x position on sky.
Definition: PWFS.py:439
shesha.config.PWFS.Param_wfs.get_pyr_loc
def get_pyr_loc(self)
Get the location of modulation.
Definition: PWFS.py:792
shesha.config.PWFS.Param_wfs.__fakecam
__fakecam
Definition: PWFS.py:122
shesha.config.PWFS.Param_wfs.get_profna
def get_profna(self)
Get the sodium profile.
Definition: PWFS.py:915
shesha.config.PWFS.Param_wfs.__llty
__llty
Definition: PWFS.py:103
shesha.config.PWFS.Param_wfs.set_pdiam
def set_pdiam(self, n)
Set the subap diameter in pixels.
Definition: PWFS.py:1143
shesha.config.PWFS.Param_wfs.__proftype
__proftype
Definition: PWFS.py:105
shesha.config.PWFS.Param_wfs.get_fracsub
def get_fracsub(self)
Get the minimal illumination fraction for valid subaps.
Definition: PWFS.py:359
shesha.config.PWFS.Param_wfs.__noise
__noise
Definition: PWFS.py:90
shesha.config.PWFS.Param_wfs.__pyr_cy
__pyr_cy
Definition: PWFS.py:219
shesha.config.PWFS.Param_wfs.set_thetaML
def set_thetaML(self, thetaML)
Set the rotation angle in the pupil.
Definition: PWFS.py:494
shesha.config.PWFS.Param_wfs.get_prof1d
def get_prof1d(self)
TODO docstring.
Definition: PWFS.py:1331
shesha.config.PWFS.Param_wfs.get_gsmag
def get_gsmag(self)
Get the magnitude of guide star.
Definition: PWFS.py:599
shesha.config.PWFS.Param_wfs.set_roket
def set_roket(self, roket)
Set the error budget flag : if True, enable error budget analysis for this simulation.
Definition: PWFS.py:943
shesha.config.PWFS.Param_wfs.__pdiam
__pdiam
Definition: PWFS.py:129
shesha.config.PWFS.Param_wfs.get_pixsize
def get_pixsize(self)
Get the pixel size.
Definition: PWFS.py:292
shesha.config.PWFS.Param_wfs.set_pyr_scale_pos
def set_pyr_scale_pos(self, p)
Set the pixel size.
Definition: PWFS.py:315
shesha.config.PWFS.Param_wfs.get_zerop
def get_zerop(self)
Get the detector zero point.
Definition: PWFS.py:615
shesha.config.PWFS.Param_wfs.__fracsub
__fracsub
Definition: PWFS.py:62
shesha.config.PWFS.Param_wfs.__beamsize
__beamsize
Definition: PWFS.py:107
shesha.config.PWFS.Param_wfs.__is_low_order
__is_low_order
Definition: PWFS.py:77
shesha.config.PWFS.Param_wfs.get_nphotons
def get_nphotons(self)
Get number of photons per subap.
Definition: PWFS.py:1155
shesha.config.PWFS.Param_wfs.set_pyrtype
def set_pyrtype(self, p)
Set the type of pyramid,.
Definition: PWFS.py:816
shesha.config.PWFS.Param_wfs.get_pyr_npts
def get_pyr_npts(self)
Get the total number of point along modulation circle.
Definition: PWFS.py:775
shesha.config.PWFS.Param_wfs.set_npix
def set_npix(self, n)
Set the number of pixels per subap.
Definition: PWFS.py:283
shesha.config.PWFS.Param_wfs.__qpixsize
__qpixsize
Definition: PWFS.py:148
shesha.config.PWFS.Param_wfs.__G
__G
Definition: PWFS.py:112
shesha.config.PWFS.Param_wfs.set_azimuth
def set_azimuth(self, data)
TODO docstring.
Definition: PWFS.py:1320
shesha.config.PWFS.Param_wfs.get_binmap
def get_binmap(self)
TODO docstring.
Definition: PWFS.py:1407
shesha.config.PWFS.Param_wfs.get_ypos
def get_ypos(self)
Get the guide star y position on sky.
Definition: PWFS.py:455
shesha.config.PWFS.Param_wfs.get_Ntot
def get_Ntot(self)
Get the size of hr image for a subap.
Definition: PWFS.py:1098
shesha.config.PWFS.Param_wfs.__pyr_ampl
__pyr_ampl
Definition: PWFS.py:195
shesha.constants
Numerical constants for shesha and config enumerations for safe-typing.
Definition: constants.py:1
shesha.config.PWFS.Param_wfs.__pyrtype
__pyrtype
Definition: PWFS.py:204
shesha.config.PWFS.Param_wfs.set_phasemap
def set_phasemap(self, data)
TODO docstring.
Definition: PWFS.py:1428
shesha.config.PWFS.Param_wfs.set_pyr_misalignments
None set_pyr_misalignments(self, np.ndarray misalignments)
Definition: PWFS.py:984
shesha.config.PWFS.Param_wfs.get_hrmap
def get_hrmap(self)
TODO docstring.
Definition: PWFS.py:1392
shesha.config.PWFS.Param_wfs.__validsubsy
__validsubsy
Definition: PWFS.py:158
shesha.config.PWFS.Param_wfs.__submask
__submask
Definition: PWFS.py:174
shesha.config.PWFS.Param_wfs.set_submask
def set_submask(self, data)
TODO docstring.
Definition: PWFS.py:1288
shesha.config.PWFS.Param_wfs.set_pyr_pos
def set_pyr_pos(self, data)
TODO docstring.
Definition: PWFS.py:1494
shesha.config.PWFS.Param_wfs.get_fssize
def get_fssize(self)
Get the size of field stop.
Definition: PWFS.py:391
shesha.config.PWFS.Param_wfs.__azimuth
__azimuth
Definition: PWFS.py:191
shesha.config.PWFS.Param_wfs.get_kernel
def get_kernel(self)
Get the attribute kernel.
Definition: PWFS.py:663
shesha.config.PWFS.Param_wfs.get_lltx
def get_lltx(self)
Get the x position of llt.
Definition: PWFS.py:695
shesha.config.PWFS.Param_wfs.set_dx
def set_dx(self, dx)
Set the X axis misalignment.
Definition: PWFS.py:510
shesha.config.PWFS.Param_wfs.__validpuppixy
__validpuppixy
Definition: PWFS.py:153
shesha.config.PWFS.Param_wfs.__profcum
__profcum
Definition: PWFS.py:185
shesha.config.PWFS.Param_wfs.get_pyrtype
def get_pyrtype(self)
Get the type of pyramid,.
Definition: PWFS.py:809
shesha.config.PWFS.Param_wfs.__profna
__profna
Definition: PWFS.py:179
shesha.config.PWFS.Param_wfs.__maxPixValue
__maxPixValue
Definition: PWFS.py:126
shesha.config.PWFS.Param_wfs.__npix
__npix
Definition: PWFS.py:54
shesha.config.PWFS.Param_wfs.get_npix
def get_npix(self)
Get the number of pixels per subap.
Definition: PWFS.py:276
shesha.config.PWFS.Param_wfs.__roket
__roket
Definition: PWFS.py:75
shesha.config.PWFS.Param_wfs.get_gsalt
def get_gsalt(self)
Get the altitude of guide star.
Definition: PWFS.py:583
shesha.config.PWFS.Param_wfs.get_fakecam
def get_fakecam(self)
Get the fakecam flag.
Definition: PWFS.py:535
shesha.config.PWFS.Param_wfs.get_optthroughput
def get_optthroughput(self)
Get the wfs global throughput.
Definition: PWFS.py:343
shesha.config.PWFS.Param_wfs.get_type
def get_type(self)
Get the type of wfs.
Definition: PWFS.py:228
shesha.config.PWFS.Param_wfs.__xpos
__xpos
Definition: PWFS.py:80
shesha.config.PWFS.Param_wfs.__hrmap
__hrmap
Definition: PWFS.py:164
shesha.config.PWFS.Param_wfs.set_nxsub
def set_nxsub(self, n)
Set the linear number of subaps.
Definition: PWFS.py:251
shesha.config.PWFS.Param_wfs.__pyr_compute_focalplane
__pyr_compute_focalplane
Definition: PWFS.py:213
shesha.config.PWFS.Param_wfs.set_nphotons4imat
def set_nphotons4imat(self, nphot)
Set the desired numner of photons used for doing imat.
Definition: PWFS.py:654
shesha.config.PWFS.Param_wfs.get_llty
def get_llty(self)
Get the y position of llt.
Definition: PWFS.py:711
shesha.config.PWFS.Param_wfs.__fluxPerSub
__fluxPerSub
Definition: PWFS.py:146
shesha.config.PWFS.Param_wfs.get_ftkernel
def get_ftkernel(self)
TODO docstring.
Definition: PWFS.py:1235
shesha.config.PWFS.Param_wfs.get_subapd
def get_subapd(self)
Get the subap diameter (m)
Definition: PWFS.py:1193
shesha.config.PWFS.Param_wfs.get_pyr_pup_sep
def get_pyr_pup_sep(self)
Get the pyramid pupil separation.
Definition: PWFS.py:968
shesha.config.PWFS.Param_wfs.__pyr_loc
__pyr_loc
Definition: PWFS.py:201
shesha.config.PWFS.Param_wfs.__lgskern
__lgskern
Definition: PWFS.py:177
shesha.config.PWFS.Param_wfs.set_lgskern
def set_lgskern(self, data)
TODO docstring.
Definition: PWFS.py:1304
shesha.config.PWFS.Param_wfs.__gsalt
__gsalt
Definition: PWFS.py:84
shesha.config.PWFS.Param_wfs.__maxFluxPerPix
__maxFluxPerPix
Definition: PWFS.py:124
shesha.config.PWFS.Param_wfs.__validpuppixx
__validpuppixx
Definition: PWFS.py:151
shesha.config.PWFS.Param_wfs.set_zerop
def set_zerop(self, z)
Set the detector zero point.
Definition: PWFS.py:622
shesha.config.PWFS.Param_wfs.set_isvalid
def set_isvalid(self, data)
Set the valid subapertures array.
Definition: PWFS.py:1478
shesha.config.PWFS.Param_wfs.get_pyr_compute_focalplane
def get_pyr_compute_focalplane(self)
Get the status of the pyramid wfs focal plane computation.
Definition: PWFS.py:994
shesha.config.PWFS.Param_wfs.set_beam
def set_beam(self, data)
TODO docstring.
Definition: PWFS.py:1367
shesha.config.PWFS.Param_wfs.get_Nfft
def get_Nfft(self)
Get the size of FFT support for a subap.
Definition: PWFS.py:1079
shesha.config.PWFS.Param_wfs.__Lambda
__Lambda
Definition: PWFS.py:58
shesha.config.PWFS.Param_wfs.__pyr_pos
__pyr_pos
Definition: PWFS.py:199
shesha.config.PWFS.Param_wfs.set_hrmap
def set_hrmap(self, data)
TODO docstring.
Definition: PWFS.py:1397
shesha.config.PWFS.Param_wfs.__prof1d
__prof1d
Definition: PWFS.py:183
shesha.config.PWFS.Param_wfs.__sincar
__sincar
Definition: PWFS.py:166
shesha.config.PWFS.Param_wfs.set_dy
def set_dy(self, dy)
Set the Y axis misalignment.
Definition: PWFS.py:526
shesha.config.PWFS.Param_wfs.__validsubsx
__validsubsx
Definition: PWFS.py:156
shesha.config.PWFS.Param_wfs.__Nfft
__Nfft
Definition: PWFS.py:131
shesha.config.PWFS.Param_wfs._validsubsx
_validsubsx
Definition: PWFS.py:1044
shesha.config.PWFS.Param_wfs.__nxsub
__nxsub
Definition: PWFS.py:52
shesha.config.PWFS.Param_wfs.get_proftype
def get_proftype(self)
Get the type of sodium profile.
Definition: PWFS.py:727
shesha.config.PWFS.Param_wfs.get_profcum
def get_profcum(self)
TODO docstring.
Definition: PWFS.py:1347
shesha.config.PWFS.Param_wfs.set_nrebin
def set_nrebin(self, n)
Set the rebin factor from hr to binned image for a subap.
Definition: PWFS.py:1124
shesha.config.PWFS.Param_wfs.set_nPupils
def set_nPupils(self, n)
Set the number of pupil images.
Definition: PWFS.py:267
shesha.config.PWFS.Param_wfs.get_qpixsize
def get_qpixsize(self)
Get the quantum pixel size for the simulation.
Definition: PWFS.py:1174
shesha.config.PWFS.Param_wfs.__nrebin
__nrebin
Definition: PWFS.py:135
shesha.config.PWFS.Param_wfs.get_noise
def get_noise(self)
Get the desired noise.
Definition: PWFS.py:631
shesha.config.PWFS.Param_wfs.get_laserpower
def get_laserpower(self)
Get the laser power.
Definition: PWFS.py:679
shesha.config.PWFS.Param_wfs.set_proftype
def set_proftype(self, p)
Set the type of sodium profile.
Definition: PWFS.py:734
shesha.config.PWFS.Param_wfs.get_halfxy
def get_halfxy(self)
TODO docstring.
Definition: PWFS.py:1267
shesha.config.PWFS.Param_wfs
P-Class (parametres) Param_wfs.
Definition: PWFS.py:47
shesha.config.PWFS.Param_wfs.__pyr_cx
__pyr_cx
Definition: PWFS.py:218
shesha.config.PWFS.Param_wfs.get_maxPixValue
def get_maxPixValue(self)
Get the max_pix_value.
Definition: PWFS.py:567
shesha.config.PWFS.Param_wfs.__phasemap
__phasemap
Definition: PWFS.py:162
shesha.config.PWFS.Param_wfs.__gsmag
__gsmag
Definition: PWFS.py:86
shesha.config.PWFS.Param_wfs.__pyr_weights
__pyr_weights
Definition: PWFS.py:220
shesha.config.PWFS.Param_wfs.get_validsubsy
def get_validsubsy(self)
Get the valid subapertures along Y-axis.
Definition: PWFS.py:1050
shesha.config.PWFS.Param_wfs.__ftkernel
__ftkernel
Definition: PWFS.py:94
shesha.config.PWFS.Param_wfs.get_nphotons4imat
def get_nphotons4imat(self)
Get the desired numner of photons used for doing imat.
Definition: PWFS.py:647
shesha.config.PWFS.Param_wfs.__binmap
__binmap
Definition: PWFS.py:169
shesha.config.PWFS.Param_wfs.set_dms_seen
def set_dms_seen(self, dms_seen)
Set the index of dms seen by the WFS.
Definition: PWFS.py:870
shesha.config.PWFS.Param_wfs.get_validpuppixy
def get_validpuppixy(self)
TODO docstring.
Definition: PWFS.py:1454
shesha.config.PWFS.Param_wfs.__init__
def __init__(self, roket=False)
Definition: PWFS.py:49
shesha.config.PWFS.Param_wfs.set_llty
def set_llty(self, l)
Set the y position of llt.
Definition: PWFS.py:718
shesha.config.PWFS.Param_wfs.__nphotons
__nphotons
Definition: PWFS.py:140
shesha.config.PWFS.Param_wfs.set_kernel
def set_kernel(self, k)
Set the attribute kernel.
Definition: PWFS.py:670
shesha.config.PWFS.Param_wfs.set_atmos_seen
def set_atmos_seen(self, i)
Tells if the wfs sees the atmosphere layers.
Definition: PWFS.py:430
shesha.config.PWFS.Param_wfs.get_nxsub
def get_nxsub(self)
Get the linear number of subaps.
Definition: PWFS.py:244
shesha.config.PWFS.Param_wfs.__pyr_npts
__pyr_npts
Definition: PWFS.py:197
shesha.config.PWFS.Param_wfs.__zerop
__zerop
Definition: PWFS.py:88
shesha.config.PWFS.Param_wfs.__nPupils
__nPupils
Definition: PWFS.py:208
shesha.config.PWFS.Param_wfs.set_fstop
def set_fstop(self, f)
Set the size of field stop.
Definition: PWFS.py:414
shesha.config.PWFS.Param_wfs.set_fracsub
def set_fracsub(self, f)
Set the minimal illumination fraction for valid subaps.
Definition: PWFS.py:366
shesha.config.PWFS.Param_wfs.__thetaML
__thetaML
Definition: PWFS.py:114
shesha.config.PWFS.Param_wfs.get_roket
def get_roket(self)
Get the error budget flag : if True, enable error budget analysis for this simulation.
Definition: PWFS.py:935
shesha.config.PWFS.Param_wfs.set_subapd
def set_subapd(self, n)
Set the subap diameter (m)
Definition: PWFS.py:1200
shesha.config.PWFS.Param_wfs.get_G
def get_G(self)
Get the magnifying factor.
Definition: PWFS.py:471
shesha.config.PWFS.Param_wfs.set_pyr_weights
def set_pyr_weights(self, data)
TODO docstring.
Definition: PWFS.py:1507
shesha.config.PWFS.Param_wfs.set_nphotons
def set_nphotons(self, n)
Set number of photons per subap.
Definition: PWFS.py:1162
shesha.config.PWFS.Param_wfs.set_G
def set_G(self, G)
Set the magnifying factor.
Definition: PWFS.py:478
shesha.config.PWFS.Param_wfs.get_pyr_pos
def get_pyr_pos(self)
TODO docstring.
Definition: PWFS.py:1489
shesha.config.PWFS.Param_wfs.set_profna
def set_profna(self, p)
Set the sodium profile.
Definition: PWFS.py:922
shesha.config.PWFS.Param_wfs.__fssize
__fssize
Definition: PWFS.py:66
shesha.config.PWFS.Param_wfs.__dms_seen
__dms_seen
Definition: PWFS.py:73
shesha.config.PWFS.Param_wfs.__optthroughput
__optthroughput
Definition: PWFS.py:60
shesha.config.PWFS.Param_wfs.get_pyr_cx
def get_pyr_cx(self)
Get the x position of modulation points for pyramid sensor.
Definition: PWFS.py:825
shesha.config.PWFS.Param_wfs.get_validsubsx
def get_validsubsx(self)
Get the valid subapertures along X-axis.
Definition: PWFS.py:1028
shesha.config.PWFS.Param_wfs.set_pyr_cy
def set_pyr_cy(self, cy)
Set the y position of modulation points for pyramid sensor.
Definition: PWFS.py:851
shesha.config.PWFS.Param_wfs.set_max_flux_per_pix
def set_max_flux_per_pix(self, max_flux_per_pix)
Set the max_flux_per_pix.
Definition: PWFS.py:558
shesha.config.PWFS.Param_wfs.set_validpuppixy
def set_validpuppixy(self, data)
TODO docstring.
Definition: PWFS.py:1459
shesha.config.PWFS.Param_wfs.__pyr_scale_pos
__pyr_scale_pos
Definition: PWFS.py:222
shesha.config.PWFS.Param_wfs.get_nrebin
def get_nrebin(self)
Get the rebin factor from hr to binned image for a subap.
Definition: PWFS.py:1117
shesha.config.PWFS.Param_wfs.set_fakecam
def set_fakecam(self, fakecam)
Set the fakecam flag.
Definition: PWFS.py:542
shesha.config.PWFS.Param_wfs.set_gsmag
def set_gsmag(self, g)
Set the magnitude of guide star.
Definition: PWFS.py:606
shesha.config.PWFS.Param_wfs.set_beamsize
def set_beamsize(self, b)
Set the laser beam fwhm on-sky.
Definition: PWFS.py:750
shesha.config.PWFS.Param_wfs.get_fluxPerSub
def get_fluxPerSub(self)
Get the subap diameter (m)
Definition: PWFS.py:1212
shesha.config.PWFS.Param_wfs.get_validpuppixx
def get_validpuppixx(self)
TODO docstring.
Definition: PWFS.py:1439
shesha.config.PWFS.Param_wfs.set_fluxPerSub
def set_fluxPerSub(self, data)
Set the subap diameter (m)
Definition: PWFS.py:1219
shesha.config.PWFS.Param_wfs.set_ftbeam
def set_ftbeam(self, data)
TODO docstring.
Definition: PWFS.py:1382
shesha.config.PWFS.Param_wfs.get_dy
def get_dy(self)
Get the Y axis misalignment.
Definition: PWFS.py:519
shesha.config.PWFS.Param_wfs.set_open_loop
def set_open_loop(self, o)
Set the loop state (open or closed)
Definition: PWFS.py:382
shesha.config.PWFS.Param_wfs.set_pyr_pup_sep
def set_pyr_pup_sep(self, pyr_pup_sep)
Set the pyramid pupil separation.
Definition: PWFS.py:975
shesha.config.PWFS.Param_wfs.get_sincar
def get_sincar(self)
TODO docstring.
Definition: PWFS.py:1251
shesha.config.PWFS.Param_wfs.__pixsize
__pixsize
Definition: PWFS.py:56
shesha.config.PWFS.Param_wfs.get_beamsize
def get_beamsize(self)
Get the laser beam fwhm on-sky.
Definition: PWFS.py:743
shesha.config.PWFS.Param_wfs.get_lgsreturnperwatt
def get_lgsreturnperwatt(self)
Get the return per watt factor.
Definition: PWFS.py:880
shesha.config.PWFS.Param_wfs.__altna
__altna
Definition: PWFS.py:181
shesha.config.PWFS.Param_wfs.get_pyr_cy
def get_pyr_cy(self)
Get the y position of modulation points for pyramid sensor.
Definition: PWFS.py:844
shesha.config.PWFS.Param_wfs.get_Lambda
def get_Lambda(self)
Get the observation wavelength.
Definition: PWFS.py:327
shesha.config.PWFS.Param_wfs.get_altna
def get_altna(self)
Get the corresponding altitude.
Definition: PWFS.py:896
shesha.config.PWFS.Param_wfs.set_lltx
def set_lltx(self, l)
Set the x position of llt.
Definition: PWFS.py:702
shesha.config.PWFS.Param_wfs.set_pyr_compute_focalplane
def set_pyr_compute_focalplane(self, compute_focalplane)
Set the status of the pyramid wfs focal plane computation.
Definition: PWFS.py:999
shesha.config.PWFS.Param_wfs.set_type
def set_type(self, typewfs)
Set the type of wfs.
Definition: PWFS.py:235
shesha.config.PWFS.Param_wfs.set_xpos
def set_xpos(self, x)
Set the guide star x position on sky.
Definition: PWFS.py:446
shesha.config.PWFS.Param_wfs.get_nPupils
def get_nPupils(self)
Get the number of pupil images.
Definition: PWFS.py:260
shesha.config.PWFS.Param_wfs.set_validsubsx
def set_validsubsx(self, vx)
Set the valid subapertures along X-axis.
Definition: PWFS.py:1035
shesha.config.PWFS.Param_wfs.get_ftbeam
def get_ftbeam(self)
TODO docstring.
Definition: PWFS.py:1377
shesha.config.PWFS.Param_wfs.set_qpixsize
def set_qpixsize(self, n)
Set the quantum pixel size for the simulation.
Definition: PWFS.py:1181
shesha.config.PWFS.Param_wfs.__subapd
__subapd
Definition: PWFS.py:144
shesha.config.PWFS.Param_wfs.__pyr_misalignments
__pyr_misalignments
Definition: PWFS.py:210
shesha.config.PWFS.Param_wfs.set_sincar
def set_sincar(self, data)
TODO docstring.
Definition: PWFS.py:1256
shesha.config.PWFS.Param_wfs.set_pyr_ampl
def set_pyr_ampl(self, p)
Set the pyramid wfs modulation amplitude radius.
Definition: PWFS.py:766
shesha.config.PWFS.Param_wfs.set_gsalt
def set_gsalt(self, g)
Set the altitude of guide star.
Definition: PWFS.py:590
shesha.config.PWFS.Param_wfs.get_pyr_weights
def get_pyr_weights(self)
TODO docstring.
Definition: PWFS.py:1502
shesha.config.PWFS.Param_wfs.__nvalid
__nvalid
Definition: PWFS.py:137
shesha.config.PWFS.Param_wfs.set_pixsize
def set_pixsize(self, p)
Set the pixel size.
Definition: PWFS.py:299
shesha.config.PWFS.Param_wfs.set_optthroughput
def set_optthroughput(self, o)
Set the wfs global throughput.
Definition: PWFS.py:350
shesha.config.PWFS.Param_wfs.set_prof1d
def set_prof1d(self, data)
TODO docstring.
Definition: PWFS.py:1336
shesha.config.PWFS.Param_wfs.__ypos
__ypos
Definition: PWFS.py:82
shesha.config.PWFS.Param_wfs.set_laserpower
def set_laserpower(self, l)
Set the laser power.
Definition: PWFS.py:686
shesha.config.PWFS.Param_wfs.set_max_pix_value
def set_max_pix_value(self, max_pix_value)
Set the max_pix_value.
Definition: PWFS.py:574
shesha.config.PWFS.Param_wfs.get_nvalid
def get_nvalid(self)
Get the number of valid subapertures.
Definition: PWFS.py:1009
shesha.config.PWFS.Param_wfs.set_binmap
def set_binmap(self, data)
TODO docstring.
Definition: PWFS.py:1412
shesha.config.PWFS.Param_wfs.get_submask
def get_submask(self)
TODO docstring.
Definition: PWFS.py:1283
shesha.config.PWFS.Param_wfs.set_Lambda
def set_Lambda(self, L)
Set the observation wavelength.
Definition: PWFS.py:334
shesha.config.PWFS.Param_wfs.get_pyr_misalignments
None get_pyr_misalignments(self)
Definition: PWFS.py:980
shesha.config.PWFS.Param_wfs.__lltx
__lltx
Definition: PWFS.py:101
shesha.config.PWFS.Param_wfs.set_ypos
def set_ypos(self, y)
Set the guide star y position on sky.
Definition: PWFS.py:462
shesha.config.PWFS.Param_wfs.get_isvalid
def get_isvalid(self)
Get the valid subapertures array.
Definition: PWFS.py:1471
shesha.config.PWFS.Param_wfs.get_validsub
def get_validsub(self)
Return both validsubsx and validsubsy.
Definition: PWFS.py:1072
shesha.config.PWFS.Param_wfs.get_maxFluxPerPix
def get_maxFluxPerPix(self)
Get the max_flux_per_pix.
Definition: PWFS.py:551
shesha.config.PWFS.Param_wfs._pyr_offsets
_pyr_offsets
Definition: PWFS.py:217
shesha.config.PWFS.Param_wfs.get_dx
def get_dx(self)
Get the X axis misalignment.
Definition: PWFS.py:503
shesha.config.PWFS.Param_wfs.set_is_low_order
def set_is_low_order(self, is_low_order)
Set the low order flag : if True, WFS arrays will not be mutualised.
Definition: PWFS.py:959
shesha.config.PWFS.Param_wfs.set_profcum
def set_profcum(self, data)
TODO docstring.
Definition: PWFS.py:1352
shesha.config.PWFS.Param_wfs.get_phasemap
def get_phasemap(self)
TODO docstring.
Definition: PWFS.py:1423
shesha.config.PWFS.Param_wfs.set_pyr_loc
def set_pyr_loc(self, p)
Set the location of modulation.
Definition: PWFS.py:800
shesha.config.PWFS.Param_wfs.__type
__type
Definition: PWFS.py:50
shesha.config.PWFS.Param_wfs.set_Nfft
def set_Nfft(self, n)
Set the size of FFT support for a subap.
Definition: PWFS.py:1086
shesha.config.PWFS.Param_wfs.set_altna
def set_altna(self, a)
Set the corresponding altitude.
Definition: PWFS.py:903
shesha.config.PWFS.Param_wfs.__laserpower
__laserpower
Definition: PWFS.py:99
shesha.config.PWFS.Param_wfs.get_pdiam
def get_pdiam(self)
Get the subap diameter in pixels.
Definition: PWFS.py:1136
shesha.config.PWFS.Param_wfs.__ftbeam
__ftbeam
Definition: PWFS.py:189