示例#1
0
def getDistFocalImage(image,mask,
	phaseScreen,pupilSize,scale,plateScale,detectorSize=0,
	v=1.0,t=0.0,x0=0,y0=0,wl=0.0,expTime=0.0,expNum=5,
	compl=False) :
	'''A function for generating image through a mask with 
	atmospheric phasescreen over the pupil at an arbitary moment of time t'''
	#----------old--------
	# phase screen patch extraction 
	#wl_delay=getPupilScreen(phaseScreen,pupilSize,scale,v,t,x0,y0) 
	# converting to phase delay
	#phases=delayToPhase(wl_delay,wl=1e-6)
	#---------------------
	# phase screen patch extraction 
	if expTime>0 :
		phases=getPhasesEvolution(phases=phaseScreen,pupilSize=pupilSize,scale=scale,
			v=v,sfrq=1/expTime,stime=expTime,expTime=expTime,expNum=expNum)
	else :
		phases=getPupilScreen(phaseScreen,pupilSize,scale,v,t,x0,y0) 
	# scale factor for FFT
	scale_f=1.0
	if wl > 0.0 :
		scale_f=wl/(pupilSize*mas2rad(plateScale))		
		#scale_f=1.22*wl/(np.power(pupilSize,2)*mas2rad(plateScale)*scale)
	# crop
	cropPix=detectorSize
	if detectorSize ==0 :
		cropPix = int(scale*pupilSize)
	# returning image
	if expTime>0 :
		return getFocalImage(image,mask,phases[0],scale=scale_f,cropPix=cropPix)
	else :
		return getFocalImage(image,mask,phases,scale=scale_f,cropPix=cropPix)
示例#2
0
#input annulus Mask 
mask_ann=getAnnulusMask(diam=pupilSize,innDiam=0.9*pupilSize,border=0.0,scale=scale)
#input full pupil Mask 
mask_full=getFullMask(diam=pupilSize,border=0.0,scale=scale)
#load jwst mask
mask_jwst=np.load('jwst_1000.npy')

#activeMask
mask=mask_n

# image
image = np.ones((scale*pupilSize,scale*pupilSize),dtype='complex') + 0j

# scale factor for FFT
#scale_f=1.22*wl/(np.power(pupilSize,2)*mas2rad(plateScale)*scale)
scale_f=wl/(pupilSize*mas2rad(plateScale))

# p=getDistFocalImage(image,mask,wl_delay,pupilSize,scale,v,exp=exp_time)

p=getDistFocalImage(image,mask,
	phases,pupilSize,scale,plateScale,detectorSize=chip_px,v=1.0,t=0.0,
	wl=wl,expTime=exp_time)

displayImage(p**0.1,
	axisSize=[-plateScale*len(p)/2,plateScale*len(p)/2,-plateScale*len(p)/2,plateScale*len(p)/2],
	xlabel='mas', ylabel='mas', title='Power Spectrum **0.1',showColorbar=True,flipY=True,cmap='gray') 


ps=getDistFocalImages(image,mask,
	phases,pupilSize,scale,plateScale,detectorSize=chip_px,
	v=v,sfrq=10,stime=2.0,wl=wl,expTime=exp_time,