Changeset 3610 in Sophya for trunk/AddOn


Ignore:
Timestamp:
Apr 30, 2009, 2:26:16 PM (16 years ago)
Author:
ansari
Message:

Amelioration script analyse paquet de donnees FFT - Reza, 30/04/2009

Location:
trunk/AddOn/TAcq
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/AddOn/TAcq/dispbrpfft.pic

    r3591 r3610  
    55delobjs *
    66set sigo signal0
    7 set basedir /Raid/TestNancay_6avril2009/
     7set basedir /Raid/
    88# set file TestFFT_$1/$sigo.fits
    9 set file $basedir/FFT_$1/$sigo.fits
     9set file $basedir/$1/$sigo.fits
    1010echo '----> Opening file ' $file
    1111readfits $file
    1212
    1313listobjs
    14 set cutrow (r<1)
     14set cutrow (r<1000)
     15set cutrowpt (r<5)
    1516set cutcol (c<5000)
    1617# sval=val a cause du c++exec
    1718#set sval ((val<127.5)?val:val-256.)
    18 set sval val
    1919if ( $# > 1 )  then
    2020  set cutrow $2
     
    2626echo ' ---- CutCol= ' $cutcol ' PAS UTILISE'
    2727
    28 set sval ((val<127.5)?val:val-256.)
    2928mv ${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
    3034c++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
    3251mv sigdum ${sigo}
     52set sval val
    3353
    3454setaxesatt 'font=helvetica,bold,16 autofontsize=0.05 minorticks'
     
    4767fmin = -0.5*500./8192.
    4868#  FFT8K -> N=8192 echantillons en temps ==> N/2 frequences
    49 
    5069
    5170ntimesample = 8192
     
    7998endscript
    8099
    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'
    82101settitle  "Aff. frame data $1" ' ' 'font=helvetica,bold,16'
    83102
    84103zone 2 2
    85 faithisto 1
    86 faithisto 2
     104#faithisto 1
     105#faithisto 2
     106
     107defscript 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"
     114endscript
     115
     116defscript ifreqpos
     117set nf $1
     118f = $nf * 500./8192.
     119pic1 = 24+2*$nf
     120pic2 = 24+8192+2*$nf
     121echo bin freq $f nfreq $nf pics V1 $pic1 V2 $pic2
     122endscript
     123
     124defscript freqpos
     125set f $1
     126nf = $f/(500./8192.)
     127pic1 = 24+2*$nf
     128pic2 = 24+8192+2*$nf
     129echo bin freq $f nfreq $nf pics V1 $pic1 V2 $pic2
     130endscript
    87131
    88132#n/plot specV1.10*log10(val)%x val>0
    89133#n/plot specV2.10*log10(val)%x val>0
    90134#disp signal0 "lut=lin,-1,1 imagecenter=4120,20"
     135
     136
     137defscript 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;
     147endscript
     148
     149zone
     150disp cumulsq 'blue marker=cross,5'
     151
     152echo '---- Scripts utiles definis : '
     153echo 'ifreqpos numero_frequence , freqpos frequence , ckzeros'
     154
  • trunk/AddOn/TAcq/mfits2spec.cc

    r3593 r3610  
    238238    tm.Split();
    239239    cout << "---- FIN lecture " << ffname << " NFileOK=" << nfileok << endl;
    240     cout << "  TotalDiskRead" << totnbytesrd/(1024*1024) << " MBytes Disk-Read rate= "
     240    cout << "  TotalDiskRead= " << totnbytesrd/(1024*1024) << " MBytes Disk-Read rate= "
    241241         << (double)(nbytesrd)/(1024.*1024.)/tm.PartialCPUTime() << " MB/s" << endl;   
    242242  }   
     
    330330    tm.Split();
    331331    cout << "---- FIN lecture " << ffname << " NFileOK=" << nfileok << endl;
    332     cout << "  TotalDiskRead" << totnbytesrd/(1024*1024) << " MBytes Disk-Read rate= "
     332    cout << "  TotalDiskRead= " << totnbytesrd/(1024*1024) << " MBytes Disk-Read rate= "
    333333         << (double)(nbytesrd)/(1024.*1024.)/tm.PartialCPUTime() << " MB/s" << endl;   
    334334  } 
     
    436436    tm.Split();
    437437    cout << "---- FIN lecture " << ffname << " NFileOK=" << nfileok << endl;
    438     cout << "  TotalDiskRead" << totnbytesrd/(1024*1024) << " MBytes Disk-Read rate= "
     438    cout << "  TotalDiskRead= " << totnbytesrd/(1024*1024) << " MBytes Disk-Read rate= "
    439439         << (double)(nbytesrd)/(1024.*1024.)/tm.PartialCPUTime() << " MB/s" << endl;   
    440440  } 
Note: See TracChangeset for help on using the changeset viewer.