22#include "gtest/gtest_prod.h"
74 virtual bool Match(
const std::vector<RadarTrackPtr> &radar_tracks,
77 std::vector<TrackObjectPair> *assignments,
78 std::vector<size_t> *unassigned_tracks,
79 std::vector<size_t> *unassigned_objects) {
95 virtual void IDMatch(
const std::vector<RadarTrackPtr> &radar_tracks,
97 std::vector<TrackObjectPair> *assignments,
98 std::vector<size_t> *unassigned_tracks,
99 std::vector<size_t> *unassigned_objects);
106 virtual std::string
Name()
const {
return "BaseMatcher"; }
148 double track_timestamp,
150 double radar_timestamp);
162#define PERCEPTION_REGISTER_MATCHER(name) \
163 PERCEPTION_REGISTER_CLASS(BaseMatcher, name)
virtual bool Init(const MatcherInitOptions &options)
Init Base Matcher config
FRIEND_TEST(BaseMatcherTest, base_matcher_test)
virtual void IDMatch(const std::vector< RadarTrackPtr > &radar_tracks, const base::Frame &radar_frame, std::vector< TrackObjectPair > *assignments, std::vector< size_t > *unassigned_tracks, std::vector< size_t > *unassigned_objects)
Target association by id.
virtual ~BaseMatcher()=default
static double s_max_match_distance_
static void SetBoundMatchDistance(double dist)
Set the Bound Match Distance
BaseMatcher()=default
Construct a new Base Matcher object
static double GetBoundMatchDistance()
Get the Bound Match Distance
static double GetMaxMatchDistance()
Get the Max Match Distance
virtual std::string Name() const
The name of the radar base Matcher
virtual bool Match(const std::vector< RadarTrackPtr > &radar_tracks, const base::Frame &radar_frame, const TrackObjectMatcherOptions &options, std::vector< TrackObjectPair > *assignments, std::vector< size_t > *unassigned_tracks, std::vector< size_t > *unassigned_objects)
Match radar objects to tracks
virtual bool RefinedTrack(const base::ObjectPtr &track_object, double track_timestamp, const base::ObjectPtr &radar_object, double radar_timestamp)
After the IDMatch, then track targets based on their features.
static void SetMaxMatchDistance(double dist)
Set the Max Match Distance
static double s_bound_match_distance_
#define DISALLOW_COPY_AND_ASSIGN(classname)
std::shared_ptr< Object > ObjectPtr
std::pair< size_t, size_t > TrackObjectPair
#define PERCEPTION_REGISTER_REGISTERER(base_class)
Eigen::Vector3d * ref_point