source: Sophya/trunk/SophyaProg/Tests/timg.cc@ 274

Last change on this file since 274 was 274, checked in by ansari, 26 years ago

Ameliorations Tests Reza 27/04/99

File size: 3.0 KB
Line 
1// Utilisation des flots d'entree-sortie C++
2#include <iostream.h>
3// Utilisation de la classe Image<T>
4#include "outilsinit.h"
5#include "cimage.h"
6// Utilisation des generateurs aleatoires
7#include "nbrandom.h"
8
9// Test des NDataBlock
10#include "ndatablock.h"
11#include <complex>
12
13
14// -------- Le programme principal ---------
15
16main(int narg, char *arg[])
17{
18int i,j;
19
20// ----- ATTENTION -------
21// Initialisation de Peida
22// A faire au debut de main()
23PeidaInit();
24
25cout << " ........ Debut de timg.cc ....... " << endl;
26// declaration et creation d'une image de type flottant 300x200
27ImageR4 img(300, 200);
28ImageR4 imgo(300, 200);
29// Remplissage de l'image Tirage aleatoire plat entre 1000-2000
30for(i=0; i<300; i++)
31 for(j=0; j<200; j++) img(i,j) = imgo(i,j) = frand01()*1000.+1000.;
32// Verification de la dynamique de l'image
33img.CheckDyn();
34img.Print();
35// On sauve l'image ds img.ppf (fichier format PPersist)
36img.Write("img.ppf");
37
38
39// On rajoute du bruit a l'image (Gaussienne de sigma=3)
40for(i=0; i<300; i++)
41 for(j=0; j<200; j++) img(i,j) += NorRand()*3. ;
42
43// Verification de la dynamique de l'image
44img.CheckDyn();
45img.Print();
46
47// On verifie la date de creation du fichier .ppf
48 {
49 string ppfname = "img.ppf";
50 PInPersist pin(ppfname, false);
51 cout << "Fichier PPF: " << ppfname << " Version= " << pin.Version()
52 << " Created: " << pin.CreationDate() << endl;
53 }
54// On cree une nouvelle image
55ImageR4 img2;
56// On lit le contenu du fichier imgin.ppf
57img2.Read("img.ppf");
58// On calcule la difference entre les images img et img2
59// Avant ajout de bruit
60cout << "\n imgo(sansbruit) - img2 (fromfile) == 0 ? " << endl;
61imgo -= img2;
62// Verification de la dynamique de l'image soustraite
63imgo.CheckDyn();
64imgo.Print();
65
66// Apres ajout de bruit
67cout << " img(avecbruit) - img2 (fromfile) == Noise, sigma=1 ? " << endl;
68img -= img2;
69// Verification de la dynamique de l'image soustraite
70img.CheckDyn();
71img.Print();
72
73// ---- Test des NDataBlock
74cout << "\n ----------> Test des NDataBlock <r_8>" << endl;
75NDataBlock<r_8> db(20);
76for(i=0; i<20; i++) db(i) = i*5.;
77cout << " DataBlock<r_8> i*5 : (db)" << endl;
78cout << db << endl;
79NDataBlock<r_8> db2(db,false);
80cout << " DataBlock<r_8> (db2=db) - db" << endl;
81cout << db2-db << endl;
82
83FIO_NDataBlock<r_8> fdb(db);
84fdb.Write("db_r8.ppf");
85cout << " DataBlock<r_8> db -> File db_r8.ppf" << endl;
86FIO_NDataBlock<r_8> fdb2("db_r8.ppf");
87cout << " DataBlock<r_8> Frome file(db_r8.ppf) - db" << endl;
88cout << (NDataBlock<r_8>)fdb2-db << endl;
89
90cout << "\n\n ----------> Test des NDataBlock <complex<double>>" << endl;
91NDataBlock< complex<double> > zb(20);
92for(i=0; i<20; i++) {complex<double> z(i*10., 0.1*i); zb(i) = z; }
93cout << " DataBlock<complex<double>> (zb) = " << endl;
94cout << zb << endl;
95FIO_NDataBlock< complex<double> > fzb(zb);
96fzb.Write("zb_z8.ppf");
97FIO_NDataBlock< complex<double> > fzb2("zb_z8.ppf");
98cout << " DataBlock<complex<double>> Frome file(zb_z8.ppf) - db" << endl;
99cout << (NDataBlock< complex<double> >)(fzb2) ;
100
101cout << "\n ========= Fin de timg.cc ======== " << endl;
102exit(0);
103}
Note: See TracBrowser for help on using the repository browser.