Esempio n. 1
0
    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
Esempio n. 2
0
    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)
Esempio n. 3
0
    ]
    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)
Esempio n. 4
0
    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)