| [3907] | 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 |  | 
|---|