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 }])
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 }])
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 }])
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')
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}]):