Home | Develop | Download | Contact
HougLine.hpp
1 /*
2  * HougLine.hpp
3  *
4  * Copyright 2018 Fernando Pujaico Rivera <fernando.pujaico.rivera@gmail.com>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19  * MA 02110-1301, USA.
20  *
21  */
22 
32 #ifndef __PDS_HOUGLINE_HPP__
33 #define __PDS_HOUGLINE_HPP__
34 
35 
47 #include <Pds/Ra>
48 
49 #include <sstream> // std::ostringstream
50 
51 namespace Pds{
52 
60 class HougLine
61 {
62 private:
64  Pds::Matrix Acc;
65 
67  double ThetaMin;
68 
70  double ThetaMax;
71 
73  unsigned int ThetaSteps;
74 
76  double ThetaDelta;
77 
79  double RhoMin;
80 
82  double RhoMax;
83 
85  unsigned int RhoSteps;
86 
88  double RhoDelta;
89 
91  double AccMin;
92 public:
93 
103  HougLine(void);
104 
123 
136  HougLine( double ThetaMin,double ThetaMax, unsigned int ThetaSteps,
137  double RhoMin,double RhoMax, unsigned int RhoSteps,
138  double AccMin);
139 
141 
142 
148 public:
149 
164  const Pds::Matrix &Accumulate (const Pds::Matrix &A, double U);
165 
171  std::vector<Pds::Pair> FindPeaksInAcc(void) const;
172 
187  const Pds::Matrix &Predict(const Pds::Matrix &A, double U, std::vector<Pds::Pair> &P);
188 
189 
190 
191 
197 public:
198 
218  static Pds::Matrix WriteLines(const Pds::Matrix &A,const std::vector<Pds::Pair> &P,double Value);
219 
220 
226 public:
227 
241  bool IsEmpty(void) const;
242 
243 
248 public:
249 
277 
290  bool Copy(const Pds::HougLine &B);
291 
292 
297 public:
298 
309  void MakeEmpty(void);
310 
311 
316  void Print(std::string str="") const;
317 
322 }; // Class HougLine
323 
324 } // namespace Pds
325 
326 
331 #endif
332 
La clase tipo Pds::HougLine . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: HougLine.hpp:61
Pds::Matrix Acc
Definition: HougLine.hpp:64
double ThetaDelta
Definition: HougLine.hpp:76
unsigned int ThetaSteps
Definition: HougLine.hpp:73
double ThetaMax
Definition: HougLine.hpp:70
unsigned int RhoSteps
Definition: HougLine.hpp:85
double RhoMin
Definition: HougLine.hpp:79
double RhoDelta
Definition: HougLine.hpp:88
double AccMin
Definition: HougLine.hpp:91
double ThetaMin
Definition: HougLine.hpp:67
double RhoMax
Definition: HougLine.hpp:82
HougLine(const Pds::HougLine &B)
Crea un objeto de tipo Pds::HougLine copiando datos desde otra HougLine. Este es un Copy assignment c...
HougLine(double ThetaMin, double ThetaMax, unsigned int ThetaSteps, double RhoMin, double RhoMax, unsigned int RhoSteps, double AccMin)
Crea un objeto de tipo Pds::HougLine calculando los vectores y valores própios desde los vectores de ...
const Pds::Matrix & Accumulate(const Pds::Matrix &A, double U)
Evalua el objeto de tipo Pds::HougLine evalua el acumulador.
bool Copy(const Pds::HougLine &B)
Copia en si mismo (A), el contenido de un HougLine B. Este método es similar a usar el operador = ....
bool IsEmpty(void) const
Verifica si el HougLine está vazio.
void MakeEmpty(void)
Convierte el PCS a vazio, es decir limpia todos los datos internos.
void Print(std::string str="") const
Imprime en pantalla el contenido del HougLine.
HougLine(void)
Crea un objeto vazio de tipo Pds::HougLine. El método IsEmpty() retorna true.
const Pds::Matrix & Predict(const Pds::Matrix &A, double U, std::vector< Pds::Pair > &P)
Evalua el objeto de tipo Pds::HougLine y retorna el acumulador y una lista de puntos.
static Pds::Matrix WriteLines(const Pds::Matrix &A, const std::vector< Pds::Pair > &P, double Value)
Retorna una copia de la matriz A con lineas dibujadas con el valor Value.
std::vector< Pds::Pair > FindPeaksInAcc(void) const
Calcula los picos en el acumulador.
Pds::HougLine & operator=(const Pds::HougLine &B)
Copia en si mismo (A), un HougLine B. Este operador es similar al método Copy(). No importa el tamaño...
Nombre de espacion para PDS (Procesamiento Digital de Senales)

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed