EqualityFilter.h
Go to the documentation of this file.
1#pragma once
2
3#include <map>
4#include <vector>
5
6// Base Class
7#include "../Filter.h"
8
9// Aron
10#include <chrono>
11
15
17{
19 {
20 public:
21 static const constexpr char* NAME = "SnapshotSimilarityFilter";
22 static const constexpr char* PARAM_THRESHOLD = "Threshold";
23 static const constexpr char* PARAM_SIM_MEASURE = "SimilarityMeasure";
24 static const constexpr char* PARAM_MAX_OBJECTS = "NumberOfObjectsToCompare";
25
27
28 virtual bool accept(const armem::wm::EntitySnapshot& e, bool simulatedVersion) override;
29 void configure(const nlohmann::json& json) override;
30
32 std::string getName() override;
33
34 private:
35 //std::map<MemoryID, std::vector<aron::data::DictPtr>> dataLastCommit;
36 std::deque<std::vector<armarx::aron::data::NDArrayPtr>> images;
37 std::deque<std::vector<armarx::aron::data::FloatPtr>> floats;
38 std::map<MemoryID, long> timestampLastCommitInMs;
39 std::double_t threshold;
40 FilterStatistics stats;
41 std::size_t max_images = 2;
43 aron::similarity::FloatSimilarity::Type float_similarity_type;
44 };
45} // namespace armarx::armem::server::ltm::processor::filter
virtual bool accept(const armem::wm::EntitySnapshot &e, bool simulatedVersion) override
Client-side working memory entity snapshot.