| 1 | 
 | 
|---|
| 2 | # Script pour lire un fichier FITS avec les donnees FITS FFT_SHRINK et faire des plots de 
 | 
|---|
| 3 | # controle
 | 
|---|
| 4 | #  Appel : ckshrink.pic Directory NumeroFITS 
 | 
|---|
| 5 | delobjs *
 | 
|---|
| 6 | set DIR $1
 | 
|---|
| 7 | set OSIG signal$2
 | 
|---|
| 8 | set file $DIR/$OSIG.fits
 | 
|---|
| 9 | echo '----> ckshrink: Opening file ' $file
 | 
|---|
| 10 | readfits $file
 | 
|---|
| 11 | 
 | 
|---|
| 12 | listobjs 
 | 
|---|
| 13 | newh2d C1ri -128.5 128.5 257 -128.5 128.5 257
 | 
|---|
| 14 | newh2d C2ri -128.5 128.5 257 -128.5 128.5 257
 | 
|---|
| 15 | newh1d C1exp -128.5 128.5 257
 | 
|---|
| 16 | newh1d C2exp -128.5 128.5 257
 | 
|---|
| 17 | newh1d C1val -128.5 128.5 257
 | 
|---|
| 18 | newh1d C2val -128.5 128.5 257
 | 
|---|
| 19 | 
 | 
|---|
| 20 | newvec specC1 1024 
 | 
|---|
| 21 | newvec specC2 1024 
 | 
|---|
| 22 | 
 | 
|---|
| 23 | rename $OSIG sigdum
 | 
|---|
| 24 | 
 | 
|---|
| 25 | c++exec \
 | 
|---|
| 26 |   int C1OFFSET=24;  \
 | 
|---|
| 27 |   int C2OFFSET=2072; \
 | 
|---|
| 28 |   cout << " ===== Signal Analysis ===== START " << C1OFFSET << " , " << C2OFFSET << endl; \
 | 
|---|
| 29 |   for(int j=0; j<sigdum.NRows(); j++)  \
 | 
|---|
| 30 |     for(int i=0; i<sigdum.NCols(); i++)  \
 | 
|---|
| 31 |       sigdum(j,i) = (sigdum(j,i)<127.5)?sigdum(j,i):sigdum(j,i)-256.; \
 | 
|---|
| 32 |   for(int j=0; j<sigdum.NRows(); j++) { \
 | 
|---|
| 33 |     C1exp.Add(sigdum(j,C1OFFSET+2046)); \
 | 
|---|
| 34 |     C2exp.Add(sigdum(j,C2OFFSET+2046)); \
 | 
|---|
| 35 |     for(int i=C1OFFSET; i<C1OFFSET+2042; i+=2) { \
 | 
|---|
| 36 |         specC1((i-C1OFFSET)/2) += sqrt(sigdum(j,i)*sigdum(j,i)+sigdum(j,i+1)*sigdum(j,i+1));  \
 | 
|---|
| 37 |         C1ri.Add(sigdum(j,i),sigdum(j,i+1));  \
 | 
|---|
| 38 |         C1val.Add(sigdum(j,i));  C1val.Add(sigdum(j,i+1));  \ 
 | 
|---|
| 39 |     }  \
 | 
|---|
| 40 |     for(int i=C2OFFSET; i<C2OFFSET+2042; i+=2) { \
 | 
|---|
| 41 |         specC2((i-C2OFFSET)/2) += sqrt(sigdum(j,i)*sigdum(j,i)+sigdum(j,i+1)*sigdum(j,i+1));  \
 | 
|---|
| 42 |         C2ri.Add(sigdum(j,i),sigdum(j,i+1));  \
 | 
|---|
| 43 |         C2val.Add(sigdum(j,i));  C2val.Add(sigdum(j,i+1));  \ 
 | 
|---|
| 44 |     }  \
 | 
|---|
| 45 |   }  \
 | 
|---|
| 46 |   specC1 /= (double)sigdum.NRows();  \
 | 
|---|
| 47 |   specC2 /= (double)sigdum.NRows();  
 | 
|---|
| 48 | #
 | 
|---|
| 49 | #       
 | 
|---|
| 50 | echo ' --- processing done, start plotting ... '
 | 
|---|
| 51 | 
 | 
|---|
| 52 | mv sigdum $OSIG
 | 
|---|
| 53 | 
 | 
|---|
| 54 | setaxesatt 'font=helvetica,bold,16 fixedfontsize minorticks'
 | 
|---|
| 55 | zone 3 2 
 | 
|---|
| 56 | disp C1exp 'font=helvetica,roman,14 blue' 
 | 
|---|
| 57 | disp C1val 'font=helvetica,roman,14 blue' 
 | 
|---|
| 58 | #disp C1ri 'font=helvetica,roman,14 blue'  
 | 
|---|
| 59 | plot2d C1ri x y val>0 "notit nsta blue"
 | 
|---|
| 60 | disp C2exp 'font=helvetica,roman,14 red' 
 | 
|---|
| 61 | disp C2val 'font=helvetica,roman,14 red' 
 | 
|---|
| 62 | #disp C2ri 'font=helvetica,roman,14 red' 
 | 
|---|
| 63 | plot2d C2ri x y val>0 "notit nsta red"
 | 
|---|
| 64 | 
 | 
|---|
| 65 | newwin 
 | 
|---|
| 66 | zone 1 2 
 | 
|---|
| 67 | plot2d specC1 n*250/4096+125 val 1 'blue cpts font=helvetica,roman,14 nsta notit'
 | 
|---|
| 68 | settitle 'Spec Voie 1 ' ' ' ' blue font=helvetica,bold,16 '
 | 
|---|
| 69 | plot2d specC2 n*250/4096+125 val 1 'red cpts font=helvetica,roman,14 nsta notit'
 | 
|---|
| 70 | settitle 'Spec Voie 2 ' ' ' ' red font=helvetica,bold,16 '
 | 
|---|
| 71 | 
 | 
|---|
| 72 | 
 | 
|---|
| 73 | 
 | 
|---|