- Timestamp:
- 10/17/08 16:55:09 (16 years ago)
- Location:
- mire
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
mire/mire.sh
r28 r30 22 22 OUTPUT_FITS=$(basename $1 .fits)_sf.fits 23 23 OUTPUT_RING=$(basename $1 .fits).ring 24 OUTPUT_SQUARE=$(basename $1 .fits).square 24 25 25 26 if test $skip_sextractor == false … … 34 35 echo "Mesures géométriques..." 35 36 OUTPUT_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 37 python $PATH_TO_MIRE/process.py -c $CATALOG -r $2 -o $OUTPUT_FITS -m $OUTPUT_FILENAME -t $3 --ring $OUTPUT_RING -s $OUTPUT_SQUARE 37 38 38 39 -
mire/mire_all.sh
r28 r30 26 26 27 27 moyenne_ring.py > moyenne_ring 28 carre.py > carre -
mire/process.py
r28 r30 26 26 parser.add_option("--ring",dest="ring", 27 27 default="output.ring", 28 help="Name of the output measurement file") 29 parser.add_option("-s","--square",dest="square", 30 default="output.square", 28 31 help="Name of the output measurement file") 29 32 parser.add_option("-t","--timing",dest="timing", … … 98 101 if (detections ==0): 99 102 print "Erreur ! Pas de détection pour repÚre ",i 103 #real_rep[i,:]=rep[i,:] 100 104 exit (2) 101 105 … … 181 185 if (nb_voisin > 0): 182 186 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) 184 188 185 189 cleaned_catalog = [] … … 259 263 a = lookup_sources[:,:,3] 260 264 265 for 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 274 a[41,41] = (a[42,41] + a[40,41] + a[41,42] + a[41,40]) /4. 275 261 276 hdu = pyfits.PrimaryHDU(a) 262 277 hdulist = pyfits.HDUList([hdu]) 263 278 264 279 hdu.writeto(options.outputfits,clobber=True) 280 265 281 266 282 # Facteur d'échelle moyen … … 351 367 output_couronne.close() 352 368 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 375 i_cen = cleaned_catalog[i_centre]["I_GRID"] 376 j_cen = cleaned_catalog[i_centre]["J_GRID"] 377 378 # On se refait un "lookup" simplifié 379 380 synthese = zeros((81,81,2)) 381 382 for 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 386 valeurs = [] 387 for 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 391 valeurs_orth = [] 392 for 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 396 for i in range(len(valeurs)): 397 if valeurs[i] > 0: 398 valeurs[i] = 28*60./valeurs[i] 399 400 for 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 406 def f(x): 407 return ((x < 1.07) and (x > 1.05)) 408 409 valeurs = filter(f, valeurs) 410 valeurs_orth = filter(f, valeurs_orth) 411 412 output_square = open(options.square,'w') 413 outs = "# moyennes: %f / %f phase: %f date: %s\n" % (mean(valeurs), 414 mean(valeurs_orth), 415 phase, 416 dt.isoformat()) 417 output_square.write(outs) 418 419 for valeur in valeurs: 420 outs = "%f\n" % (valeur) 421 output_square.write(outs) 422 423 output_square.write('orth \n') 424 425 for valeur in valeurs_orth: 426 outs = "%f\n" % (valeur) 427 output_square.write(outs) 428 429 output_square.close()
Note: See TracChangeset
for help on using the changeset viewer.