Пример #1
0
        for ind in group:
            f.write("%s\n" % ids[ind])
    # Set up mapmaking for this group
    weights = [mapmaking.FilterWindow(config.get("tod_window"))
               ] if config.get("tod_window") else []
    signal_cut = mapmaking.SignalCut(scans, dtype, comm_sub)
    signal_phase = mapmaking.SignalPhase(scans,
                                         pids=[0] * len(scans),
                                         patterns=pboxes[pid:pid + 1],
                                         array_shape=(args.nrow, args.ncol),
                                         res=daz,
                                         dtype=dtype,
                                         comm=comm_sub,
                                         cuts=signal_cut,
                                         ofmt="phase")
    signal_cut.precon = mapmaking.PreconCut(signal_cut, scans)
    signal_phase.precon = mapmaking.PreconPhaseBinned(signal_phase, signal_cut,
                                                      scans, weights)
    filters = []
    if args.dedark:
        filters.append(mapmaking.FilterDedark())
    if args.demode:
        filters.append(
            mapmaking.FilterPhaseBlockwise(daz=4 * utils.arcmin, niter=10))
    if args.decommon:
        filters.append(mapmaking.FilterCommonBlockwise())

    eq = mapmaking.Eqsys(scans, [signal_cut, signal_phase],
                         weights=weights,
                         filters=filters,
                         dtype=dtype,
Пример #2
0
    #	tod = np.zeros([scan.ndet, scan.nsamp], dtype)
    #	imaps  = eqsys.dof.unzip(eqsys.b)
    #	iwork = [signal.prepare(map) for signal, map in zip(eqsys.signals, imaps)]
    #	for signal, work in zip(eqsys.signals, iwork)[::-1]:
    #		signal.forward(scan, tod, work)
    #	np.savetxt("test_enki1/tod_Pb%d.txt" % si, tod[0])

    L.info("Initializing preconditioners")
    for param, signal in zip(signal_params, signals):
        # Null-preconditioner common for all types
        if "prec" in param and param["prec"] == "null":
            signal.precon = mapmaking.PreconNull()
            print "Warning: map and cut precon must have compatible units"
            continue
        if param["type"] == "cut":
            signal.precon = mapmaking.PreconCut(signal, myscans)
        elif param["type"] in ["map", "bmap", "fmap"]:
            prec_signal = signal if param[
                "type"] != "bmap" else signal.get_nobuddy()
            if param["prec"] == "bin":
                signal.precon = mapmaking.PreconMapBinned(
                    prec_signal, signal_cut, myscans, weights)
            elif param["prec"] == "jacobi":
                signal.precon = mapmaking.PreconMapBinned(prec_signal,
                                                          signal_cut,
                                                          myscans,
                                                          weights,
                                                          noise=False)
            elif param["prec"] == "hit":
                print "Warning: map and cut precon must have compatible units"
                signal.precon = mapmaking.PreconMapHitcount(