Changeset 30 for mire


Ignore:
Timestamp:
10/17/08 16:55:09 (16 years ago)
Author:
meynadie
Message:
 
Location:
mire
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • mire/mire.sh

    r28 r30  
    2222OUTPUT_FITS=$(basename $1 .fits)_sf.fits 
    2323OUTPUT_RING=$(basename $1 .fits).ring 
     24OUTPUT_SQUARE=$(basename $1 .fits).square 
    2425 
    2526if test $skip_sextractor == false 
     
    3435echo "Mesures géométriques..." 
    3536OUTPUT_FILENAME=$(basename $1 .fits).mes 
    36 python $PATH_TO_MIRE/process.py -c $CATALOG -r $2 -o $OUTPUT_FITS -m $OUTPUT_FILENAME -t $3 --ring $OUTPUT_RING 
     37python $PATH_TO_MIRE/process.py -c $CATALOG -r $2 -o $OUTPUT_FITS -m $OUTPUT_FILENAME -t $3 --ring $OUTPUT_RING -s $OUTPUT_SQUARE 
    3738 
    3839 
  • mire/mire_all.sh

    r28 r30  
    2626 
    2727moyenne_ring.py > moyenne_ring 
     28carre.py > carre 
  • mire/process.py

    r28 r30  
    2626parser.add_option("--ring",dest="ring", 
    2727                  default="output.ring", 
     28                  help="Name of the output measurement file") 
     29parser.add_option("-s","--square",dest="square", 
     30                  default="output.square", 
    2831                  help="Name of the output measurement file") 
    2932parser.add_option("-t","--timing",dest="timing", 
     
    98101    if (detections ==0): 
    99102        print "Erreur ! Pas de détection pour repÚre ",i 
     103        #real_rep[i,:]=rep[i,:] 
    100104        exit (2) 
    101105 
     
    181185            if (nb_voisin > 0): 
    182186                catalog[knot_idx]['MEAN_DIST_TO_NGBRS'] = float(distance)/weights 
    183                 lookup_sources[i,j,3] = 60./ (float(distance)/weights) 
     187                lookup_sources[i,j,3] = (float(distance)/weights) 
    184188         
    185189cleaned_catalog = [] 
     
    259263a = lookup_sources[:,:,3] 
    260264 
     265for i in range(81): 
     266    for j in range(81): 
     267        if (a[i,j] > 0): 
     268            a[i,j] = 60.0/a[i,j] 
     269        else : 
     270            a[i,j] = 1.06 
     271 
     272# Interpolation de la case du "P" 
     273 
     274a[41,41] = (a[42,41] + a[40,41] + a[41,42] + a[41,40]) /4. 
     275 
    261276hdu = pyfits.PrimaryHDU(a) 
    262277hdulist = pyfits.HDUList([hdu]) 
    263278 
    264279hdu.writeto(options.outputfits,clobber=True) 
     280 
    265281 
    266282# Facteur d'échelle moyen 
     
    351367output_couronne.close() 
    352368         
     369# On parcourt un carré de surface équivalente à la couronne définie ci dessus 
     370# Le facteur d'échelle est calculé par rapport au point opposé du carré 
     371# soit un cÃŽté de 28 noeuds 
     372 
     373 
     374# Le centre a été trouvé pour la couronne 
     375i_cen = cleaned_catalog[i_centre]["I_GRID"] 
     376j_cen = cleaned_catalog[i_centre]["J_GRID"] 
     377 
     378# On se refait un "lookup" simplifié 
     379 
     380synthese = zeros((81,81,2)) 
     381 
     382for source in cleaned_catalog: 
     383    synthese[source['I_GRID'],source['J_GRID'],0] = source['X_IMAGE'] 
     384    synthese[source['I_GRID'],source['J_GRID'],1] = source['Y_IMAGE'] 
     385 
     386valeurs =  []  
     387for i in range(-14,15): 
     388    vecteur = synthese[i_cen+14,j_cen+i,:] - synthese[i_cen-14,j_cen+i,:] 
     389    valeurs.append(modulus(vecteur)) 
     390 
     391valeurs_orth = [] 
     392for i in range(-14,15): 
     393    vecteur = synthese[i_cen+i,j_cen+14,:] - synthese[i_cen+i,j_cen-14,:] 
     394    valeurs_orth.append(modulus(vecteur)) 
     395 
     396for i in range(len(valeurs)): 
     397    if valeurs[i] > 0: 
     398        valeurs[i] = 28*60./valeurs[i] 
     399 
     400for i in range(len(valeurs_orth)): 
     401    if valeurs_orth[i] > 0: 
     402        valeurs_orth[i] = 28*60./valeurs_orth[i] 
     403 
     404 
     405# on vire les valeurs aberrantes 
     406def f(x): 
     407    return ((x < 1.07) and (x > 1.05)) 
     408 
     409valeurs = filter(f, valeurs) 
     410valeurs_orth = filter(f, valeurs_orth) 
     411 
     412output_square = open(options.square,'w') 
     413outs = "# moyennes: %f / %f phase: %f date: %s\n" % (mean(valeurs), 
     414                                                     mean(valeurs_orth), 
     415                                                     phase, 
     416                                                     dt.isoformat()) 
     417output_square.write(outs) 
     418 
     419for valeur in valeurs: 
     420    outs = "%f\n" % (valeur) 
     421    output_square.write(outs) 
     422 
     423output_square.write('orth \n') 
     424 
     425for valeur in valeurs_orth: 
     426    outs = "%f\n" % (valeur) 
     427    output_square.write(outs) 
     428 
     429output_square.close() 
Note: See TracChangeset for help on using the changeset viewer.