#!/usr/bin/env python
from request_sdss import *
import numpy as np
from astropy.io import fits
from astropy.wcs import WCS
from astropy.coordinates import SkyCoord
from astropy import units as u
import os

def create_assoc(name):
  f_reg = open('regions_stars_cfhtm.reg', 'w')
  f_assoc = open('assoc_stars_list_cfhtm.txt', 'w')
  hdulist = fits.open(name)
  w = WCS(hdulist['SCI'].header)
  hdr=hdulist['SCI'].header
  dat = hdulist['SCI'].data 
  
  width=dat.shape[0]
  height=dat.shape[1]
  ra1, dec1 = w.wcs_pix2world(1, 1, 0)
  ra2, dec2 = w.wcs_pix2world(width, height, 0)
  print ra1
  c1 = SkyCoord(ra=ra1*u.degree, dec=dec1*u.degree, frame='icrs')
  c2 = SkyCoord(ra=ra2*u.degree, dec=dec2*u.degree, frame='icrs')
  sep = c1.separation(c2)
  rad = sep.arcmin/2
  ra_c = (ra1+ra2)/2
  dec_c = (dec1+dec2)/2
  stars_json = search_sdss_star(ra_c,dec_c,rad)
  json=stars_json[0]["Rows"]
  i=0
  for row in json:
    dec=row["dec"]
    ra=row["ra"]
    x, y = w.wcs_world2pix(ra, dec, 0)
    if (x > 0) & (y>0) & (x < width) & (y < height) :
      string_to_reg_file =  'circle('+str(x)+','+str(y)+',7.0")'
      string_to_assoc_file =  str(x)+'	'+str(y)
      
      f_reg.write(string_to_reg_file + '\n')
      f_assoc.write(string_to_assoc_file + '\n')
      i=i+1
  f_reg.close()
  f_assoc.close()
  print i
