Commit 38c95c2a authored by Reza Ansari's avatar Reza Ansari
Browse files

Ajout du repertoire Scripts et script piapp p4quicklook.pic permettant...

Ajout du repertoire Scripts et script piapp p4quicklook.pic permettant l'affichage pour verification rapide (Quick Look) des fichiers produits par les prog. AnaPAON4 , Reza 23/10/2017
parent a84b8659
#########################################################################
### Script de trace pour PAON-4 BAORadio/PAON4 , 2017
### Quelques scripts pour Quick-Look sur les observations PAON-4
### Il faut avoir au prealable traite les observations avec les programmes
### d'analyse AnaPAON4 pour avoir produit un fichier des gains et un fichier
### des cartes temps-frequence pour les 8 auto-correlations et
### les 6 cross-corr H-H .
### Convention des noms de fichiers lus par le script:
### gains_ObservationName.ppf et ObservationName.ppf
###### Utilisation du script:
### spiapp -term -exec p4quicklook.pic ; stty sane
### Les scripts suivants sont alors definis :
### p4qlopen , tracegains , traceautocor , tracecxHH
### piapp> p4qlopen ObservationName
### piapp> tracegains
### piapp> traceautocor FrequenceMHz
### piapp> tracecxHH FrequenceMHz
###### Exemple
## p4qlopen CygA_M31_6oct17
## tracegains
## traceautocor 1419.
## tracecxHH 1419.
#########################################################################
echo '================================================================'
echo '================ Script p4quicklook.pic ========================'
############################
# On definit les attributs d'axes et les couleurs pour les 8 voies
# Noir pour 4V (reference)
# Rouge , orange , marron , rouge-violet pour 1H 2H 3H 4H
# vert , cyan , forestgreen , black pour 1V 2V 3V 4V
setaxesatt 'font=helvetica,bold,18 minorticks fixedfontsize'
set colsHV ( red orange brown violetred green cyan forestgreen black )
set colsH4V ( red orange brown violetred black )
set colsH ( red orange brown violetred )
set colsV ( green cyan forestgreen black )
set linesH4V ( " 1H" " 2H" " 3H" " 4H" " 4V" )
set linesH ( " 1H" " 2H" " 3H" " 4H" )
set linesV ( " 1V" " 2V" " 3V" " 4V" )
set linesHV ( " 1H" " 2H" " 3H" " 4H" " 1V" " 2V" " 3V" " 4V" )
############################
### Coefficients de normalisation pour les 8 voies - A adapter
# set ACNORMHV ( 1e20 1.5e20 3e19 1.4e20 4.5e19 6.5e19 6.5e19 4.5e19 )
set ACNORMHV ( 1. 1. 1. 1. 1. 1. 1. 1. )
set TFMEXT ( "1H" "2H" "3H" "4H" "1V" "2V" "3V" "4V" )
############################
### Pour le trace des cross-correlations H-H
set colsCxHH ( red orange brown violetred siennared magenta )
set linesCxHH ( " 1H-2H" " 1H-3H" " 1H-4H" " 2H-3H" " 2H-4H" " 3H-4H" )
set colsCxHH ( red orange brown blue skyblue green )
# set CXHHNORM ( 1.5e7 1.e7 1.8e7 1.4e7 1.4e7 1.e7 )
set CXHHNORM ( 1. 1. 1. 1. 1. 1. )
set TFMHHEXT ( "1H2H" "1H3H" "1H4H" "2H3H" "2H4H" "3H4H" )
############################
### Definition du script d'ouverture des fichiers de gain et TFM
### Appel : p4qlopen Observation Name
############################
defscript p4qlopen 'Ouverture des fichiers gains et TFM PAON4 ; Usage: p4qlopen Nom_Observation'
if ( $# < 1 ) then
echo '---- p4qlopen/ERROR : Data Set Name no specified '
echo ' Exemple p4qlopen CygA_M31_6oct17 '
return
endif
set dsname $1
delobjs *
set gainfile gains_${dsname}.ppf
echo '------ p4qlopen[1]: Ouverture du fichier des gains pour ' $dsname ' -> GainFile=' $gainfile
openppf $gainfile
set tfmname ${dsname}.ppf
echo '------ p4qlopen[2]: Ouverture du fichier des cartes temps-freq ' $dsname ' -> tfmname=' $tfmname
openppf $tfmname
echo '------ p4qlopen[3]: calcul des coefficients de normalisation des 8 AutoCor '
set tfmsizes ( ${TFM_1H.sizes} )
yf1 = floor((1315-1250)/(250./$tfmsizes[1]))
yf2 = floor((1345-1250)/(250./$tfmsizes[1]))
delobjs /autoc/*
newwin
for i 0:8
del /autoc/paw_n_plot1D_
n/plot TFM_$TFMEXT[i].val ((x<50)&&(y>=$yf1)&&(y<=$yf2))
copy /autoc/paw_n_plot1D_ hhv
ACNORMHV[i] = ${hhv.mean}
echo "... $TFMEXT[i] -> ACNORMHV[i] = $ACNORMHV[i] "
del hhv
end
echo '------ p4qlopen[4]: calcul des coefficients de normalisation des 6 CrossCorr H-H '
for i 0:6
del /autoc/paw_n_plot1D_
n/plot TFM_$TFMHHEXT[i].val ((x<50)&&(y>=$yf1)&&(y<=$yf2))
copy /autoc/paw_n_plot1D_ hhv
CXHHNORM[i] = ${hhv.mean}
echo "... $TFMHHEXT[i] -> CXHHNORM[i] = $CXHHNORM[i] "
del hhv
end
echo '------------ p4qlopen : FIN ------------ '
return
endscript
############################
### Definition du script de trace de gains
### Appel : tracegains NomObservation
############################
defscript tracegains 'Trace des gains PAON4 ; Usage: tracegains '
# Trace des gains en echelle lineaire
newwin 1 2 700 1000
plot2d gains c*(250./4096)+1250 val r==7 'cpts nsta line=solid,2 black notit'
setaxelabels 'Freq (MHz)' ' Gains' 'font=helvetica,bolditalic,18 black'
settitle "$dsname : Gains g(nu) - 1H,2H,3H,4H et 4V" ' ' 'font=helvetica,bold,20 black'
for i 0:4
plot2d gains c*(250./4096)+1250 val r==$i "cpts nsta line=solid,2 same $colsHV[i]"
end
textdrawer linesH4V colsH4V 'font=helvetica,bold,20 frame'
plot2d gains c*(250./4096)+1250 val r==7 'cpts nsta line=solid,2 black notit'
setaxelabels 'Freq (MHz)' ' Gains' 'font=helvetica,bolditalic,18 black'
settitle "$dsname : Gains g(nu) - 1V,2V,3V et 4V" ' ' 'font=helvetica,bold,20 black'
for i 4:7
plot2d gains c*(250./4096)+1250 val r==$i "cpts nsta line=solid,2 same $colsHV[i]"
end
textdrawer linesV colsV 'font=helvetica,bold,20 frame'
# trace des gains en echelle log (dB)
newwin 1 2 700 1000
plot2d gains c*(250./4096)+1250 20*log10(val) (r==7)&&(val>1e-9) 'cpts nsta line=solid,2 black notit xylimits=1250,1500,-50,5 grid'
setaxelabels 'Freq (MHz)' ' Gains (dB)' 'font=helvetica,bolditalic,18 black'
settitle "$dsname : Gains g(nu) - 1H,2H,3H,4H et 4V" ' ' 'font=helvetica,bold,20 black'
for i 0:4
plot2d gains c*(250./4096)+1250 20*log10(val) (r==$i)&&(val>1e-9) "cpts nsta line=solid,2 same $colsHV[i]"
end
textdrawer linesH4V colsH4V 'font=helvetica,bold,20 frame'
plot2d gains c*(250./4096)+1250 20*log10(val) (r==7)&&(val>1e-9) 'cpts nsta line=solid,2 black notit xylimits=1250,1500,-50,5 grid'
setaxelabels 'Freq (MHz)' ' Gains (dB)' 'font=helvetica,bolditalic,18 black'
settitle "$dsname : Gains g(nu) - 1V,2V,3V et 4V" ' ' 'font=helvetica,bold,20 black'
for i 4:7
plot2d gains c*(250./4096)+1250 20*log10(val) (r==$i)&&(val>1e-9) "cpts nsta line=solid,2 same $colsHV[i]"
end
textdrawer linesV colsV 'font=helvetica,bold,20 frame'
return
endscript
############################
### Definition du script de trace des Signaux auto-corr en fonction du temps
### Appel : traceautocor FrequenceMHz
############################
defscript traceautocor 'Trace des AutoCorrelations PAON4 ; Usage: traceautocor Nom_Observation Frequence (MHz)'
if ( $# < 1 ) then
echo '---- traceautocor/ERROR : frequence non specifiee '
echo ' Exemple traceautocor 1419. '
return
endif
set freq $1
echo '------ tracecxHH : Trace des AutoCorrelations = f(temps) pour: ' $dsname ' Freq=' freq ' MHz'
## On recupere la taille des tableaux temps-frequence pour concertir la frequence en numero de du binY
set tfmsizes ( ${TFM_1H.sizes} )
yfreq = floor((freq-1250)/(250./$tfmsizes[1]))
echo ' --- traceautocor Numro de bin en frequence=' $yfreq ' (pour ' freq ' MHz)'
# Trace de l'evolution des auto-correlations en fonction du temps
newwin 1 2 700 1000
plot2d TFM_4V x val/$ACNORMHV[7] (fabs(y-$yfreq)<0.2) 'cpts nsta line=solid,2 black notit'
setaxelabels 'Temps' ' Normalised AutoCor' 'font=helvetica,bolditalic,18 black'
settitle "$dsname : AutoCor 1H,2H,3H,4H et 4V = f(time) " " Freq = $freq MHz" 'font=helvetica,bold,20 black'
for i 0:4
offset = (i+1)*0.1
plot2d TFM_$TFMEXT[i] x $offset+val/$ACNORMHV[i] (fabs(y-$yfreq)<0.2) "cpts nsta line=solid,2 same $colsHV[i]"
end
textdrawer linesH4V colsH4V 'font=helvetica,bold,20 frame'
plot2d TFM_4V x val/$ACNORMHV[7] (fabs(y-$yfreq)<0.2) 'cpts nsta line=solid,2 black notit'
setaxelabels 'Temps' ' Normalised AutoCor' 'font=helvetica,bolditalic,18 black'
settitle "$dsname : AutoCor 1V,2V,3V et 4V = f(time) " " Freq = $freq MHz" 'font=helvetica,bold,20 black'
for i 4:7
offset = (i-3)*0.1
plot2d TFM_$TFMEXT[i] x $offset+val/$ACNORMHV[i] (fabs(y-$yfreq)<0.2) "cpts nsta line=solid,2 same $colsHV[i]"
end
textdrawer linesV colsV 'font=helvetica,bold,20 frame'
return
endscript
############################
### Definition du script de trace des Signaux CrossCorr en fonction du temps
### Appel : tracecxHH FrequenceMHz
############################
defscript tracecxHH 'Trace des CrossCorrelation HH PAON4 ; Usage: tracecxHH Frequence (MHz)'
if ( $# < 1 ) then
echo '---- tracecxHH/ERROR : frequence non specifiee '
echo ' Exemple tracecxHH 1419. '
return
endif
set freq $1
echo '------ tracecxHH : Trace des cross-corrHH = f(temps) pour: ' $dsname ' Freq=' freq ' MHz'
## On recupere la taille des tableaux temps-frequence pour concertir la frequence en numero de du binY
set tfmsizes ( ${TFM_1H2H.sizes} )
yfreq = floor((freq-1250)/(250./$tfmsizes[1]))
echo ' --- traceautocor Numro de bin en frequence=' $yfreq ' (pour ' freq ' MHz)'
# Trace de l'evolution des auto-correlations en fonction du temps
newwin 1 1 700 700
plot2d TFM_1H2H x val/$CXHHNORM[0] (fabs(y-$yfreq)<0.2) "cpts nsta $colsCxHH[0] line=solid,2 notit "
setaxelabels 'Temps' ' Normalised CxHH' 'font=helvetica,bolditalic,18 black'
settitle "$dsname : CrossCorr 1H2H 1H3H 1H4H 2H3H 2H4H 3H4H f(time) " " Freq = $freq MHz" 'font=helvetica,bold,20 black'
for i 1:6
offset = (i+1)*0.1
plot2d TFM_$TFMHHEXT[i] x $offset+val/$CXHHNORM[i] (fabs(y-$yfreq)<0.2) "cpts nsta line=solid,2 same $colsCxHH[i]"
end
textdrawer linesCxHH colsCxHH 'font=helvetica,bold,20 frame'
for j 0:2
newwin 1 3 700 1000
imin = j*3
imax = (j+1)*3
for i ${imin}:${imax}
plot2d TFM_$TFMHHEXT[i] x real/$CXHHNORM[0] (fabs(y-$yfreq)<0.2) 'cpts nsta line=solid,1 black notit'
plot2d TFM_$TFMHHEXT[i] x imag/$CXHHNORM[0] (fabs(y-$yfreq)<0.2) "cpts nsta line=solid,1 same $colsCxHH[i] notit"
setaxelabels 'Temps' ' Normalised CxHH real/imag' 'font=helvetica,bolditalic,18 black'
settitle "$dsname : CrossCorr $linesCxHH[i] f(time) " " Freq = $freq MHz" 'font=helvetica,bold,20 black'
end
end
return
endscript
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment