4#include <ArmarXCore/interface/core/UserException.h>
24 auto f = std::make_unique<processor::filter::SnapshotFrequencyFilter>();
31 auto f = std::make_unique<processor::filter::SnapshotSimilarityFilter>();
38 auto f = std::make_unique<processor::filter::SnapshotImportanceFilter>();
47 auto f = std::make_unique<processor::converter::data::image::PngConverter>();
54 auto f = std::make_unique<processor::converter::data::image::ExrConverter>();
60 std::map<std::string, processor::SnapshotFilter::FilterStatistics>
63 std::map<std::string, processor::SnapshotFilter::FilterStatistics> stats;
64 bool recordedOverall =
false;
66 for (std::size_t i = 0; i <
snapFilters.size(); i++)
68 auto statistics =
snapFilters.at(i)->getFilterStatistics();
69 auto recorded = statistics.accepted + statistics.rejected;
73 recordedOverall =
true;
78 throw InvalidArgumentException(
79 "NoFilters recorded any data being accepted or rejected, "
80 "cant store empty statistics");
91 filter_ptr->resetStatisticsForNewEpisode();
std::vector< std::unique_ptr< processor::SnapshotFilter > > snapFilters
void configure(const nlohmann::json &config)
std::vector< std::unique_ptr< processor::DataConverter > > converters
std::map< std::string, processor::SnapshotFilter::FilterStatistics > getSnapshotFilterStatistics()
void resetFilterStatisticsForNewEpisode()
resetFilterStatisticsForNewEpisode runs resetFilterStatisticsForNewEpisode on all snapshot filters
static const constexpr char * NAME
static const constexpr char * NAME
static const constexpr char * NAME
static const constexpr char * NAME
static const constexpr char * NAME
#define ARMARX_INFO
The normal logging level.
#define ARMARX_IMPORTANT
The logging level for always important information, but expected behaviour (in contrast to ARMARX_WAR...
#define ARMARX_DEBUG
The logging level for output that is only interesting while debugging.