1 #ifndef RELIABILITYSINGLEMODELINTERFACE_H 2 #define RELIABILITYSINGLEMODELINTERFACE_H 7 #include <QSharedPointer> 9 #include "reliabilityattribute.h" 11 #include "src/common.h" 16 typedef QSharedPointer<RMMMobileObject> SpRMMMobileObject;
19 typedef QSharedPointer<RMMHypothesis> SpRMMHypothesis;
22 bool operator()(SpRMMHypothesis a1, SpRMMHypothesis a2);
36 DetectionProblemType dp_type;
41 bool changedSegmentation;
50 std::map <ObjectType, double> classScore;
55 std::map <QString, AttributeDupletValue> attributes;
56 std::map <QString, AttributeDupletImage> attributes_image;
57 std::map <QString, AttributeDupletDataset> attributes_dataset;
63 std::map <QString, ReliabilityDynamicsAttribute> dynamics;
64 std::map <QString, ReliabilityDynamicsAttributeDataset> dynamics_dataset;
71 std::deque<ModelInstanceDataPack>::iterator begin();
72 std::deque<ModelInstanceDataPack>::iterator end();
73 std::deque<ModelInstanceDataPack>::reverse_iterator rbegin();
74 std::deque<ModelInstanceDataPack>::reverse_iterator rend();
83 void resetMaxLength(
int);
86 friend std::ostream& operator<<(std::ostream&,
const ModelBuffer&);
88 std::deque<ModelInstanceDataPack> instances;
89 unsigned int maxLength;
94 typedef QSharedPointer<ReliabilitySingleModelInterface> SpReliabilitySingleModelInterface;
107 virtual void initInstanceAttributes() = 0;
111 virtual void initDynamicsAttributes() = 0;
114 virtual void copy(SpReliabilitySingleModelInterface);
117 virtual void copy_structure(SpReliabilitySingleModelInterface);
120 virtual void setParameters(QDomNode &i_parameters) = 0;
131 virtual void init() = 0;
135 virtual bool updateInstance(
BoundingBox &, std::set<SpRMMHypothesis, hypothesesOrderedByBestProbabilityOperator> &) = 0;
145 virtual void updateSingleInstance(
BoundingBox &) = 0;
148 virtual void updateModelDynamics() = 0;
151 virtual void printInstances();
153 virtual void printDynamics();
155 virtual void printGeneral();
157 virtual void printGeneral(std::ostream& out);
159 virtual bool draw(QImage *image);
161 virtual bool draw(QPainter &painter,
int r,
int g,
int b);
164 void updateDynamics();
168 virtual void setProbabilityAndReliability() = 0;
171 virtual void setForwardInterface() = 0;
174 virtual void setTrajectory2D(
double &,
double &,
double &);
185 void initFromXML(
Datapool *i_data,
int bsize, QString name);
188 void general_copy(SpReliabilitySingleModelInterface);
191 void copy_general_structure(SpReliabilitySingleModelInterface);
194 void addCurrentClassInfo();
199 void updateCurrentGeneralInfo();
203 SpRMMMobileObject generateCurrentMobile(
BoundingBox &bbox);
206 SpRMMMobileObject generateNewMobile(
BoundingBox &bbox);
209 SpRMMHypothesis generateNewHypothesis();
214 virtual bool projectBoundingBox(
BoundingBox &bbox);
223 static double normalisedSigmaCoherenceReliability(
double sigma,
double acuity);
242 double P, R_forward, R_backward;
245 std::set<ObjectType> dclasses;
248 std::set<ObjectType> cclasses;
252 std::map<ObjectType, double> rclasses;
281 std::vector<int> dependants;
284 std::set<SpRMMHypothesis, hypothesesOrderedByBestProbabilityOperator> generated_hypotheses;
287 std::set<SpRMMHypothesis, hypothesesOrderedByBestProbabilityOperator> hypotheses;
291 #endif // RELIABILITYSINGLEMODELINTERFACE_H Definition: RMMHypothesis.h:24
Definition: RMMTracker.h:60
Definition: reliabilitysinglemodelinterface.h:53
Definition: reliabilityattribute.h:47
Definition: RMMMobileObject.h:36
Definition: reliabilitysinglemodelinterface.h:61
Definition: reliabilitysinglemodelinterface.h:96
Definition: reliabilitysinglemodelinterface.h:27
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: reliabilitymultimodel.h:24
Definition: reliabilitysinglemodelinterface.h:21
Definition: reliabilitysinglemodelinterface.h:67