# Script pour lire un fichier FITS et afficher des lignes ( contenu des paquets) # Affichage adapte pour donnees FFT 2C # Appel /Dev/AcquisBAO/Script/dispbrp.pic NomFichierFits CutRow CutCols delobjs * set sigo signal0 set basedir /Raid/ # set file TestFFT_$1/$sigo.fits set file $basedir/$1/$sigo.fits echo '----> Opening file ' $file readfits $file listobjs set cutrow (r<1000) set cutrowpt (r<5) set cutcol (c<5000) # sval=val a cause du c++exec #set sval ((val<127.5)?val:val-256.) if ( $# > 1 ) then set cutrow $2 endif echo ' ---- CutRow= ' $cutrow if ( $# > 2 ) then set cutcol $3 endif echo ' ---- CutCol= ' $cutcol ' PAS UTILISE' mv ${sigo} sigdum #c++exec \ #for(int i=0;i cumul(sigdum.NCols()); cumul=0; \ TVector nbzero(sigdum.NCols()); nbzero=0; \ TVector cumulnz(sigdum.NCols()); cumulnz=0; \ for(int j=0; j numero de paquet # c : numero de colonne -> numero d'echantillon dans le paquet c=0...23 : entete # plot2d $sigo c val ${cutrow}&&c>25 'blue' # plot2d $sigo c val ${cutrow}&&c>3000&&c<4500 'blue' # plot2d $sigo c (val<127.5)?val:val-256. ${cutrow}&&$cutcol 'blue connectpoints' # setaxelabels 'Num.Echantillon' 'Valeur Echantillon' 'font=helvetica,bolditalic,16' # settitle 'Affichage Donnees brutes ' ' ' 'font=helvetica,bold,16' #fmax = 250.02 #fmin = -0.02 fmax = 4095.5*500./8192. fmin = -0.5*500./8192. # FFT8K -> N=8192 echantillons en temps ==> N/2 frequences ntimesample = 8192 nfreq = $ntimesample/2 defscript faithisto ' Appel faithisto Voie ' if ( $1 == '1' ) then set tit V1 set hval hvalV1 set spec specV1 cuttsv = $ntimesample+24 set cutts "((c>23.5)&&(c<$cuttsv))" set freq "((c-23)/2)*(250./$nfreq)" else set tit V2 set hval hvalV2 set spec specV2 cuttsv = 2*$ntimesample+24 set cutts "((c>($ntimesample+24))&&(c<$cuttsv))" set freq "((c-23-$ntimesample)/2)*(250./$nfreq)" endif echo " hval= $hval spec= $spec cutts= $cutts" newh1d $hval 2 253 251 projh1d $hval $sigo val 1. ${cutrow}&&${cutts} newh1d $spec $fmin $fmax $nfreq projh1d $spec $sigo $freq $sval*$sval ${cutrow}&&${cutts} disp $hval 'font=helvetica,bold,16 fixedfontsize' settitle "Frame data value distribution 523 'blue font=helvetica,bold,16 fixedfontsize win' settitle "Aff. frame data $1" ' ' 'font=helvetica,bold,16' zone 2 2 #faithisto 1 #faithisto 2 defscript rawproj zone nrawmax = 24+8192*2 rawmax = 24+8192*2-0.5 newh1d rawproj -0.5 $rawmax $nrawmax projh1d rawproj $sigo c $sval*$sval ${cutrow} n/plot rawproj.val%i ! ! "marker=cross,5" endscript defscript ifreqpos set nf $1 f = $nf * 500./8192. pic1 = 24+2*$nf pic2 = 24+8192+2*$nf echo bin freq $f nfreq $nf pics V1 $pic1 V2 $pic2 endscript defscript freqpos set f $1 nf = $f/(500./8192.) pic1 = 24+2*$nf pic2 = 24+8192+2*$nf echo bin freq $f nfreq $nf pics V1 $pic1 V2 $pic2 endscript #n/plot specV1.10*log10(val)%x val>0 #n/plot specV2.10*log10(val)%x val>0 #disp signal0 "lut=lin,-1,1 imagecenter=4120,20" defscript ckzeros c++exec for(int i=0; i 95*nframe/100) cout << " --NbZero: i=" << i << " i-24=" << i-24 \ << " nbzero(i)=" << nbzero(i) << " /NFrame= " << nframe << " i-24-4096=" << i-24-4096 \ << " i-24-8192=" << i-24-8192 << " i-24-8192-4096=" << i-24-8192-4096 << endl; endscript zone disp cumulsq 'blue marker=cross,5' echo '---- Scripts utiles definis : ' echo 'ifreqpos numero_frequence , freqpos frequence , ckzeros'