O objetivo desse tuturial é gerar uma carta do céu e identificar certas estrelas nesta carta. O propósito é o planejamento de uma observação astronômica, nesse caso do aglomerado globular NGC 2298. Com essa carta o observador vai saber se o telescópio está apontando na direção que deveria estar apontando. O campo é uma simulação do campo de visão do instrumento MOSAIC2 do telescópio Blanco de 4m.
Bom, vamos ao Python... Para rodar esse programa você vai precisar dos módulos NumPy e PyLab, ambos disponíveis através do repositório Debian/Ubuntu e do módulo APLpy que deve ser instalado manualmente. Além disso para rodar você precisa baixar e descompactar os arquivos específicos para esse problema aqui.
O produto final, se tudo der certo, deve ser algo do tipo:
#!/usr/bin/python
from pylab import *
import aplpy
import numpy as np
Alphabet = map(chr, range(65, 91)) # Capitalized alphabet
fig = figure(figsize=(10,10))
gc = aplpy.FITSFigure('field.fits',figure=fig, subplot=[0.15,0.1,0.8,0.8])
gc.show_grayscale()
gc.show_grid()
gc.set_grid_alpha(0.2)
# read and plot the GSC stars
f = np.loadtxt('gsc.dat')
ra,dec = f[:,0],f[:,1]
gc.show_markers(ra,dec,edgecolor='red',marker='o',s=50)
#this convert from world coordinates to pixel (canvas) coordinates
newra,newdec = gc.world2pixel(ra+0.025,dec)
#place a tag near each marked point in the image
for i in range(f.shape[0]):
text(newra[i],newdec[i],Alphabet[i],fontsize=16,color='red')
#save as png
gc.save('findingchart.png')
Cara, valeu pelos exemplos com Python, continua postando! Agora mesmo estou instalando o numpy e outras bibliotecas via macports. Talvez no futuro eu passe a usar Python ao invés de fortran 90 para fazer umas contas mais cabeludas.
ReplyDeletePergunta: tu sabes se tem openmp implementado para python?
sugiro que continue fazendo as coisas cabeludas em fortran ou C.
ReplyDeleteO python permite exportar rotinas do fortran usando o programa f2py e as rotinas do C são automaticamente suportadas. Estão dá pra paralelizar em fortran e rodar em python usando o OpenMP ou OpenMPI, não me pergunte como... um dia eu posto um exemplo de como usar o f2py.