Visu.h
Go to the documentation of this file.
1#pragma once
2
3
6
8
10#include <RobotAPI/interface/objectpose/ObjectPoseStorageInterface.h>
13
14namespace armarx
15{
16 class ObjectFinder;
17}
18
20{
21
22 /**
23 * @brief Models decay of object localizations by decreasing the confidence
24 * the longer the object was not localized.
25 */
26 class Visu : public armarx::Logging
27 {
28 public:
30 const std::string& prefix = "visu.");
31
32 std::vector<viz::Layer> visualizeCommit(
33 const std::map<std::string, objpose::ObjectPoseSeq>& objectPoses,
34 const std::map<std::string, std::vector<std::map<DateTime, objpose::ObjectPose>>>&
35 poseHistories,
36 const ObjectFinder& objectFinder) const;
37
38 /// Visualize the given object poses, with one layer per provider.
39 std::vector<viz::Layer>
40 visualizeCommit(const objpose::ObjectPoseSeq& objectPoses,
41 const std::vector<std::map<DateTime, objpose::ObjectPose>>& poseHistories,
42 const ObjectFinder& objectFinder) const;
43
44 std::vector<viz::Layer> visualizeCommit(
45 const objpose::ObjectPoseMap& objectPoses,
46 const std::map<ObjectID, std::map<DateTime, objpose::ObjectPose>>& poseHistories,
47 const ObjectFinder& objectFinder) const;
48
49 std::vector<viz::Layer>
50 visualizeCommit(const std::map<std::string, objpose::ObjectPoseMap>& objectPosesByProvider,
51 const std::map<std::string,
52 std::map<ObjectID, std::map<DateTime, objpose::ObjectPose>>>&
53 poseHistoriesByProvider,
54 const ObjectFinder& objectFinder) const;
55
57 visualizeProvider(const std::string& providerName,
58 const objpose::ObjectPoseSeq& objectPoses,
59 const std::vector<std::map<DateTime, objpose::ObjectPose>>& poseHistories,
60 const ObjectFinder& objectFinder) const;
61
62
64 const objpose::ObjectPose& objectPose,
65 const std::map<DateTime, objpose::ObjectPose>& poseHistory,
66 const ObjectFinder& objectFinder,
67 bool useColModel) const;
68
69
70 private:
71 viz::Layer& getLayer(const std::string& providerName,
72 std::map<std::string, viz::Layer>& stage) const;
73
74
75 public:
77
78 bool enabled = true;
79 float frequencyHz = 25;
80
81 bool colModelsEnabled = false;
82
83 bool inGlobalFrame = true;
84 float minConfidence = 0;
85 float alpha = 1.0;
86 bool alphaByConfidence = false;
87 bool oobbs = false;
88
89 bool objectFrames = false;
90 float objectFramesScale = 1.0;
91
92 struct Gaussians
93 {
94 bool position = true;
95 float positionScale = 1.0;
96 bool orientation = false;
97 float orientationScale = 100;
99
100 void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string& prefix);
101
102 bool showAny() const;
103 void draw(viz::Layer& layer,
104 const objpose::ObjectPose& objectPose,
105 bool inGlobalFrame) const;
106 };
107
109
110 /// Prefer articulated models if available.
112
113 /// Linear predictions for objects.
115
117
156 };
157
158} // namespace armarx::armem::server::obj::instance
Base Class for all Logging classes.
Definition Logging.h:240
Used to find objects in the ArmarX objects repository [1] (formerly [2]).
A known object ID of the form "Dataset/ClassName" or "Dataset/ClassName/InstanceName".
Definition ObjectID.h:11
IceUtil::Handle< RunningTask< T > > pointer_type
Shared pointer type for convenience.
Models decay of object localizations by decreasing the confidence the longer the object was not local...
Definition Visu.h:27
void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="visu.")
Definition Visu.cpp:48
visu::LinearPredictions linearPredictions
Linear predictions for objects.
Definition Visu.h:114
bool useArticulatedModels
Prefer articulated models if available.
Definition Visu.h:111
std::vector< viz::Layer > visualizeCommit(const std::map< std::string, objpose::ObjectPoseSeq > &objectPoses, const std::map< std::string, std::vector< std::map< DateTime, objpose::ObjectPose > > > &poseHistories, const ObjectFinder &objectFinder) const
Definition Visu.cpp:101
SimpleRunningTask ::pointer_type updateTask
Definition Visu.h:116
viz::Layer visualizeProvider(const std::string &providerName, const objpose::ObjectPoseSeq &objectPoses, const std::vector< std::map< DateTime, objpose::ObjectPose > > &poseHistories, const ObjectFinder &objectFinder) const
Definition Visu.cpp:228
void visualizeObjectPose(viz::Layer &layer, const objpose::ObjectPose &objectPose, const std::map< DateTime, objpose::ObjectPose > &poseHistory, const ObjectFinder &objectFinder, bool useColModel) const
Definition Visu.cpp:249
std::map< ObjectID, ObjectPose > ObjectPoseMap
std::vector< ObjectPose > ObjectPoseSeq
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
void draw(viz::Layer &layer, const objpose::ObjectPose &objectPose, bool inGlobalFrame) const
Definition Visu.cpp:357
void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix)
Definition Visu.cpp:82
armarx::RemoteGui::Client::CheckBox orientation
Definition Visu.h:137
armarx::RemoteGui::Client::FloatSpinBox positionScale
Definition Visu.h:135
armarx::RemoteGui::Client::CheckBox orientationDisplaced
Definition Visu.h:139
armarx::RemoteGui::Client::FloatSpinBox orientationScale
Definition Visu.h:138
armarx::RemoteGui::Client::CheckBox inGlobalFrame
Definition Visu.h:124
armarx::RemoteGui::Client::FloatSpinBox objectFramesScale
Definition Visu.h:130
armarx::RemoteGui::Client::CheckBox useArticulatedModels
Definition Visu.h:149
armarx::RemoteGui::Client::GroupBox group
Definition Visu.h:120
armarx::RemoteGui::Client::CheckBox alphaByConfidence
Definition Visu.h:126
armarx::RemoteGui::Client::CheckBox objectFrames
Definition Visu.h:129
armarx::RemoteGui::Client::FloatSlider alpha
Definition Visu.h:125
visu::LinearPredictions::RemoteGui linearPredictions
Definition Visu.h:151
armarx::RemoteGui::Client::CheckBox enabled
Definition Visu.h:122
armarx::RemoteGui::Client::CheckBox oobbs
Definition Visu.h:127
Visualization control for linear predictions for objects.
An object pose as stored by the ObjectPoseStorage.
Definition ObjectPose.h:34