for name in name_list: csvs = glob.glob("../data/%s/split/*.csv"%name) csv_lists[name] = csvs total_num_csv += len(csvs) asprta = np.load('../data/photon_list/%s_asp.npy'%name) sky_data = SkyCoord(asprta[:,1:3], unit='deg', frame=FK5, equinox='J2000.0') gal = sky_data.transform_to(Galactic) asprta = np.concatenate((np.array([gal.l.deg]).T, np.array([gal.b.deg]).T), axis=1) gal_l.append(np.mean(asprta[:,0])) skypos = [np.mean(gal_l), 0.] skyrange = [np.max(gal_l)-np.min(gal_l)+2., 24.] tranges = [] trange = [0, 0] imsz = imagetools.deg2pix_g(skypos, skyrange, 0.002) wcs = imagetools.define_wcs_g(skypos,skyrange,width=False,height=False,verbose=0,pixsz=0.002) count = np.zeros(imsz) print skypos, skyrange print imsz step = 10 total_p_num = 10 manager = Manager() return_dict = manager.dict() p_list = [] pid = 0 for name in name_list: csvs = csv_lists[name]
flat =flat_hdu[0].data size=flat_hdu[0].header['CDELT2'] #flat = np.load('/scratch/dw1519/galex/data/star_photon/super_iterate3/flat.npy') resample=3 #4 hrflat = scipy.ndimage.interpolation.zoom(flat, resample, order=0,prefilter=False)#scipy.ndimage.interpolation.zoom(flat,size/pixsz,order=1,prefilter=False) print hrflat.shape #hrflat = np.swapaxes(hrflat,0,1) #print hrflat.shape #hrflat = scipy.ndimage.interpolation.rotate(hrflat,-23.4,reshape=False,order=1,prefilter=False) #print hrflat.shape skypos = [np.mean(gal_l), 0.] #skyrange = [np.max(gal_l)-np.min(gal_l)+1.5, 21.5] skyrange = [1.55, 21.5] tranges = [] trange = [0, 0] imsz = imagetools.deg2pix_g(skypos, skyrange, pixsz).astype(int) wcs = imagetools.define_wcs_g(skypos,skyrange,width=False,height=False,verbose=0,pixsz=pixsz) focs = wcs.sip_pix2foc(wcs.wcs_world2pix(coo,0),0) idx = np.argsort(focs[:,1]) focs = focs[idx] asp_solution = asp_solution[idx] dead = dead[idx] cut = cut[idx] foc_list = np.array_split(focs, num_t) asp_solutions = np.array_split(asp_solution, num_t) deads = np.array_split(dead, num_t) cuts = np.array_split(cut, num_t)
flat, resample, order=0, prefilter=False ) #scipy.ndimage.interpolation.zoom(flat,size/pixsz,order=1,prefilter=False) print hrflat.shape hrflat = np.swapaxes(hrflat, 0, 1) print hrflat.shape hrflat = scipy.ndimage.interpolation.rotate(hrflat, -23.4, reshape=False, order=1, prefilter=False) print hrflat.shape skypos = [np.mean(gal_l), 0.] skyrange = [np.max(gal_l) - np.min(gal_l) + 1.5, 21.5] tranges = [] trange = [0, 0] imsz = imagetools.deg2pix_g(skypos, skyrange, pixsz).astype(int) wcs = imagetools.define_wcs_g(skypos, skyrange, width=False, height=False, verbose=0, pixsz=pixsz) manager = Manager() return_dict = manager.dict() p_list = [] for file_num in range(0, num_t): p = Process(target=exp_dead_new, args=(file_num, name_file, imsz, wcs, hrflat, asp_solutions[file_num], deads[file_num],
asprta = np.concatenate( (np.array([gal.l.deg]).T, np.array([gal.b.deg]).T), axis=1) print np.min(asprta[:, 0]) print np.max(asprta[:, 0]) print asprta gal_l.append(np.mean(asprta[:, 0])) skypos = [np.mean(gal_l), 0.] print skypos print np.max(gal_l) print np.min(gal_l) skyrange = [np.max(gal_l) - np.min(gal_l) + 2., 22.] print skyrange tranges = [] trange = [0, 0] imsz = imagetools.deg2pix_g(skypos, skyrange, pixsz) wcs = imagetools.define_wcs_g(skypos, skyrange, width=False, height=False, verbose=0, pixsz=pixsz) count = np.zeros(imsz) print skypos, skyrange print imsz detector_size = [50, 50] dis_map_l = np.load('../data/distortion/5-185-xa_low-centroids.npy') dis_map_h = np.load('../data/distortion/5-185-xa_high-centroids.npy')
def run_one_r_sec(pid, scan_name, step, start, end, return_dict): pixsz = 0.000416666666666667 skypos_count = [5.,-9.5] skyrange_count = [2., 3.] tranges_count = [[0,0]] imsz_count = imsz = imagetools.deg2pix_g(skypos_count, skyrange_count, pixsz) wcs_count = imagetools.define_wcs_g(skypos_count,skyrange_count,width=False,height=False,verbose=0,pixsz=pixsz) count = np.zeros(imsz_count) num_co = int(1/step) hdulist = pyfits.open('../AIS_GAL_SCAN/asprta/%s-asprta.fits'%scan_name) co_data = hdulist[1].data length = co_data.shape[0] cal_initial = int((co_data[1][0]-0.5)*1000) offsets = np.load('../data/%s/cata/offsets_inter_half_sec.npy'%scan_name) angle_list = [-0.035, -0.03, -0.025, -0.02, -0.015, -0.01, -0.005, 0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035] print length for initial_sec in range(start, end): print 'time:%d'%initial_sec file_path = '../data/%s/cata/centroids_sec%d.npy'%(scan_name, initial_sec) ''' if os.path.exists(file_path): print 'skip:%d'%initial_sec continue ''' intitial_asp = co_data[initial_sec] rot = intitial_asp[3] center = np.array([intitial_asp[1], intitial_asp[2]]) #use the first order calibrated asp instead of the original one center = cal_asp_r(offsets, cal_initial, intitial_asp[0]*1000, intitial_asp[1:3], 200) #print(intitial_asp) skypos = [0.0, 0.0] skyrange = [0.02, 0.02] wcs = imagetools.define_wcs(skypos,skyrange,width=False,height=False,verbose=0,pixsz=0.0001) initial_time = intitial_asp[0]-0.5 tranges = [] for sec in range(num_co): tranges.append([initial_time+step*sec, initial_time+step*(sec+1)]) print tranges data = get_data_cal(tranges, scan_name, cal_initial, offsets) print len(data) output = "../data/%s/cata/%s.csv"%(scan_name, scan_name) dir = os.path.dirname(output) if not os.path.exists(dir): os.makedirs(dir) centroids = [] for sec in range(num_co): if len(data[sec]) ==0: centroid = np.array([0.0, 0.0]) centroids.append(centroid) print centroid continue coo1 = np.array(data[sec], dtype='float64')[:,-3:-1] coo2 = catalog_fits.get_catalog(center, 0.69) coo1 = angle_filter(coo1, center, 1.) coo2 = angle_filter(coo2, center, 1.) xi, eta = gn.gnomfwd_simple(coo1[:,0], coo1[:,1], center[0], center[1], -rot, 1/36000., 0.0) max_now = -1000 cent_now = [] for angle in angle_list: coo1[:,0], coo1[:,1] = gn.gnomrev_simple(xi,eta,center[0],center[1],-(rot+angle),1/36000.,0.) centroid, max_value = get_corr_map(coo2, coo1, skypos, skyrange, sec, 0.02, 0.004) if max_value>max_now: max_now = max_value cent_now = np.append(centroid, angle) #centroid.append(angle) coo1[:,0], coo1[:,1] = gn.gnomrev_simple(xi,eta,center[0]-cent_now[0],center[1]-cent_now[1],-(rot+cent_now[2]),1/36000.,0.) sky_data = SkyCoord(coo1, unit='deg', frame=FK5, equinox='J2000.0') gal = sky_data.transform_to(Galactic) data_count = np.concatenate((np.array([gal.l.deg]).T, np.array([gal.b.deg]).T), axis=1) H = hist_g(data_count, wcs_count, imsz_count) count += H sky_data=gal=data_count=H = None gc.collect() #xi2, eta2 = gn.gnomfwd_simple(coo2[:,0], coo2[:,1], center[0], center[1], -rot, 1/36000., 0.0) #r, phi = cart2pol(xi, eta) #r2, phi2 = cart2pol(xi2, eta2) #coo1 = np.array([r,phi]).T #coo2 = np.array([r2,phi2]).T #get_corr_map(coo2, coo1, skypos, skyrange, sec, 0.05, 0.0015) centroids.append(cent_now) print cent_now print centroids #np.save('../data/%s/cata/centroids_rot%d.npy'%(scan_name, initial_sec), centroids) hdu = pyfits.PrimaryHDU(count) hdu = imagetools.fits_header('NUV', skypos_count, tranges_count, skyrange_count, hdu=hdu, wcs=wcs_count) hdulist = pyfits.HDUList([hdu]) hdulist.writeto('../fits/count_map_%s_gal_sec_rot_count.fits'%(scan_name), clobber=False)
gal = sky_data.transform_to(Galactic) asprta = np.concatenate((np.array([gal.l.deg]).T, np.array([gal.b.deg]).T), axis=1) print np.min(asprta[:,0]) print np.max(asprta[:,0]) print asprta gal_l.append(np.mean(asprta[:,0])) skypos = [np.mean(gal_l), 0.] print skypos print np.max(gal_l) print np.min(gal_l) skyrange = [np.max(gal_l)-np.min(gal_l)+2., 22.] print skyrange tranges = [] trange = [0, 0] imsz = imagetools.deg2pix_g(skypos, skyrange, pixsz) wcs = imagetools.define_wcs_g(skypos,skyrange,width=False,height=False,verbose=0,pixsz=pixsz) count = np.zeros(imsz) print skypos, skyrange print imsz detector_size = [50,50] dis_map_l = np.load('../data/distortion/5-185-xa_low-centroids.npy') dis_map_h = np.load('../data/distortion/5-185-xa_high-centroids.npy') dis_map_l = dis_map_l.reshape(50*50,2)/detector_size[0]*36000*800*0.001666 dis_map_h = dis_map_h.reshape(50*50,2)/detector_size[0]*36000*800*0.001666 cen_x = np.arange(detector_size[0])+0.5 cen_y = np.arange(detector_size[1])+0.5 xi = np.repeat(detector2gon(cen_x, detector_size[0]), detector_size[1])
asp_solution = np.concatenate(asp_solution_list, axis=0) sky_data = SkyCoord(asp_solution[:, 1:3], unit='deg', frame=FK5, equinox='J2000.0') gal = sky_data.transform_to(Galactic) asp_solution[:, 1:3] = np.concatenate( (np.array([gal.l.deg]).T, np.array([gal.b.deg]).T), axis=1) asp_solutions = np.array_split(asp_solution, num_t) skypos = [np.mean(gal_l), 0.] skyrange = [np.max(gal_l) - np.min(gal_l) + 2., 24.] tranges = [] trange = [0, 0] imsz = imagetools.deg2pix_g(skypos, skyrange, 0.00166667) wcs = imagetools.define_wcs_g(skypos, skyrange, width=False, height=False, verbose=0, pixsz=0.00166667) count = np.zeros(imsz) cata = spi.load_obj('../data/%s_starset_extra_all_star' % scan_name) cata_a = np.array(list(cata)) cata_len = len(cata_a) print cata_a mask_faint = cata_a[:, 3] < 40