예제 #1
0
def do_photometry(args):
    #for ii, im_name in enumerate(args.images):
        # If the catalogue exists already, use it, if it doesn't, create it using SEP
        #else:
        #    cat_name = "mierda.cat"
        #    detect_sources(im_name, cat_name)
    im = astroim.Astroim(args.images[0])
    hdr = im.primary_header
    chip_hdr = im.chips[0].header
    gaink, objectk, filterk, datek = chip_hdr.gaink, hdr.objectk, hdr.filterk, hdr.datek
    exptimek, airmassk, timek   =  hdr.exptimek, hdr.airmassk, hdr.timek



    arguments_common = ["--uik", "", "--margin", "20", "--gaink", gaink, "--cbox", args.cbox, "--individual-fwhm",
                   "--objectk", objectk, "--filterk", filterk, "--datek", datek, "--expk", exptimek, "--fwhmk", "seeing",
                   "--airmk", airmassk, "--timek", timek, "--overwrite", "--coordinates",
                   args.coordinates[0], args.images[0]] + args.images + args.output
    if args.unit == "FWHM":
        photometry.main(arguments = ["--aperture", args.aperture, "--annulus", args.annulus, "--dannulus", args.dannulus] +\
                                     arguments_common)
    elif args.unit == "pix":
        photometry.main(arguments= ["--aperture-pix", args.aperture, "--annulus-pix", args.annulus,
                                    "--dannulus-pix", args.dannulus] +  arguments_common)

    return args.output
예제 #2
0
    list_images = utilities.locate_images2(dir, in_pattern)
    return list_images



list_images = search_images(directory)

print "For each object and filter, do photometry on all images"
AllObj_set = set(x for x,t in zip(list_images["objname"], list_images["type"]) if t in ["standards", "cig", "clusters"])
for obj in AllObj_set: # for each of the standards
    obj_images = list(list_images["filename"][np.where( (list_images["objname"] == obj))])
    output_db = os.path.join(directory, obj+".db")
    utilities.if_exists_remove(output_db)
    coord_file = utilities.replace_extension(obj_images[0], "radec")
    photometry.main(arguments=["--maximum", str(max_counts), "--uik", "", "--margin", "20", "--gaink", gaink,
                              "--aperture", "4.", "--annulus", "6", "--dannulus", "2", "--individual-fwhm", "--objectk", objectk,
                              "--filterk", filterk, "--datek", datek, "--expk", exptimek, "--fwhmk", seeingk, "--airmk", airmassk,
                              "--coordinates", coord_file, obj_images[0]] + obj_images + [output_db])

print "Find extinction coefficient from photometry of standards"
standards_set = set(x for x,t in zip(list_images["objname"], list_images["type"]) if t == "standards")
coefficient_list = []
for obj in standards_set:
    input_db = os.path.join(directory, obj+".db")
    airmasses, magnitudes, filters, SNR = extract.main(input_db)
    magnitude_errors_minus, magnitude_errors_plus = snr.snr_to_error(SNR)
    mag_errors = (-magnitude_errors_minus + magnitude_errors_plus) / 2.
    for filt in set(filters.flatten()):
        # find columns with the current filter
        columns = [ii for ii in range(len(filters[0, :])) if filters[0,ii] == filt]
        # if there are more than two images
        if len(airmasses[0,columns]) > 0 and len(airmasses[0,columns]) > 2: