Decay.h
Go to the documentation of this file.
1 #pragma once
2 
6 
8 
10 
12 {
13 
14  /**
15  * @brief Models decay of object localizations by decreasing the confidence
16  * the longer the object was not localized.
17  */
18  class Decay : public armarx::Logging
19  {
20  public:
22  const std::string& prefix = "decay.");
23 
24  void updateConfidence(objpose::ObjectPose& pose, const DateTime& now) const;
25  void updateConfidences(objpose::ObjectPoseSeq& objectPoses, const DateTime& now) const;
26 
27  private:
28  float calculateConfidence(const DateTime& localization, const DateTime& now) const;
29 
30 
31  public:
32  bool enabled = false;
33 
34  /// Duration after latest localization before decay starts.
35  float delaySeconds = 5.0;
36  /// How long to reach minConfidence.
37  float durationSeconds = 20.0;
38 
39  float maxConfidence = 1.0;
40  float minConfidence = 0.0f;
41 
43 
44  struct RemoteGui
45  {
47 
49 
54 
56 
57  void setup(const Decay& decay);
58  void update(Decay& decay);
59  };
60  };
61 
62 } // namespace armarx::armem::server::obj::instance
armarx::armem::server::obj::instance::Decay::RemoteGui::maxConfidence
armarx::RemoteGui::Client::FloatSlider maxConfidence
Definition: Decay.h:52
armarx::armem::server::obj::instance::Decay::minConfidence
float minConfidence
Definition: Decay.h:40
armarx::objpose::ObjectPoseSeq
std::vector< ObjectPose > ObjectPoseSeq
Definition: forward_declarations.h:20
armarx::armem::server::obj::instance::Decay::RemoteGui::update
void update(Decay &decay)
Definition: Decay.cpp:130
armarx::armem::server::obj::instance::Decay::updateConfidence
void updateConfidence(objpose::ObjectPose &pose, const DateTime &now) const
Definition: Decay.cpp:30
armarx::armem::server::obj::instance::Decay::updateConfidences
void updateConfidences(objpose::ObjectPoseSeq &objectPoses, const DateTime &now) const
Definition: Decay.cpp:43
armarx::armem::server::obj::instance::Decay
Models decay of object localizations by decreasing the confidence the longer the object was not local...
Definition: Decay.h:18
armarx::armem::server::obj::instance::Decay::RemoteGui
Definition: Decay.h:44
armarx::armem::server::obj::instance::Decay::removeObjectsBelowConfidence
float removeObjectsBelowConfidence
Definition: Decay.h:42
armarx::armem::server::obj::instance::Decay::RemoteGui::enabled
armarx::RemoteGui::Client::CheckBox enabled
Definition: Decay.h:48
armarx::armem::server::obj::instance
Definition: ArticulatedObjectVisu.cpp:16
armarx::armem::server::obj::instance::Decay::RemoteGui::minConfidence
armarx::RemoteGui::Client::FloatSlider minConfidence
Definition: Decay.h:53
armarx::armem::server::obj::instance::Decay::delaySeconds
float delaySeconds
Duration after latest localization before decay starts.
Definition: Decay.h:35
armarx::armem::server::obj::instance::Decay::RemoteGui::delaySeconds
armarx::RemoteGui::Client::FloatSpinBox delaySeconds
Definition: Decay.h:50
armarx::RemoteGui::Client::FloatSlider
Definition: Widgets.h:107
armarx::armem::server::obj::instance::Decay::enabled
bool enabled
Definition: Decay.h:32
armarx::RemoteGui::Client::GroupBox
Definition: Widgets.h:193
ObjectPose.h
armarx::armem::server::obj::instance::Decay::durationSeconds
float durationSeconds
How long to reach minConfidence.
Definition: Decay.h:37
TaskUtil.h
armarx::armem::server::obj::instance::Decay::RemoteGui::setup
void setup(const Decay &decay)
Definition: Decay.cpp:74
forward_declarations.h
armarx::armem::server::obj::instance::Decay::maxConfidence
float maxConfidence
Definition: Decay.h:39
armarx::core::time::DateTime
Represents a point in time.
Definition: DateTime.h:24
armarx::armem::server::obj::instance::Decay::defineProperties
void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="decay.")
Definition: Decay.cpp:12
armarx::armem::server::obj::instance::Decay::RemoteGui::durationSeconds
armarx::RemoteGui::Client::FloatSpinBox durationSeconds
Definition: Decay.h:51
armarx::Logging
Base Class for all Logging classes.
Definition: Logging.h:239
IceUtil::Handle< class PropertyDefinitionContainer >
armarx::armem::server::obj::instance::Decay::RemoteGui::group
armarx::RemoteGui::Client::GroupBox group
Definition: Decay.h:46
armarx::RemoteGui::Client::CheckBox
Definition: Widgets.h:129
Widgets.h
Logging.h
armarx::RemoteGui::Client::FloatSpinBox
Definition: Widgets.h:93
armarx::objpose::ObjectPose
An object pose as stored by the ObjectPoseStorage.
Definition: ObjectPose.h:33
armarx::armem::server::obj::instance::Decay::RemoteGui::removeObjectsBelowConfidence
armarx::RemoteGui::Client::FloatSlider removeObjectsBelowConfidence
Definition: Decay.h:55