def eval_grid(t1, cells, intr_prms): t1_norm = None t1_copy = copy(t1) overlaps = [] for cell in cells: try: prms = intr_prms tmp = numpy.array(cell._center)[numpy.newaxis,:] tmp = amrlib.apply_inv_transform(tmp, prms, opts.distance_coordinates).T for p, pval in zip(prms, tmp): #if p == "lam_tilde": #t1_copy.psi0 = pval[0] #t1_copy.psi3 = 0 #else: setattr(t1_copy, p, pval[0]) except AssertionError: rejected.append((cell, 0.0)) continue # FIXME: Hardcoded waveforms olap, t1_norm, _ = lalsimutils.overlap(t1, t1_copy, ovrlp_obj, 0.125, 40, "TaylorF2", "TaylorF2", t1_norm=t1_norm) overlaps.append(olap) return overlaps
def eval_grid(t1, cells, intr_prms): t1_norm = None t1_copy = copy(t1) overlaps = [] for cell in cells: try: prms = intr_prms tmp = numpy.array(cell._center)[numpy.newaxis, :] tmp = amrlib.apply_inv_transform(tmp, prms, opts.distance_coordinates).T for p, pval in zip(prms, tmp): #if p == "lam_tilde": #t1_copy.psi0 = pval[0] #t1_copy.psi3 = 0 #else: setattr(t1_copy, p, pval[0]) except AssertionError: rejected.append((cell, 0.0)) continue # FIXME: Hardcoded waveforms olap, t1_norm, _ = lalsimutils.overlap(t1, t1_copy, ovrlp_obj, 0.125, 40, "TaylorF2", "TaylorF2", t1_norm=t1_norm) overlaps.append(olap) return overlaps
grid = amrlib.prune_duplicate_pts(grid, init_region._bounds, spacing) # # Clean up # grid = numpy.array(grid) bounds_mask = amrlib.check_grid(grid, intr_prms, opts.distance_coordinates) grid = grid[bounds_mask] print "%d cells after bounds checking" % len(grid) if len(grid) == 0: exit("All cells would be removed by physical boundaries.") # Convert back to physical mass grid = amrlib.apply_inv_transform(grid, intr_prms, opts.distance_coordinates) cells = amrlib.grid_to_cells(grid, spacing) if opts.setup: grid_group = amrlib.init_grid_hdf(init_region, opts.setup + ".hdf", opts.overlap_threshold, opts.distance_coordinates, intr_prms=intr_prms) level = amrlib.save_grid_cells_hdf(grid_group, cells, "mass1_mass2", intr_prms=intr_prms) else: grp = amrlib.load_grid_level(opts.refine, None) level = amrlib.save_grid_cells_hdf(grp, cells, "mass1_mass2", intr_prms) print "Selected %d cells for further analysis." % len(cells) if opts.setup: fname = "HL-MASS_POINTS_LEVEL_0-0-1.xml.gz" write_to_xml(cells, intr_prms, pin_prms, None, fname, verbose=opts.verbose) else: #m = re.search("LEVEL_(\d+)", opts.result_file)
ovrlp = lalsimutils.Overlap(fLow=f_low, fMax=2000, deltaF=delta_f, psd=psd, analyticPSD_Q=False) idx_range = range(args.tmplt_start_index or 0, args.tmplt_end_index or len(tmplt_bank)) # FIXME: npts = len(tmplt_bank) import h5py h5file = h5py.File("test.hdf", "w") olapdata = h5file.create_group(wtype) for iprm in intr_prms: dat = numpy.array([getattr(t, iprm) for t in tmplt_bank]) olapdata.create_dataset(iprm, maxshape=(npts,), data=dat) olapmat = olapdata.create_dataset("overlaps", shape=(npts, npts)) for i1, pt in enumerate(pts): opt = amrlib.apply_inv_transform(pts[i1,numpy.newaxis].copy(), intr_prms, "mchirp_eta")[0] fname = "%s/%s_%d.json" % (bdir, wtype, i1) # FIXME: This makes my eyes bleed... toc["types"][wtype].append({}) toc["types"][wtype][-1]["mass1"] = opt[0] toc["types"][wtype][-1]["mass2"] = opt[1] toc["types"][wtype][-1]["filename"] = fname if i1 not in idx_range: continue if os.path.exists(fname): continue dist, idx = tree.query(pt, k=npts, return_distance=True)
grid = amrlib.prune_duplicate_pts(grid, init_region._bounds, spacing) # # Clean up # grid = numpy.array(grid) bounds_mask = amrlib.check_grid(grid, intr_prms, opts.distance_coordinates) grid = grid[bounds_mask] print "%d cells after bounds checking" % len(grid) if len(grid) == 0: exit("All cells would be removed by physical boundaries.") # Convert back to physical mass grid = amrlib.apply_inv_transform(grid, intr_prms, opts.distance_coordinates) cells = amrlib.grid_to_cells(grid, spacing) if opts.setup: grid_group = amrlib.init_grid_hdf(init_region, opts.setup + ".hdf", opts.overlap_threshold, opts.distance_coordinates, intr_prms=intr_prms) level = amrlib.save_grid_cells_hdf(grid_group, cells, "mass1_mass2", intr_prms=intr_prms) else: grp = amrlib.load_grid_level(opts.refine, None) level = amrlib.save_grid_cells_hdf(grp, cells, "mass1_mass2", intr_prms)
idx_range = range(args.tmplt_start_index or 0, args.tmplt_end_index or len(tmplt_bank)) # FIXME: npts = len(tmplt_bank) import h5py h5file = h5py.File("test.hdf", "w") olapdata = h5file.create_group(wtype) for iprm in intr_prms: dat = numpy.array([getattr(t, iprm) for t in tmplt_bank]) olapdata.create_dataset(iprm, maxshape=(npts, ), data=dat) olapmat = olapdata.create_dataset("overlaps", shape=(npts, npts)) for i1, pt in enumerate(pts): opt = amrlib.apply_inv_transform(pts[i1, numpy.newaxis].copy(), intr_prms, "mchirp_eta")[0] fname = "%s/%s_%d.json" % (bdir, wtype, i1) # FIXME: This makes my eyes bleed... toc["types"][wtype].append({}) toc["types"][wtype][-1]["mass1"] = opt[0] toc["types"][wtype][-1]["mass2"] = opt[1] toc["types"][wtype][-1]["filename"] = fname if i1 not in idx_range: continue if os.path.exists(fname): continue dist, idx = tree.query(pt, k=npts, return_distance=True)