コード例 #1
0
ファイル: bootstrap.py プロジェクト: rainwoodman/lyamock
        def work(i):
            with pool.critical:
                print 'doing chunk', i, Nchunks

            Qchunk = correlate.points(qpos[qchunks[i]], 
                              extra=Qfull.extra[qchunks[i]])
            Rchunk = correlate.points(rpos[rchunks[i]],
                              extra=Rfull.extra[rchunks[i]])
            Fchunk = correlate.field(fpos[fchunks[i]], 
                    value=fdelta[fchunks[i]],
                    extra=objectid[fchunks[i]] 
                    )
           #Q-Q
            DQDQ[i, ...] = correlate.paircount(Qchunk, Qfull, binning, np=0).fullsum1
            RQDQ[i, ...] = correlate.paircount(Rchunk, Qfull, binning, np=0).fullsum1
            RQRQ[i, ...] = correlate.paircount(Rchunk, Rfull, binning, np=0).fullsum1
           #Q-F
            DQDF = correlate.paircount(Qchunk, Ffull, binning, np=0)
            DQDFsum1[:, i, ...] = DQDF.fullsum1
            DQDFsum2[i, ...] = DQDF.fullsum2
            RQDF = correlate.paircount(Rchunk, Ffull, binning, np=0)
            RQDFsum1[:, i, ...] = RQDF.fullsum1
            RQDFsum2[i, ...] = RQDF.fullsum2
           #F-F
            DFDF = correlate.paircount(Fchunk, Ffull, binning, np=0)
            DFDFsum1[:, i, ...] = DFDF.fullsum1
            DFDFsum2[i, ...] = DFDF.fullsum2
            with pool.critical:
                print 'done chunk', i, Nchunks, len(fchunks[i])
コード例 #2
0
ファイル: pixelcorr.py プロジェクト: rainwoodman/lyamock
def main(A):
    delta, pos, id = getforest(A, 
            Zmin=2.0, Zmax=2.2, RfLamMin=1040, RfLamMax=1185, combine=4)
    print len(pos)
    print pos, delta
    data = correlate.field(pos, value=delta)
    DD = correlate.paircount(data, data, correlate.RBinning(160000, 40))
    r = DD.centers
    xi = DD.sum1 / DD.sum2
    print r.shape, xi.shape
    numpy.savez(os.path.join(A.datadir, 'delta-corr1d-both.npz'), r=r, xi=xi)

    figure = Figure(figsize=(4, 5), dpi=200)
    ax = figure.add_subplot(311)
    ax.plot(r / 1000, (r / 1000) ** 2 * xi[0], 'o ', label='$dF$ RSD')
    ax.set_ylim(-0.4, 1.0)
    ax.legend()
    ax = figure.add_subplot(312)
    ax.plot(r / 1000, (r / 1000) ** 2 * xi[1], 'o ', label='$dF$ Real')
    ax.set_ylim(-0.4, 1.0)
    ax.legend()
    ax = figure.add_subplot(313)
    ax.plot(r / 1000, (r / 1000) ** 2 * xi[2], 'o ', label=r'$dF$ Broadband')
    ax.set_ylim(-20, 60)
    ax.legend()
    canvas = FigureCanvasAgg(figure)
    figure.savefig(os.path.join(A.datadir, 'delta-corr-both.svg'))
コード例 #3
0
ファイル: test_correlate.py プロジェクト: rainwoodman/kdcount
def test_field():
    numpy.random.seed(1234)
    pos = numpy.random.uniform(size=(1000, 3))
    dataset = correlate.field(pos, value=numpy.ones(len(pos)), 
            boxsize=1.0, weights=numpy.ones(len(pos)))
    binning = correlate.RBinning(numpy.linspace(0, 0.5, 10))
    r = correlate.paircount(dataset, dataset, binning, np=0)

    assert_allclose(r.sum1, r.sum2)
コード例 #4
0
ファイル: test_correlate.py プロジェクト: duncandc/kdcount
def test_field():
    numpy.random.seed(1234)
    pos = numpy.random.uniform(size=(1000, 3))
    dataset = correlate.field(pos, value=numpy.ones(len(pos)), 
            boxsize=1.0, weights=numpy.ones(len(pos)))
    binning = correlate.RBinning(numpy.linspace(0, 0.5, 10))
    r = correlate.paircount(dataset, dataset, binning, np=0)

    assert_allclose(r.sum1, r.sum2)
コード例 #5
0
ファイル: pixelcorr2d.py プロジェクト: rainwoodman/lyamock
def main(A):
    delta, pos, id = getforest(A, 
            Zmin=2.0, Zmax=2.2, RfLamMin=1040, RfLamMax=1185, combine=4)
    print len(pos)
    print pos.min(), pos.max()
    data = correlate.field(pos, value=delta)
    DD = correlate.paircount(data, data, 
        correlate.RmuBinning(80000, Nbins=20, Nmubins=48, observer=0))
    numpy.savez(os.path.join(A.datadir, 'pixcorr-Rmu.npz'), 
        center=DD.centers, sum1=DD.sum1, sum2=DD.sum2)
