def __init__(self,fcore,score,gcore,stail,gtail,SpE,frac=[1],psf_dir='',nside=128, num_f_bins=10,n_ps=50000,n_pts_per_king=1000,f_trunc=0.01, king_sampling=10000,save_tag=''): # Convert floats to arrays fcore = np.array([fcore]).flatten() score = np.array([score]).flatten() gcore = np.array([gcore]).flatten() stail = np.array([stail]).flatten() gtail = np.array([gtail]).flatten() SpE = np.array([SpE]).flatten() frac = np.array([frac]).flatten() # Store basic variables to self self.fcore = fcore self.score = score self.gcore = gcore self.stail = stail self.gtail = gtail self.SpE = SpE self.psf_dir = psf_dir self.nside = nside self.num_f_bins = num_f_bins self.n_ps = n_ps self.f_trunc = f_trunc self.save_tag = save_tag # Setup equal frac if not user defined, and then distribute n_pts_per_king using frac n_king = len(self.fcore) self.n_king = n_king if not len(self.fcore) == len(frac): frac = np.empty(n_king) frac.fill(1./n_king) n_pts_per_king_array = np.empty(n_king) for i in range(n_king): n_pts_per_king_array[i]=int(round(n_pts_per_king*frac[i])) self.n_pts_per_king_array = n_pts_per_king_array self.total_n_pts_per_king = int(np.sum(n_pts_per_king_array)) # Import king function pdfs kp = np.array([]) for i in range(n_king): kp = np.append(kp,kpi.king_pdf(fcore[i],score[i],gcore[i],stail[i],gtail[i],SpE[i],king_sampling=king_sampling)) self.kp = kp
def __init__(self,fcore,score,gcore,stail,gtail,SpE,psf_dir='',nside=128, num_f_bins=10,n_king=50000,n_pts_per_king=1000,f_trunc=0.01, king_sampling=10000,save_tag=''): self.fcore = fcore self.score = score self.gcore = gcore self.stail = stail self.gtail = gtail self.SpE = SpE self.psf_dir = psf_dir self.nside = nside self.num_f_bins = num_f_bins self.n_king = n_king self.n_pts_per_king = n_pts_per_king self.f_trunc = f_trunc self.king_sampling = king_sampling self.save_tag = save_tag # Import a king function pdf self.kp = kpi.king_pdf(self.fcore,self.score,self.gcore,self.stail,self.gtail,self.SpE,king_sampling=self.king_sampling)
] theta_norm_psf3 = [ 0.0000000, 0.00015569366, 0.010164870, 0.048955837, 0.11750811, 0.19840060, 0.29488095, 0.32993394, ] theta_norm_psf4 = [0.0000000, 0.0036816313, 0.062240006, 0.14027030, 0.17077023, 0.18329804, 0.21722594, 0.22251374] f = fits.open("/zfs/bsafdi/data/psf_data/" + psf_file_name) kparam = PSFKC.PSF_kings( f, theta_norm=theta_norm_psf1, rescale_index=rescale_index_psf1, params_index=params_index_psf1 ) fcore = kparam.return_kings_params(energyval, "fcore") score = kparam.return_kings_params(energyval, "score") gcore = kparam.return_kings_params(energyval, "gcore") stail = kparam.return_kings_params(energyval, "stail") gtail = kparam.return_kings_params(energyval, "gtail") SpE = kparam.rescale_factor(energyval) fcore = np.array([fcore]).flatten() kpi.king_pdf(fcore[0], score, gcore, stail, gtail, SpE)
theta_norm_psf3=[0.0000000,0.00015569366,0.010164870,0.048955837,0.11750811,0.19840060,0.29488095,0.32993394] theta_norm_psf4=[0.0000000,0.0036816313,0.062240006,0.14027030,0.17077023,0.18329804,0.21722594,0.22251374] f = fits.open('/zfs/bsafdi/data/psf_data/' + psf_file_name) kparam=PSFKC.PSF_kings(f, theta_norm=theta_norm_psf1, rescale_index=rescale_index_psf1, params_index=params_index_psf1) fcore=kparam.return_kings_params(energyval,'fcore') score=kparam.return_kings_params(energyval,'score') gcore=kparam.return_kings_params(energyval,'gcore') stail=kparam.return_kings_params(energyval,'stail') gtail=kparam.return_kings_params(energyval,'gtail') SpE=kparam.rescale_factor(energyval) kp = kpi.king_pdf(fcore,score,gcore,stail,gtail,SpE) n_pts_per_king=1000 theta_c = 0.040083808095 phi_c = 2.5 dp = kp.king_pdf(n_pts_per_king) dangle = np.random.uniform(0,2*np.pi,n_pts_per_king) dtheta = dp*np.sin(dangle) dphi = dp*np.cos(dangle) theta = theta_c + dtheta phi_temp = phi_c + dphi print "min theta:",np.min(theta) print "max theta:",np.max(theta)