O Python é uma ótima linguagem para a ciência e, especificamente, para a astronomia. Do mesmo modo, os vários pacotes, como NumPy, SciPy, Scikit-Image e Astropy (para citar apenas alguns), são todos um grande testemunho da adequação do Python à astronomia. Neste artigo, conheça essas 4 ferramentas Python para a astronomia.
Relato de quem usou 4 ferramentas do Python na astronomia
A seguir, leia o relato de Gina Helfrich, Ph.D e diretora de Comunicações e Cultura na NumFOCUS, conforme reproduzido pelo site Opensource.com:
Desde que deixei o campo da pesquisa astronômica para trás, há mais de 10 anos, para iniciar uma segunda carreira como desenvolvedora de software, sempre me interessei pela evolução desses pacotes (os citados no primeiro parágrafo deste artigo). Muitos de meus ex-colegas de astronomia usaram a maioria, se não todos, esses pacotes para o trabalho de pesquisa. Desde então, trabalhei na implementação de pacotes de software profissional de astronomia para instrumentos do Very Large Telescope (VLT) no Chile, por exemplo.
Recentemente, percebi que os pacotes Python evoluíram a tal ponto que agora é bastante fácil para qualquer um criar scripts de redução de dados que possam fornecer produtos de dados de alta qualidade. Os dados astronômicos são onipresentes e, além do mais, estão quase todos disponíveis ao público — você só precisa procurá-los.
Mãos à obra!
Por exemplo, o ESO, que gerencia o VLT, oferece os dados para download em seus sites. Acesse www.eso.org/UserPortal e crie um nome de usuário para o portal. Se você procurar dados do instrumento SPHERE, poderá fazer o download de um conjunto de dados completo de qualquer uma das estrelas próximas que tenham exoplanetas ou de discos proto-estelares. É um projeto fantástico e emocionante para qualquer entusiasta de Python reduzir esses dados e tornar visíveis os planetas ou discos que estão profundamente ocultos no ruído da imagem.
Convido você a baixar do site do ESO ou qualquer outro conjunto de dados de imagem de astronomia e prosseguir nessa aventura. Aqui estão algumas dicas:
- Comece com um bom conjunto de dados. Além disso, dê uma olhada em documentos sobre estrelas próximas com discos ou exoplanetas e pesquise, por exemplo: http://archive.eso.org/wdb/wdb/eso/sphere/query. Observe que alguns dados neste site estão marcados em vermelho e outros em verde. Os dados em vermelho ainda não estão disponíveis ao público — eles informarão em “data de lançamento” quando estarão disponíveis.
- Leia algo sobre o instrumento do qual você está usando os dados. Além disso, tente e obtenha um entendimento básico de como os dados são obtidos e como deve ser a redução de dados padrão. Todos os telescópios e instrumentos têm documentos disponíveis publicamente sobre isso.
- Você precisará considerar os problemas padrão com dados astronômicos e corrigi-los:
4 ferramentas Python e suas ramificações no estudo da astronomia
1. Os dados são fornecidos em arquivos FITS.
Você precisará de pyfits ou astropy (que contém pyfits) para lê-los em matrizes NumPy. Em alguns casos, os dados são fornecidos em um cubo e você deve usar numpy.median ao longo do eixo Z para transformá-los em matrizes 2D. Ainda mais, para alguns dados do SPHERE, você obtém duas cópias do mesmo pedaço de céu na mesma imagem (cada uma com um filtro diferente) que você precisará extrair usando indexing e slicing.
2. O mapa mestre de pixels escuro e ruim.
Todos os instrumentos terão imagens específicas tiradas como “quadros escuros” que contêm imagens com o obturador fechado (sem luz alguma). Use-os para extrair uma máscara de pixels ruins usando NumPy masked arrays para isso. Essa máscara de pixels ruins será muito importante — você precisará acompanhá-la enquanto processa os dados para obter uma imagem combinada limpa no final. Em alguns casos, também ajuda a subtrair esse master dark de todas as imagens científicas brutas.
3. Os instrumentos também costumam ter um quadro plano mestre.
Esta é uma imagem ou série de imagens tiradas com uma fonte de luz uniforme e plana. Você precisará dividir todas as imagens científicas brutas por esta (novamente, o uso de NumPy masked arrays torna essa uma operação de divisão fácil).
4. Estudando planetas.
Para imagens de planeta, a técnica fundamental para tornar os planetas visíveis contra uma estrela brilhante depende do uso de um coronógrafo e de uma técnica conhecida como imagem diferencial angular. Para esse fim, você precisa identificar o centro óptico nas imagens. Em suma, essa é uma das etapas mais complicadas e requer a localização de algumas imagens auxiliares artificiais incorporadas nas imagens usando skimage.feature.blob_dog.
4 ferramentas Python para a astronomia
Seja paciente. Pode demorar um pouco para entender o formato dos dados e como lidar com isso. Por outro lado, fazer alguns gráficos e histogramas dos dados de pixel pode ajudá-lo a entendê-los. Vale a pena ser persistente! Posteriormente, você aprenderá muito sobre dados e processamento de imagens.
Por fim, usando as ferramentas oferecidas pelos 4 pacotes do Python conhecidos como NumPy, SciPy, Astropy, scikit-image e algumas outras, com alguma paciência e persistência, é possível analisar a grande quantidade de dados da astronomia disponíveis para produzir resultados impressionantes. E quem sabe, talvez você seja o primeiro a encontrar um planeta que antes era desconhecido! Boa sorte!
Neste artigo, você conheceu 4 ferramentas Python para quem quer iniciar na astronomia.
Fonte: Opensource.com
Leia também:
Por que o Python é considerado a melhor linguagem de programação à frente do JavaScript e do C++