1 #ifndef RELIABILITYMULTIMODEL_H 2 #define RELIABILITYMULTIMODEL_H 4 #include "reliabilitysinglemodelinterface.h" 5 #include "src/trajectory.h" 15 typedef QSharedPointer<ReliabilityMultiModel> SpReliabilityMultiModel;
17 enum MultiModelDynamicsAttributes {
31 bool setParameters(QDomDocument &);
34 void setClassStructure();
37 void iterateClassStructure(SpReliabilitySingleModelInterface model, std::set<ObjectType> &new_classes);
41 bool setModelList(QDomElement &parent);
46 bool checkDependences(std::map<QString, QString> &dependences, std::deque<QString> &name_list);
50 void setDependences(std::map<QString, QString> &dependences, std::deque<QString> &ordered_list);
53 void processClassHierarchyList(QDomNodeList &l, ObjectType parent);
55 std::vector<SpReliabilitySingleModelInterface> multiModelDAG;
56 std::map<QString, int> namePositionMap;
57 std::map<int, int> dependants_count;
58 std::vector<int> independentModelIndex;
59 std::map<ObjectType, ObjectType> class_hierarchy;
61 std::vector<ObjectType> parent_classes;
63 std::map<int, std::map<int, std::set<ObjectType> > > class_structure;
65 std::map<int, std::set<ObjectType> > class_synth_structure;
74 std::deque<ModelInstanceGeneralPack>::iterator begin();
75 std::deque<ModelInstanceGeneralPack>::iterator end();
76 std::deque<ModelInstanceGeneralPack>::reverse_iterator rbegin();
77 std::deque<ModelInstanceGeneralPack>::reverse_iterator rend();
85 void resetMaxLength(
int);
90 std::deque<ModelInstanceGeneralPack> instances;
91 unsigned int maxLength;
133 void activateModels();
134 void activateModels(std::deque<SpReliabilitySingleModelInterface> &);
138 void init(
RMMMobileObject *, std::deque<SpReliabilitySingleModelInterface> &);
141 SpReliabilitySingleModelInterface getSingleModelByName(QString name);
142 SpReliabilitySingleModelInterface getSingleModelByClassName(QString className,
143 std::vector<SpReliabilitySingleModelInterface> &models);
144 SpReliabilitySingleModelInterface getSingleModelByName(QString name,
145 std::vector<SpReliabilitySingleModelInterface> &models);
148 bool findSingleModelByName(QString name);
149 bool findSingleModelByName(QString name, std::vector<SpReliabilitySingleModelInterface> &models);
152 void update(
BoundingBox &bbox, std::set<SpRMMHypothesis, hypothesesOrderedByBestProbabilityOperator> &hset);
157 void getGlobalProbability(
double &R,
double &P);
159 void set2DTrajectoryPoint();
161 void set2DTrajectoryPointEstimation();
163 void setPriorDynamics();
165 void updateDynamics();
167 void setProbabilityAndReliability();
174 void updateKalmanAttribute(MultiModelDynamicsAttributes name,
double data,
double RData,
ModelKalmanPack &d);
176 void updateKalmanDynamics();
177 double setKalmanAcceleration(MultiModelDynamicsAttributes name,
double data,
double RData,
ModelKalmanPack &d,
double &R);
180 void getBufferAttributeValue(
ModelInstanceGeneralPack &pack, MultiModelDynamicsAttributes name,
double &value,
double &R);
181 void updateAttributeDynamics(
double data,
double RData,
double acuity,
183 void updateAttributeDynamicsNoData(
double estimate,
double acuity,
double currentCooling,
AttributeTripletValue &att);
184 double normalisedSigmaCoherenceReliability(
double sigma,
double acuity);
199 static int m_pixelAcuity;
200 static double m_minimalAttributeVelocityReliability;
201 static double m_minimalAttributeAccelerationReliability;
204 static double m_minimalClassDifferentiationProbability;
208 std::vector<SpReliabilitySingleModelInterface> multiModelDAG;
209 std::map <ObjectType, double> accumulatedClassScore;
210 std::set<ObjectType> validatedTypes;
228 double currentTimeDiffSeconds;
230 int currentCompareModel;
235 typedef QSharedPointer<ReliabilityMultiModel> SpReliabilityMultiModel;
238 #endif // RELIABILITYMULTIMODEL_H Definition: reliabilitymultimodel.h:117
Definition: reliabilitymultimodel.h:126
Definition: trajectory.h:54
Definition: reliabilitymultimodel.h:69
Definition: RMMMobileObject.h:36
Definition: reliabilityattribute.h:101
Definition: reliabilitymultimodel.h:103
Definition: reliabilitymultimodel.h:94
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: reliabilityattribute.h:76
Definition: reliabilitymultimodel.h:24
Definition: trajectory.h:20
Definition: BackgroundRecLigth.h:20