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()
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()