#!/usr/bin/pyhton # get_photometric.py # Jure Skvarc, May 2000 # For the given list of images, get all photometric standards stars, # read star lists and find matching stars # Show those stars on screen import stars from FITS import * import fitsblink from astrotrig import * import re import os from string import * import fileinput # Access PHOTOM star catalog phot = stars.Catalog('PHOT', '/home/jure/astro/tass/disk15/diary') # Initialize fitsblink # Fitsblink must be started with option -s to know it is in script mode #arguments = ["fitsblink", "-s"] # Define the command line tokens #argc = len(arguments) #args = fitsblink.string_array(argc + 1) # Create an array of chars # Put arguments into array #for i in range(argc): # fitsblink.string_set(args, i, arguments[i]) #fitsblink.string_set(args, argc, "") # Start fitsblink and initialize graphic interface #fitsblink.main0(argc, args) imagenames = '^H.*fts' imagere = re.compile(imagenames) files = os.listdir('.') for name in files: if imagere.search(name) != None: if os.path.isfile(name): print name #fitsblink.load_image(name, 0) # Read keywords keywords = getFITSkeywords(name) width = float(keywords['CDELT1'][0]) * float(keywords['NAXIS1'][0]) height = float(keywords['CDELT2'][0]) * float(keywords['NAXIS2'][0]) ra = float(keywords['CRVAL1'][0]) dec = float(keywords['CRVAL2'][0]) fi = float(keywords['CROTA1'][0]) minmag = 0 maxmag = 15 stars = phot.get_stars(ra, dec, width = width, height = height, \ fi = fi,\ w = int(keywords['NAXIS1'][0]),\ h = int(keywords['NAXIS2'][0]),\ minmag = minmag, maxmag = maxmag) for a in stars: a.ra = a.ra * 0.01745329252 a.dec = a.dec * 0.01745329252 #fitsblink.Append_marker(0, a.x, a.y, 5.0, a.id, "red", "circle") #print a # Read the original star list datname = split(name, '.')[0] + '.dat' for line in fileinput.input(datname): # Skip the first line if fileinput.lineno() == 1: continue (intensity, ra, dec) = map(float, split(line)[3:6]) # Find if any star from photometric catalog matches ra = ra * 0.01745329252 dec = dec * 0.01745329252 for a in stars: if a.i != 99.0 and a.i != -99.0 and angular_distance(ra, dec, a.ra, a.dec) < 0.0000096: print '%20s %8d %7.3f %7.3f %8.4f %8.4f %8.4f %8.4f' %\ ( a.id, intensity, a.i, a.si, a.ra / 0.01745329252, \ ra / 0.01745329252, a.dec / 0.01745329252, dec / 0.01745329252) #fitsblink.Set_image(0) #fitsblink.Draw_image(0) #while 1: # fitsblink.loop()