コード例 #1
0
ファイル: master_match_id.py プロジェクト: astrofelipe/MP2015
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)
コード例 #2
0
ファイル: match_1a1.py プロジェクト: astrofelipe/MP2015
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)
コード例 #3
0
ファイル: tlineal2.py プロジェクト: astrofelipe/MP2015
            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
コード例 #4
0
ファイル: XYtoRADEC.py プロジェクト: astrofelipe/MP2015
	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)
コード例 #5
0
ファイル: pm_1a1.py プロジェクト: astrofelipe/MP2015
    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])