コード例 #6
0
ファイル: bootstrap.py プロジェクト: rainwoodman/lyamock
def dobootstrap(binning, dir):
    A = Config(dir + '/paramfile', dir) 
    r, mu = binning.centers

    qpos = getqso(A)
    rpos = getrandom(A)
    fdelta, fpos, objectid = getforest(A, Zmin=2.0, Zmax=3.0, RfLamMin=1040,
           RfLamMax=1216, combine=4)
#    fdelta, fpos = numpy.empty((2, 1, 3))
#    objectid = numpy.empty(1, dtype='i8')

    qchunks = chop(4, qpos) 
    rchunks = chop(4, rpos)
    fchunks = chop(4, fpos)
    Nchunks = len(qchunks)
    
    Nvars = fdelta.shape[-1]
    print 'Nchunks', Nchunks, 'Num of variables in fdelta', Nvars
    chunkshape = [Nchunks, binning.shape[0], binning.shape[1]]

    # last index is the chunk
    DQDQ, RQDQ, RQRQ = sharedmem.empty([3] + chunkshape)

    DQDFsum1, RQDFsum1, DFDFsum1 = sharedmem.empty([3, Nvars] + chunkshape)
    DQDFsum2, RQDFsum2, DFDFsum2 = sharedmem.empty([3] + chunkshape)

    with sharedmem.MapReduce() as pool:
        Qfull = correlate.points(qpos, extra=numpy.arange(len(qpos)))
        print 'Qfull:', Qfull.tree.min, Qfull.tree.max
        Rfull = correlate.points(rpos, extra=numpy.arange(len(rpos)))
        print 'Rfull:', Rfull.tree.min, Rfull.tree.max
        Ffull = correlate.field(fpos, value=fdelta, extra=objectid)
        print 'Ffull:', Ffull.tree.min, Ffull.tree.max

        def work(i):
            with pool.critical:
                print 'doing chunk', i, Nchunks

            Qchunk = correlate.points(qpos[qchunks[i]], 
                              extra=Qfull.extra[qchunks[i]])
            Rchunk = correlate.points(rpos[rchunks[i]],
                              extra=Rfull.extra[rchunks[i]])
            Fchunk = correlate.field(fpos[fchunks[i]], 
                    value=fdelta[fchunks[i]],
                    extra=objectid[fchunks[i]] 
                    )
           #Q-Q
            DQDQ[i, ...] = correlate.paircount(Qchunk, Qfull, binning, np=0).fullsum1
            RQDQ[i, ...] = correlate.paircount(Rchunk, Qfull, binning, np=0).fullsum1
            RQRQ[i, ...] = correlate.paircount(Rchunk, Rfull, binning, np=0).fullsum1
           #Q-F
            DQDF = correlate.paircount(Qchunk, Ffull, binning, np=0)
            DQDFsum1[:, i, ...] = DQDF.fullsum1
            DQDFsum2[i, ...] = DQDF.fullsum2
            RQDF = correlate.paircount(Rchunk, Ffull, binning, np=0)
            RQDFsum1[:, i, ...] = RQDF.fullsum1
            RQDFsum2[i, ...] = RQDF.fullsum2
           #F-F
            DFDF = correlate.paircount(Fchunk, Ffull, binning, np=0)
            DFDFsum1[:, i, ...] = DFDF.fullsum1
            DFDFsum2[i, ...] = DFDF.fullsum2
            with pool.critical:
                print 'done chunk', i, Nchunks, len(fchunks[i])
        pool.map(work, range(Nchunks))

    red = MakeBootstrapSample(r, mu, DQDQ, RQDQ, RQRQ,
            DQDFsum1[0], DQDFsum2, RQDFsum1[0], RQDFsum2,
            DFDFsum1[0], DFDFsum2, len(qpos), len(rpos))
    real = MakeBootstrapSample(r, mu, DQDQ, RQDQ, RQRQ,
            DQDFsum1[1], DQDFsum2, RQDFsum1[1], RQDFsum2,
            DFDFsum1[1], DFDFsum2, len(qpos), len(rpos))
    delta = MakeBootstrapSample(r, mu, DQDQ, RQDQ, RQRQ,
            DQDFsum1[2], DQDFsum2, RQDFsum1[2], RQDFsum2,
            DFDFsum1[2], DFDFsum2, len(qpos), len(rpos))

    numpy.savez(os.path.join(A.datadir, 'bootstrap.npz'), 
            r=r,
            mu=mu,
            DQDQ=DQDQ,
            RQDQ=RQDQ,
            RQRQ=RQRQ,
            DQDFsum1=DQDFsum1,
            DQDFsum2=DQDFsum2,
            RQDFsum1=RQDFsum1,
            RQDFsum2=RQDFsum2,
            DFDFsum1=DFDFsum1,
            DFDFsum2=DFDFsum2,
            Qchunksize=qchunks.end - qchunks.start,
            Rchunksize=rchunks.end - rchunks.start,
            Fchunksize=fchunks.end - fchunks.start,
            red=red,
            real=real,
            delta=delta
            )