1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
| #!/usr/bin/python
# coding: utf-8
from astropy.io import fits
import numpy as np
import matplotlib.pyplot as plt
import os
indir = '/home/valentin/Desktop/Fields'
for root, dirs, filenames in os.walk(indir) :
for f in filenames :
reading = fits.open(filenames) # Ouverture du fichier à l'aide d'astropy
tbdata = filenames[1].data # Lecture des données fits
#######################################################
# Application du tri en fonction de divers paramètres #
#######################################################
mask1 = tbdata['CHI'] < 1.0 # Création d'un masque pour la condition CHI
tbdata_temp1 = tbdata[mask1]
mask2 = tbdata_temp1['PROB'] > 0.01 # Création d'un second masque sur la condition PROB
tbdata_temp2 = tbdata_temp1[mask2]
mask3 = tbdata_temp2['SHARP'] > -0.4 # Création d'un 3e masque sur la condition SHARP (1/2)
tbdata_temp3 = tbdata_temp2[mask3]
mask4 = tbdata_temp3['SHARP'] < 0.1 # Création d'un 4e masque sur la condition SHARP (2/2)
tbdata_final = tbdata_temp3[mask4]
print tbdata_final # Affichage de la table après toutes les conditions
hdu = fits.BinTableHDU(data=tbdata_final)
hdu.writeto('{}_{}'.format(filename, 'traité')) # Ecriture du résultat obtenu dans un nouveau fichier fits
#################################################
# Détermination des valeurs extremales du champ #
#################################################
RA_max = np.max(tbdata['RA'])
RA_min = np.min(tbdata['RA'])
print "RA_max vaut : " + str(RA_max)
print "RA_min vaut : " + str(RA_min)
DEC_max = np.max(tbdata['DEC'])
DEC_min = np.min(tbdata['DEC'])
print "DEC_max vaut : " + str(DEC_max)
print "DEC_min vaut : " + str(DEC_min)
#########################################
# Calcul de la valeur centrale du champ #
#########################################
RA_central = (RA_max + RA_min)/2.
DEC_central = (DEC_max + DEC_min)/2.
print "RA_central vaut : " + str(RA_central)
print "DEC_central vaut : " + str(DEC_central)
#######################################
# Traçage diagramme Couleur-Magnitude #
#######################################
plt.plot(tbdata_final['G'] - tbdata_final['R'], tbdata_final['G'], '.')
plt.title('Diagramme Couleur-Magnitude')
plt.xlabel('(g-r)')
plt.ylabel('g')
plt.xlim(-2,2)
plt.ylim(15,26)
plt.gca().invert_yaxis()
plt.show()
#reading.close() |
Partager