diff --git a/maoppy/instrument.py b/maoppy/instrument.py index 2d1dc5801407ce05547afb08057f761bb356173d..2f178ce5d65788026378fc78db97933d9edff549 100644 --- a/maoppy/instrument.py +++ b/maoppy/instrument.py @@ -174,32 +174,27 @@ def pupil_vlt(shape, angle=0, oversamp=1): ### CIRCULAR PUPIL (with central occultation) rr = np.sqrt(xx**2 + yy**2) pup = (rr < Rpix) * (rr >= (Rpix*occ)) - ### SPIDERS 1 and 2 + ### SPIDER 1 + a = np.tan(5.5*np.pi/180) x0 = - Rpix y0 = 0 - x1 = - Rpix*occ/np.sqrt(2) - y1 = Rpix*occ/np.sqrt(2) - a = (y1-y0)/(x1-x0) - spider1 = np.abs(yy-(a*(xx-x1)+y1)) <= (spider_width_pix/2) - spider1 *= (xx<=x1) + spider1 = np.abs(yy-(a*(xx-x0)+y0)) <= (spider_width_pix/2) + spider1 *= (xx<0) + ### SPIDER 2 x0 = 0 - y0 = - Rpix - a = -(x1-x0)/(y1-y0) - spider2 = np.abs(xx-(a*(yy-y1)+x1)) <= (spider_width_pix/2) - spider2 *= (yy>=y1) - ### SPIDERS 3 and 4 + y0 = Rpix + spider2 = np.abs(xx-(a*(yy-y0)+x0)) <= (spider_width_pix/2) + spider2 *= (yy>0) + ### SPIDER 3 x0 = Rpix y0 = 0 - x1 = Rpix*occ/np.sqrt(2) - y1 = - Rpix*occ/np.sqrt(2) - a = (y1-y0)/(x1-x0) - spider3 = np.abs(yy-(a*(xx-x1)+y1)) <= (spider_width_pix/2) - spider3 *= (xx>=x1) + spider3 = np.abs(yy-(a*(xx-x0)+y0)) <= (spider_width_pix/2) + spider3 *= (xx>0) + ### SPIDER 4 x0 = 0 - y0 = Rpix - a = -(x1-x0)/(y1-y0) - spider4 = np.abs(xx-(a*(yy-y1)+x1)) <= (spider_width_pix/2) - spider4 *= (yy<=y1) + y0 = - Rpix + spider4 = np.abs(xx-(a*(yy-y0)+x0)) <= (spider_width_pix/2) + spider4 *= (yy<0) ### FINALIZE pup_total = pup*(1-spider1)*(1-spider2)*(1-spider3)*(1-spider4) if oversamp>1: