コード例 #1
0
def createDoubleVoigtCatalogs(workdir,
                              zs=[0.2, 0.3, 0.4, 0.5, 0.6, 0.7],
                              massrange=[3e14, 7e14, 1.2e15, 1.7e15, 2.5e15]):

    bpz = ldac.openObjectFile('%s/bpz.cat' % workdir, 'STDTAB')

    sizes = np.ones(len(bpz))
    snratios = np.ones(len(bpz))

    fields = [
        ldac.openObjectFile(x) for x in glob.glob('%s/field_*.cat' % workdir)
    ]

    cs.createCutoutSuite(zs=zs,
                         massrange=massrange,
                         goodbpz=bpz,
                         sizes=sizes,
                         snratios=snratios,
                         outputdir=workdir,
                         simcats=fields,
                         shape_distro=cs.voigtDistro2,
                         shape_distro_kw_sets=100 * [{
                             'alpha': 0.2,
                             'sigma2': 0.23,
                             'gamma2': 0.025,
                             'sigma1': 0.18,
                             'gamma1': 0.016
                         }])
コード例 #2
0
def createPrecutSimFiles(cluster,
                         filter,
                         image,
                         mass,
                         redshift,
                         bpzfile,
                         reconfile,
                         outdir,
                         nfields=50):

    if not os.path.exists(outdir):
        os.mkdir(outdir)

    clusterdir = '/u/ki/dapple/subaru/%s/LENSING_%s_%s_aper/%s' % (
        cluster, filter, filter, image)

    lensing = ldac.openObjectFile('%s/cut_lensing.cat' % clusterdir)

    bpz = ldac.openObjectFile(bpzfile)
    recon = ldac.openObjectFile(reconfile, 'COS30PHOTZ')
    bpz = bpz.matchById(recon, selfid='ID')
    recon = recon.matchById(bpz, otherid='ID')

    assert (len(bpz) == len(recon))

    bpz = bpz.filter(
        np.logical_and(recon['zp_best'] > redshift + 0.1,
                       recon['zp_best'] < 1.25))

    maxradii = np.max(
        np.sqrt((lensing['Xpos'] - 5000)**2 + (lensing['Ypos'] - 5000)**2))

    fields = []

    for i in range(nfields):

        field = cs.bootstrapField(bpz,
                                  np.ones(len(bpz)),
                                  np.ones(len(bpz)),
                                  galdensity=None,
                                  maxradii=maxradii,
                                  id='ID',
                                  ngals=10000)

        field.saveas('%s/%s.%s.%s.master_%d.cat' %
                     (outdir, cluster, filter, image, i),
                     clobber=True)

        fields.append(field)

    cs.createCutoutSuite([redshift], [mass],
                         bpz,
                         None,
                         None,
                         outdir,
                         simcats=fields,
                         shape_distro_kw_sets=nfields * [{
                             'sigma': 0.25
                         }])
コード例 #3
0
def createSimFiles(cluster,
                   filter,
                   image,
                   mass,
                   redshift,
                   bpzfile,
                   outdir,
                   nfields=25):

    if not os.path.exists(outdir):
        os.mkdir(outdir)

    clusterdir = '/u/ki/dapple/subaru/%s/LENSING_%s_%s_aper/%s' % (
        cluster, filter, filter, image)

    lensing = ldac.openObjectFile('%s/cut_lensing.cat' % clusterdir)

    bpz = ldac.openObjectFile(bpzfile, 'COS30PHOTZ')

    ngals = len(lensing)
    maxradii = np.max(
        np.sqrt((lensing['Xpos'] - 5000)**2 + (lensing['Ypos'] - 5000)**2))

    fields = []

    for i in range(nfields):

        field = cs.bootstrapField(bpz,
                                  np.ones(len(bpz)),
                                  np.ones(len(bpz)),
                                  galdensity=galdensity,
                                  maxradii=maxradii,
                                  id='SeqNr',
                                  ngals=ngals)

        field.saveas('%s/%s.%s.%s.master_%d.cat' %
                     (outdir, cluster, filter, image, i),
                     clobber=True)

        fields.append(field)

    cs.createCutoutSuite([redshift], [mass],
                         bpz,
                         None,
                         None,
                         outdir,
                         simcats=fields,
                         shape_distro_kw_sets=nfields * [{
                             'sigma': 0.25
                         }])
コード例 #4
0
def createCatalogs(workdir,
                   zs=[0.2, 0.3, 0.4, 0.5, 0.6, 0.7],
                   massrange=[3e14, 7e14, 1.2e15, 1.7e15, 2.5e15]):

    bpz = ldac.openObjectFile('%s/bpz.cat' % workdir, 'STDTAB')
    if bpz is None:
        bpz = ldac.openObjectFile('%s/bpz.cat' % workdir, 'COS30PHOTZ')

    sizes = np.ones(len(bpz))
    snratios = np.ones(len(bpz))

    fields = [
        ldac.openObjectFile(x) for x in glob.glob('%s/field_*.cat' % workdir)
    ]

    cs.createCutoutSuite(zs=zs,
                         massrange=massrange,
                         goodbpz=bpz,
                         sizes=sizes,
                         snratios=snratios,
                         outputdir=workdir,
                         simcats=fields,
                         idcol='SeqNr')
コード例 #5
0
def makeNonGaussSims(zs, rsrange, outputdir):

    nsamples = len(fields)
    
    shapedistro_samples = sdr.selectPosteriorSamples(shapedistro_datavec, nsamples)

    binned_distro = BinnedShapeSamples(voigt.voigtSamples, 
                                       voigtdistro.bin_selectors, 
                                       'sigma gamma size'.split())


    cs.createCutoutSuite(zs, 
                      rsrange, 
                      bpz, 
                      None,
                      None,
                      pdzrange, 
                      pdzs, 
                      outputdir, 
                      simcats = fields,
                      sourcecat = None,
                      shape_distro = 
                      shape_distro_kw_sets = 30*[{'sigma' : 0.25}]):