VAT  3.0
Video Analysis Tool
Blob2DFromBGSubstractionModel.h
1 #ifndef BLOB2DFROMBGSUBSTRACTIONMODEL_H
2 #define BLOB2DFROMBGSUBSTRACTIONMODEL_H
3 
4 #include <QDomNode>
5 #include <QImage>
6 #include <vector>
7 #include <QSharedPointer>
8 
9 #include "reliabilitysinglemodelinterface.h"
10 #include "src/blob.h"
11 
12 class Datapool;
13 
15 public:
17 
19 
20  //IMPLEMENT!! Initializes the model attributes and dynamics for the interface.
21  //The function is called by the interface constructor
22  virtual void initInstanceAttributes();
23 
24  //IMPLEMENT!! Initializes the visible model attributes for the interface.
25  //The function is called by the interface constructor
26  virtual void initDynamicsAttributes();
27 
28  //IMPLEMENT!! Copy function for specific data from the instance (general_copy calls it after copying base info)
29  virtual void copy(SpReliabilitySingleModelInterface);
30 
31  //IMPLEMENT!! Copy general structures and parameters of specific model
32  virtual void copy_structure(SpReliabilitySingleModelInterface);
33 
34  //IMPLEMENT!! sets parameters from xml file
35  virtual void setParameters(QDomNode &i_parameters);
36 
37  //IMPLEMENT!! sets activation criteria for each model: reliability on input (distance, bad data),
38  // needs (occlusion, priority),
39  //sets priority of models (hierarchy).
40  //Checked before update phase
41  virtual void activate(Blob *);
42 
43  //IMPLEMENT!! initializes every activated model, according to their own input (region-blob-segments schema)
44  //Executed only once at the begginning of single model creation (after 'copy_structure' and 'copy' methods
45  //are used to copy the information).
46  virtual void init();
47 
48  //IMPLEMENT!! updates activated model instance attributes for current frame
49  virtual void updateInstance(BoundingBox &);
50 
51  //IMPLEMENT!! updates every activated model dynamics
52  virtual void updateDynamics();
53 
54  //IMPLEMENT!! feedback process for depurating information based on dependant models.
55  //It should be programmed checking the presence of different models that can
56  //improve the estimation of model attributes.
57  virtual void feedback();
58 
59  //IMPLEMENT!! sets global probability for the model (how good is the model)
60  virtual void setProbabilityAndReliability();
61 
62  //IMPLEMENT!! sets blob enclosing the model in forward process (update)
63  virtual void setForwardBlobInterface();
64 
65  //IMPLEMENT!! sets blob enclosing the model in backward process (feedback)
66  virtual void setBackwardBlobInterface();
67 
68  //OPTIONAL
69  virtual bool draw(QPainter &painter);
70 
71  virtual bool draw(QPainter &painter, int r, int g, int b);
72 
73  //Initialize dynamics attribute with instance value
74  void initAttribute(ReliabilityDynamicsAttribute &d, AttributeDupletValue &i);
75 
76  //Attribute update, with minimal attribute value constraint
77  void updateMinConstrainedAttribute(const QString &name, ReliabilityDynamicsAttribute &d, double min);
78 
79  //Standard attribute update, with no attribute value constraints
80  void updateAttribute(const QString &name, ReliabilityDynamicsAttribute &d);
81 
82  void updateAttributeDynamics(double data, double RData, double acuity,
83  double estimate, double currentCooling, AttributeTripletValue &att);
84 
85  void updateAttributeDynamicsNoData(double estimate, double acuity, double currentCooling,
87 
88  double projectAttributeValue(ReliabilityDynamicsAttribute &, double &R);
89 
90  virtual Rectangle<int> getEstimator(double &R);
91 
92  double m_minimalAttributeVelocityReliability;
93  double m_minimalAttributeAccelerationReliability;
94  double m_minimalWidth;
95  double m_minimalHeight;
96 
97  int m_pixelAcuity;
98 };
99 
100 typedef QSharedPointer<Blob2DFromBGSubstractionModel> SpBlob2DFromBGSubstractionModel;
101 
102 
103 #endif // BLOB2DFROMBGSUBSTRACTIONMODEL_H
Definition: reliabilityattribute.h:101
Definition: reliabilitysinglemodelinterface.h:96
Definition: reliabilityattribute.h:10
An object of this class is instantiated at main code, and this object is used by every class to push ...
Definition: Datapool.h:39
Definition: reliabilityattribute.h:76
Definition: blob.h:79
Definition: BackgroundRecLigth.h:20
Definition: Blob2DFromBGSubstractionModel.h:14