print 'min_epochs: %d' % min_epochs archivos = np.genfromtxt(input_list, dtype='string') def load_file(archivo): data = np.genfromtxt(archivo, unpack=True) return data #todos = [] #for f in archivos: # data = np.genfromtxt(f, unpack=True) # todos.append(data) print '\nLeyendo archivos...' #todos = Parallel(n_jobs=4, verbose=8)(delayed(load_file)(f) for f in archivos) todos = barra(load_file, archivos, nprocs) #Encuentra el ID maximo print 'Encontrando maximo de estrellas' maximos = np.zeros(len(todos)) for i in xrange(len(todos)): maximos[i] = np.max(todos[i][0]) maximo = int(np.max(maximos)) print'\tID Maximo: %d' %maximo #Genera matriz donde van todos los catalogos allcat = np.zeros((maximo, len(todos)*7)) allcat[:] = np.nan total_id = np.arange(1,maximo+1)
print 'Iniciando con...' print 'modo: %s' % modo print 'tol: %.3f' % tol stilts_folder = os.path.dirname(os.path.realpath(__file__)) catalog = np.genfromtxt(inputs, dtype='string') #catalog = sorted(glob.glob(folder+'*k*.dat')) matcher = 'sky params=%.3f' % tol if modo=='ID': matcher = 'exact' if modo == 'RA DEC': modo = '"RA DEC"' #for cat in catalog: def match(cat): if cat == ref_cat: return zeros = ref_cat.split('.')[0][-3:] #os.system('java -jar -Xmx4096M stilts.jar tmatch2 in1='+ref_cat+' values1="RA DEC" ifmt1=ascii in2='+cat+' values2="RA DEC" ifmt2=ascii matcher=sky params="0.3" find=best join=1and2 out='+cat.replace('.dat','_'+cat[-7:-4]+'.match')+' ofmt=ascii') execute = 'java -jar '+ stilts_folder+'/stilts.jar tmatch2 in1='+ref_cat+' values1='+modo+' ifmt1=ascii in2='+cat+' values2='+modo+' ifmt2=ascii matcher='+matcher+' find=best join=1and2 out='+cat.replace('.dat','_'+zeros+'.mat')+' ofmt=ascii' #print execute,'\n' os.system(execute) barra(match, catalog, nprocs) #ProgressBar.map(match,catalog,multiprocess=True)
poptx, pcovx = curve_fit(linear,coords,ep1_x) popty, pcovy = curve_fit(linear,coords,ep1_y) errx = np.sqrt(np.diag(pcovx)) erry = np.sqrt(np.diag(pcovy)) ctxk = linear([x2[k],y2[k]],*poptx) ctyk = linear([x2[k],y2[k]],*popty) ctxe = elinear([x2[k], y2[k]], *errx) ctye = elinear([x2[k], y2[k]], *erry) return np.array([ctxk, ctyk, ctxe, ctye, nnek]) results = barra(local_tlineal, xrange(x1.size), nprocs) results = np.transpose(results) ctx, cty, ctxe, ctye, nne = results #Version original sin paralelo ''' with ProgressBar(x1.size) as bar: #para cada estrella del catalogo: for k in range(x1.size): if len(nei[k]) < min_nei: ctx[k] = np.nan cty[k] = np.nan nne[k] = len(nei[k]) #ctx[k] = x1[k] - 888.8
sys.exit(1) path = sys.argv[1] lista = sys.argv[2] nprocs = get_XYtoRADEC() if path[-1]!='/': path = path + '/' #Transforma de XY a RADEC def XYtoRADEC(ep): ffn,cfn = ep id,x,y,mag,err = np.loadtxt(path+cfn,usecols=range(5),skiprows=3,unpack=True) id = id.astype(int) hdr = pf.open(path+ffn)[0].header w = wcs.WCS(hdr) ra,dec = np.transpose(w.wcs_pix2world(np.transpose([x,y]),1)) head = 'ID RA DEC X Y MAG ERR' fmt = '%d %.7f %.7f %.3f %.3f %.3f %.3f' np.savetxt(ffn.replace('fits','dat'),np.transpose([id,ra,dec,x,y,mag,err]),header=head,fmt=fmt) catalog = np.genfromtxt(lista, unpack=True, dtype='string') fits = np.array([f.split('.')[0] + '.fits' for f in catalog]) color_print('-Obteniendo RADEC...','cyan') barra(XYtoRADEC, np.transpose([fits, catalog]), 1)
return tabla #Lee los archivos con DX DY referencia = sys.argv[1] archivos = np.sort(glob.glob('./PMs/PM_*')) nro_arch = len(archivos) nro_epoca = np.sort([int(f.split('_')[1].split('.')[0]) for f in archivos]) color_print('Epocas:', 'lightgray') print(nro_epoca) #Realiza el match entre los PM_*.dat if not os.path.isfile('PM.h5'): print('\nPM.h5 no encontrado, generando archivo...') todos = barra(load_file, archivos, nprocs) maximos = np.zeros(len(todos)) refdatax = load_file(referencia) refdatax = refdatax.T[np.argsort(refdatax[0])].T for i in xrange(len(todos)): maximos[i] = np.max(todos[i][0]) maximo = np.max(maximos) maximo = np.max([maximo, np.nanmax(refdatax[0])]) total_id = np.arange(1, maximo+1) refdata = np.zeros((maximo, len(refdatax))) refdata[:] = np.nan refidsm = np.in1d(total_id, refdatax[0])