#!/usr/bin/env python

import IMP.em


def main():
    IMP.set_log_level(IMP.SILENT)
    desc = "Resample a density map."
    p = IMP.ArgumentParser(description=desc)
    p.add_argument("density", help="input EM density map file name")
    p.add_argument("resample_level", type=int, help="resample level 2/3/4...")
    p.add_argument("output", help="output resampled EM density map file name")
    args = p.parse_args()
    in_map_fn = args.density
    resample_level = args.resample_level
    output_map_fn = args.output
    # read the protein
    dmap = IMP.em.read_map(in_map_fn)
    r_dmap = IMP.em.get_resampled(dmap, resample_level)
    IMP.em.write_map(r_dmap, output_map_fn, IMP.em.MRCReaderWriter())

if __name__ == "__main__":
    main()
