示例#1
0
def autocorr_h5(h5name, directory, fields):
    # TODO: merge this with spectrum.spectra_h5
    import tables
    from visualization import h5_gen
    from itertools import izip

    dta = tables.openFile(h5name, mode='r')

    try:
        os.makedirs(directory)
    except OSError:
        pass

    field_gens = [h5_gen(dta, field) for field in fields]

    for h5arrs in izip(*field_gens):
        name = h5arrs[0].name
        title = '%s autocorrelation' % name
        fname = os.path.join(directory, name)
        plot_multi(h5arrs, fields, title, fname)

    # for field in fields:
        # for h5arr in h5_gen(dta, field):
            # arr = h5arr.read()
            # arr -= arr.mean()
            # name = "%s%s" % (field, h5arr.name)
            # title = "%s autocorrelation" % (name,)
            # name = os.path.join(directory, name)
            # savefig_ac(arr, title, fname=name)
            # del arr

    dta.close()
示例#2
0
def spectra_h5(h5name, directory):
    import tables
    from visualization import h5_gen
    dta = tables.openFile(h5name, mode='r')

    rho_s2 = dta.root.sim_params._v_attrs.RHO_S2

    def itr(gen):
        for x in gen:
            yield x.data()

    cdens = h5_gen(dta, 'cden')
    cpsis = h5_gen(dta, 'cpsi')
    cvors = h5_gen(dta, 'cvor')

    npoints = 256

    from itertools import izip

    try:
        os.makedirs(directory)
    except OSError:
        pass

    for (cpsi, cvor, cden) in izip(cpsis, cvors, cdens):
        arrs = [cpsi.read(), cvor.read(), cden.read()]
        for arr in arrs:
            arr.dtype = np.complex64
        arrs = [np.transpose(arr) for arr in arrs]
        nx = arrs[0].shape[0]
        czeros = np.zeros((nx,1), dtype=np.complex64)
        arrs = [np.hstack([arr, czeros]) for arr in arrs]
        name = os.path.join(directory, cpsi.name)
        assert cpsi.name == cvor.name == cden.name
        spectra_plot(*arrs, rho_s2=rho_s2, npoints=npoints, name=name, title=name)

    dta.close()