Changeset 3610 in Sophya for trunk/AddOn/TAcq/dispbrpfft.pic
- Timestamp:
- Apr 30, 2009, 2:26:16 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AddOn/TAcq/dispbrpfft.pic
r3591 r3610 5 5 delobjs * 6 6 set sigo signal0 7 set basedir /Raid/ TestNancay_6avril2009/7 set basedir /Raid/ 8 8 # set file TestFFT_$1/$sigo.fits 9 set file $basedir/ FFT_$1/$sigo.fits9 set file $basedir/$1/$sigo.fits 10 10 echo '----> Opening file ' $file 11 11 readfits $file 12 12 13 13 listobjs 14 set cutrow (r<1) 14 set cutrow (r<1000) 15 set cutrowpt (r<5) 15 16 set cutcol (c<5000) 16 17 # sval=val a cause du c++exec 17 18 #set sval ((val<127.5)?val:val-256.) 18 set sval val19 19 if ( $# > 1 ) then 20 20 set cutrow $2 … … 26 26 echo ' ---- CutCol= ' $cutcol ' PAS UTILISE' 27 27 28 set sval ((val<127.5)?val:val-256.)29 28 mv ${sigo} sigdum 29 #c++exec \ 30 #for(int i=0;i<sigdum.Size();i++) sigdum[i] = (sigdum[i]<127.5)?sigdum[i]:sigdum[i]-256.; 31 # 32 # 33 30 34 c++exec \ 31 for(int i=0;i<sigdum.Size();i++) sigdum[i] = (sigdum[i]<127.5)?sigdum[i]:sigdum[i]-256.; 35 Vector cumulsq(sigdum.NCols()); cumulsq=0; \ 36 TVector<int_8> cumul(sigdum.NCols()); cumul=0; \ 37 TVector<int_4> nbzero(sigdum.NCols()); nbzero=0; \ 38 TVector<int_8> cumulnz(sigdum.NCols()); cumulnz=0; \ 39 for(int j=0; j<sigdum.NRows(); j++) \ 40 for(int i=0; i<sigdum.NCols(); i++) { \ 41 cumul(i) += sigdum(j,i); \ 42 if (sigdum(j,i)==0) nbzero(i)++; \ 43 else cumulnz(i) += sigdum(j,i); \ 44 sigdum(j,i) = (sigdum(j,i)<127.5)?sigdum(j,i):sigdum(j,i)-256.; \ 45 cumulsq(i) += sigdum(j,i)*sigdum(j,i); \ 46 } \ 47 cumul.Info()["NFRAME"] = cumulnz.Info()["NFRAME"] = nbzero.Info()["NFRAME"] = cumulsq.Info()["NFRAME"] = sigdum.NRows(); \ 48 KeepObj(cumul); KeepObj(cumulsq); \ 49 KeepObj(cumulnz); KeepObj(nbzero); 50 32 51 mv sigdum ${sigo} 52 set sval val 33 53 34 54 setaxesatt 'font=helvetica,bold,16 autofontsize=0.05 minorticks' … … 47 67 fmin = -0.5*500./8192. 48 68 # FFT8K -> N=8192 echantillons en temps ==> N/2 frequences 49 50 69 51 70 ntimesample = 8192 … … 79 98 endscript 80 99 81 plot2d $sigo c val ${cutrow}&&c>23 'blue font=helvetica,bold,16 fixedfontsize win'100 # plot2d $sigo c val $cutrowpt&&c>23 'blue font=helvetica,bold,16 fixedfontsize win' 82 101 settitle "Aff. frame data $1" ' ' 'font=helvetica,bold,16' 83 102 84 103 zone 2 2 85 faithisto 1 86 faithisto 2 104 #faithisto 1 105 #faithisto 2 106 107 defscript rawproj 108 zone 109 nrawmax = 24+8192*2 110 rawmax = 24+8192*2-0.5 111 newh1d rawproj -0.5 $rawmax $nrawmax 112 projh1d rawproj $sigo c $sval*$sval ${cutrow} 113 n/plot rawproj.val%i ! ! "marker=cross,5" 114 endscript 115 116 defscript ifreqpos 117 set nf $1 118 f = $nf * 500./8192. 119 pic1 = 24+2*$nf 120 pic2 = 24+8192+2*$nf 121 echo bin freq $f nfreq $nf pics V1 $pic1 V2 $pic2 122 endscript 123 124 defscript freqpos 125 set f $1 126 nf = $f/(500./8192.) 127 pic1 = 24+2*$nf 128 pic2 = 24+8192+2*$nf 129 echo bin freq $f nfreq $nf pics V1 $pic1 V2 $pic2 130 endscript 87 131 88 132 #n/plot specV1.10*log10(val)%x val>0 89 133 #n/plot specV2.10*log10(val)%x val>0 90 134 #disp signal0 "lut=lin,-1,1 imagecenter=4120,20" 135 136 137 defscript ckzeros 138 c++exec for(int i=0; i<cumul.Size(); i++) \ 139 if (cumul(i)<10) cout << " --ZERO: i=" << i << " i-24=" << i-24 \ 140 << " cum(i)=" << cumul(i) << " i-24-4096=" << i-24-4096 \ 141 << " i-24-8192=" << i-24-8192 << " i-24-8192-4096=" << i-24-8192-4096 << endl; \ 142 int_4 nframe = nbzero.Info()["NFRAME"]; \ 143 for(int i=0; i<nbzero.Size(); i++) \ 144 if (nbzero(i) > 95*nframe/100) cout << " --NbZero: i=" << i << " i-24=" << i-24 \ 145 << " nbzero(i)=" << nbzero(i) << " /NFrame= " << nframe << " i-24-4096=" << i-24-4096 \ 146 << " i-24-8192=" << i-24-8192 << " i-24-8192-4096=" << i-24-8192-4096 << endl; 147 endscript 148 149 zone 150 disp cumulsq 'blue marker=cross,5' 151 152 echo '---- Scripts utiles definis : ' 153 echo 'ifreqpos numero_frequence , freqpos frequence , ckzeros' 154
Note:
See TracChangeset
for help on using the changeset viewer.