Home | Develop | Download | Contact
test_matrix_region.cpp
1 
21 #include <Pds/Ra>
22 #include <cstdio>
23 
24 int main(void)
25 {
26  unsigned int N=7;
27  Pds::Matrix Mat1=Pds::Round(9*Pds::RandU(N,N));
28  Pds::Matrix Mat2(N,N);
29 
30  Pds::RegionRect R;
31  Pds::RegionRect R1(3,3,2,2);
32  Pds::RegionRect R2(5,5,2,2);
33  R1.Print("R1:\n");
34  R2.Print("R2:\n");
35 
36  Mat1.Print("Mat1:\n");
37 
38  Mat1.CopyRegion(R1,R2,Mat2);
39  Mat2.Print("Mat1.CopyRegion(R1,R2,Mat2):\n");
40 
41  Mat2.InitRegion(R1,-1);
42  Mat2.Print("Mat2.InitRegion(R1,-1);:\n");
43 
44  R=Mat1.GetRegion();
45  if(R.IsEmpty()) std::cout<<"R is empty\n";
46  else R.Print("R=Mat1.GetRegion():\n");
47 
48  double mean,std;
49 
50  Mat1.Print("Mat1:\n");
51  Mat1.MeanOfRegion(R1,&mean);
52 
53  R1.Print("R1:\n");
54  std::cout<<"Mat1.MeanOfRegion(R1,&mean):\t"<<mean<<std::endl;
55  std::cout<<"Mat1.MeanOfRegion(R1):\t"<<Mat1.MeanOfRegion(R1)<<std::endl;
56 
57  Mat1.StdAndMeanOfRegion(R1,&std,&mean);
58  std::cout<<"Mat1.StdAndMeanOfRegion(R1,&std,&mean):\t"<<std<<"\t"<<mean<<std::endl;
59 
60  /*
61  unsigned int L;
62  Pds::RegionRect Rout;
63  N=1000;
64  L=64;
65  Mat1=Pds::Round(9*Pds::RandU(N,N));
66  Mat2=Pds::Round(9*Pds::RandU(N,N));
67  R1=Pds::RegionRect(2,2,L,L);
68  R2=Pds::RegionRect(N/2,N/2,L,L);
69  Mat1.CopyRegion(R1,R2,Mat2);
70  Pds::Ra::Tic();
71  Rout=Mat1.FindRegion(Mat2,R1,0.6,1);
72  Pds::Ra::Toc();
73  Rout.Print("Rout:\n");
74  */
75  return 0;
76 }
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
Definition: Matrix.hpp:86
La estructura tipo Pds::RegionRect . Esta estructura genera una region. Para usar incluir <Pds/Region...
Definition: RegionRect.hpp:64
Pds::Matrix RandU(unsigned int N)
Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0.
Pds::Matrix Round(const Pds::Matrix &A)
Retorna el resultado de evaluar elemento a elemento la funcion round.
bool StdAndMeanOfRegion(const Pds::RegionRect &Rin, double *std, double *mean) const
Calcula el desvío padrón y la media de los elementos de la intersección de la región con la matriz.
bool CopyRegion(const Pds::RegionRect &Rin, const Pds::RegionRect &Rout, Pds::Matrix &Mout) const
Copia la región Rin de la matriz a la región Rout de la matriz Mout.
void Print(std::string str) const
Imprime en pantalla el contenido de la matriz después del texto indicado en str.
bool MeanOfRegion(const Pds::RegionRect &Rin, double *mean) const
Calcula la media de los elementos en la region, pero para que sea calculado debe existir una intersec...
Pds::RegionRect GetRegion(void) const
Retorna una variable Pds::RegionRect desde la posicion (0,0), con ancho y alto (Mat....
bool IsEmpty(void) const
Verifica si la region es nula es decir con lineas o columnas y anchos cero.
void Print(std::string str="") const
Muestra en pantalla el contenido de Pds::RegionRect, elementos separados por tabulador.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed