Index: /trunk/SophyaPI/DemoPIApp/fft2d.cc
===================================================================
--- /trunk/SophyaPI/DemoPIApp/fft2d.cc	(revision 2600)
+++ /trunk/SophyaPI/DemoPIApp/fft2d.cc	(revision 2600)
@@ -0,0 +1,60 @@
+int nlig = 128; int ncol = 128;      
+TMatrix<r_8> in(nlig,ncol);          
+int l,c;                             
+for(l=40; l<80; l++)                 
+  for(c=40; c<80; c++) {             
+    double r2 = (l-60.5)*(l-60.5)+(c-60.5)*(c-60.5);   
+    in(l,c) = 30.*exp(-r2/9.);        
+}                                
+//  Le dernier argument de RandomSequence est le sigma du bruit   
+//  Si on veut rajouter du bruit, decommenter les 3 lignes suivantes  
+  TMatrix<r_8> noise(nlig,ncol);                                
+  noise = RandomSequence(RandomSequence::Gaussian, 0., 0.5);     
+  in += noise;                                                  
+TMatrix< complex<r_8> > fftin;       
+FFTWServer ffts;                     
+ffts.setNormalize(true);             
+cout << " FFTServer info string= " << ffts.getInfo() << endl;
+cout << " Calling ffts.FFTForward(in, fftin) : " << endl;    
+ffts.FFTForward(in, fftin);                                  
+//  On garde les tableau in et fftin avec KeepObj()             
+KeepObj(in);                                                 
+KeepObj(fftin);                                              
+//  On fait un filtre passe-haut     
+//  Il faut savoir que les frequences negatives sont rangees    
+//  dans la seconde moitie du tableau en numero de ligne        
+int kx, ky;                                     
+TMatrix< complex<r_8> > fftfb(fftin.NRows(), fftin.NCols());           
+TMatrix< complex<r_8> > fftfd(fftin.NRows(), fftin.NCols());           
+// fb : Filtrage brutal , fd :  Filtrage doux 
+for(ky=0; ky<fftin.NRows(); ky++)             
+  for(kx=0; kx<fftin.NCols(); kx++) {
+    int kyy = ky;
+    // deuxieme  partie du tableau - Frequences negatives en y 
+    if (ky > fftin.NRows()/2) kyy = fftin.NRows()-ky;
+    double kr = sqrt((double)kx*kx+kyy*kyy);              
+    complex<double> att;
+    // Filtrage brutal  fonction en escalier 
+    if (kr < 10)  att = complex<double>(0.5, 0.);
+    else att = complex<double>(1., 0.);
+    fftfb(ky, kx) = fftin(ky, kx) * att ;   
+    // Filtrage doux sous forme de 1-exp(-alpha k_r)
+    att = complex<double>(1.-exp(-kr*0.1), 0.);   
+    fftfd(ky, kx) = fftin(ky, kx) * att ;   
+  }
+TMatrix<r_8> infb(nlig,ncol);          
+TMatrix<r_8> infd(nlig,ncol);          
+// FFTBackward -- Attention, le tableau des coefficient de Fourier 
+// est modifie - On en fait une copie 
+TMatrix< complex<r_8> > fftf(fftin.NRows(), fftin.NCols());   
+// Pour le filtre brutal
+fftf = fftfb;
+ffts.FFTBackward(fftf, infb);       
+// Pour le filtre doux
+fftf = fftfd;
+ffts.FFTBackward(fftf, infd);       
+//  On garde les tableaux fft filtre et signal filtre
+KeepObj(infb);                                             
+KeepObj(infd);                                             
+KeepObj(fftfb);                                                  
+KeepObj(fftfd);
Index: /trunk/SophyaPI/DemoPIApp/fft2d.pic
===================================================================
--- /trunk/SophyaPI/DemoPIApp/fft2d.pic	(revision 2600)
+++ /trunk/SophyaPI/DemoPIApp/fft2d.pic	(revision 2600)
@@ -0,0 +1,29 @@
+#  Exemple de commandes pour creer un tableau de bruit 
+#  et calculer son FFT 
+#  On supprime tous les objets presents ds le repertoire courant
+delobjs *
+#  On a besoin du module IFFTW 
+c++import IFFTW
+#  On execute un bout de code c++ qui cree un tableau 2D (matrice)
+#  avec une etoile au milieu et calcule son FFT , et on fait un filtrage
+#  Ce bout de code se trouve ds le fichier fft2d.cc
+#  et on garde des objets (matrices) cree ds ce bout de code au sein 
+#  de piapp avec KeepObj()
+c++execfrf fft2d.cc
+#  On affiche le resultat
+zone 2 3
+disp in 'notitle'
+addtitle 'Input' ' ' boldfont
+disp fftin 'notitle'
+addtitle 'FFT(Input)' ' ' boldfont
+disp infb 'notitle'
+addtitle 'Filt_Brutal(Input)' ' ' boldfont
+disp fftfb 'notitle'
+addtitle 'FFT(Input)*Filt_Brutal' ' ' boldfont
+disp infd 'notitle'
+addtitle 'Filt_Doux(Input)' ' ' boldfont
+disp fftfd 'notitle'
+addtitle 'FFT(Input)*Filt_Doux' ' ' boldfont
+
+
+
Index: /trunk/SophyaPI/DemoPIApp/multicurve.pic
===================================================================
--- /trunk/SophyaPI/DemoPIApp/multicurve.pic	(revision 2600)
+++ /trunk/SophyaPI/DemoPIApp/multicurve.pic	(revision 2600)
@@ -0,0 +1,17 @@
+#  ---- multicurve.pic -----
+# Trace de courbes multiples en utilisant les
+# possibilites de boucles et variables de type
+# tableau de l'interpreteur de piapp 
+#
+set col ( blue red green yellow violet )
+set a ( 1.0 0.9 0.8 0.7 0.6 )
+setaxesatt 'helveticafont bolditalicfont minorticks intticks'
+zone 1
+func 1.1*sin(1.1*x)/x 0.1 20 50 'black notitle'
+setaxelabels 'Axe X' 'Axe Y = sin(x)/x' 'darkviolet helveticafont bigbolditalicfont'
+for i 0:$#a
+  func $a[i]*sin($a[i]*x)/x 0.1 20.0 50 "same $col[i]" 
+end
+
+setinsetlimits 0.5 0.75 0.5 0.75
+func exp(-x*x) -3 3 40 'inset red stdaxes'
Index: /trunk/SophyaPI/DemoPIApp/tarc.pic
===================================================================
--- /trunk/SophyaPI/DemoPIApp/tarc.pic	(revision 2600)
+++ /trunk/SophyaPI/DemoPIApp/tarc.pic	(revision 2600)
@@ -0,0 +1,30 @@
+#  ---------- tarc.pic -----------
+#  Essai de trace d'elements graphiques
+# et d'arcs en particulier 
+drpanel -1 1 -1 1
+addline -2 0 2 0 
+addline 0 -0.5 0 0.5 
+addmarker 0 -0.5 'red boxmarker7'
+addmarker 0.5 0. 'red boxmarker7'
+addmarker 0. 0.5 'red boxmarker7'
+addarc  0 -0.5 0.5 0. 0 0.5 'red' 
+
+addmarker 0 -1 'blue boxmarker5'
+addmarker 0.5 0. 'blue boxmarker5'
+addmarker 0 1 'blue boxmarker5'
+addarc 0 -1 0.5 0 0 1 'blue thickline'
+
+addmarker -0.8 0.6 'magenta circlemarker9'
+addmarker -0.4 0.7 'magenta circlemarker9'
+addmarker -0.1 0.65 'magenta circlemarker9'
+addarc -0.8 0.6 -0.4 0.7 -0.1 0.65 'magenta normalline'
+
+# addarc 0 1 0.5 0 0 -1 'green'
+
+addfarc -0.7 0. -0.60 0.15 -0.5 0.2 'yellow normalline'
+addtext -1 1 'Test Trace Arc - Fleches' 'timesfont bigboldfont verttop blueviolet'
+addtext -0.25 0. 'Added Vertical Text' 'timesfont hugeboldfont vertcenter horizcenter textdirvertup'
+addarrow -0.25 -0.5 -0.25 0.9 'thinline gold basicarrow9'
+addarrow -1 -1 -0.3 -0.3 'navyblue normalline ftrianglearrow11'
+addarrow 1 1 0.2  0.2 'orange arrowshapedarrow9'
+addarrow -1 1 -0.1 0.1 'turquoise trianglearrow9'
