TestSetGenerator.h
Go to the documentation of this file.
1 
18 #pragma once
19 
20 #include <boost/random.hpp>
21 #include <boost/random/variate_generator.hpp>
22 #include <boost/random/uniform_real.hpp>
23 #include <boost/random/mersenne_twister.hpp>
24 #include <boost/random/normal_distribution.hpp>
25 
26 #include <ISM/utility/TableHelper.hpp>
27 #include <ISM/common_type/ObjectSet.hpp>
28 
29 #include <topology_creator/TopologyCreator.h>
30 
32 
33 #include "helper/PrintHelper.h"
34 
40 
41 public:
48  TestSetGenerator(boost::shared_ptr<AbstractTopologyEvaluator> pEvaluator, boost::shared_ptr<SceneModel::Topology> pFullyMeshedTopology, const std::vector<std::string>& pObjectTypes);
49 
54 
60  void generateTestSets(std::vector<boost::shared_ptr<ISM::ObjectSet>> pExamplesList, unsigned int pTestSetCount);
61 
62 private:
63 
68  void validateSets(std::vector<boost::shared_ptr<TestSet>> pTestSets);
69 
75  std::vector<boost::shared_ptr<TestSet>> loadTestSetsFromFile(const std::string& pFilename);
76 
82  void writeTestSetsToFile(const std::string& pFilename, const std::vector<boost::shared_ptr<TestSet>>& pTestSets);
83 
89  std::vector<boost::shared_ptr<TestSet>> simulateOcclusion(std::vector<boost::shared_ptr<TestSet>> pCompleteTestSets);
90 
91 protected:
92 
98  virtual std::vector<boost::shared_ptr<TestSet>> generateRandomSets(std::vector<boost::shared_ptr<ISM::ObjectSet>> pExamplesList, unsigned int pTestSetCount) = 0;
99 
105  void setPoseOfObjectRelativeToReference(ISM::ObjectPtr pObject, ISM::ObjectPtr pReference);
106 
107 private:
108 
113 
118 
122  std::vector<boost::shared_ptr<TestSet>> mValidTestSets;
123 
127  std::vector<boost::shared_ptr<TestSet>> mInvalidTestSets;
128 
133 
138 
143 
148 
152  std::string mSceneId;
153 
158 
159 protected:
160 
164  std::vector<std::string> mTypes;
165 
170 
171 };
172 
173 }
std::vector< boost::shared_ptr< TestSet > > mValidTestSets
std::vector< boost::shared_ptr< TestSet > > simulateOcclusion(std::vector< boost::shared_ptr< TestSet >> pCompleteTestSets)
boost::shared_ptr< SceneModel::Topology > mFullyMeshedTopology
void setPoseOfObjectRelativeToReference(ISM::ObjectPtr pObject, ISM::ObjectPtr pReference)
void generateTestSets(std::vector< boost::shared_ptr< ISM::ObjectSet >> pExamplesList, unsigned int pTestSetCount)
void validateSets(std::vector< boost::shared_ptr< TestSet >> pTestSets)
TestSetGenerator(boost::shared_ptr< AbstractTopologyEvaluator > pEvaluator, boost::shared_ptr< SceneModel::Topology > pFullyMeshedTopology, const std::vector< std::string > &pObjectTypes)
void writeTestSetsToFile(const std::string &pFilename, const std::vector< boost::shared_ptr< TestSet >> &pTestSets)
boost::shared_ptr< AbstractTopologyEvaluator > mEvaluator
std::vector< boost::shared_ptr< TestSet > > loadTestSetsFromFile(const std::string &pFilename)
std::vector< boost::shared_ptr< TestSet > > mInvalidTestSets
virtual std::vector< boost::shared_ptr< TestSet > > generateRandomSets(std::vector< boost::shared_ptr< ISM::ObjectSet >> pExamplesList, unsigned int pTestSetCount)=0


asr_psm
Author(s): Braun Kai, Gehrung Joachim, Heizmann Heinrich, Meißner Pascal
autogenerated on Fri Nov 15 2019 04:00:08