Class MatchingProblemFrameToFrame

Inheritance Relationships

Base Type

Class Documentation

class aslam::MatchingProblemFrameToFrame : public aslam::MatchingProblem

Public Functions

ASLAM_POINTER_TYPEDEFS(MatchingProblemFrameToFrame)
ASLAM_DISALLOW_EVIL_CONSTRUCTORS(MatchingProblemFrameToFrame)
ASLAM_ADD_MATCH_TYPEDEFS(FrameToFrame)
MatchingProblemFrameToFrame() = delete
MatchingProblemFrameToFrame(const VisualFrame &apple_frame, const VisualFrame &banana_frame, const aslam::Quaternion &q_A_B, double image_space_distance_threshold_pixels, int hamming_distance_threshold)

Constructor for a frame-to-frame matching problem.

Parameters
  • [in] apple_frame – Apple frame.

  • [in] banana_frame – Banana frame.

  • [in] q_A_B – Quaternion taking vectors from the banana frame into the apple frame.

  • [in] image_space_distance_threshold_pixels – Max image space distance threshold for two pairs to become match candidates.

  • [in] hamming_distance_threshold – Max hamming distance for two pairs to become candidates.

inline virtual ~MatchingProblemFrameToFrame()
virtual size_t numApples() const
virtual size_t numBananas() const
virtual void getAppleCandidatesForBanana(int frame_banana_keypoint_index, Candidates *candidates)

Get a short list of candidates in list a for index b.

Parameters
  • [in] frame_banana_keypoint_index – The index of b queried for candidates.

  • [out] candidates – Candidates from the apple frame keypoints that could potentially match the given keypoint from the banana frame.

inline double computeMatchScore(int hamming_distance)
inline int computeHammingDistance(int banana_index, int apple_index)
virtual bool doSetup()

Gets called at the beginning of the matching problem.

Creates a y-coordinate LUT for all apple keypoints and projects all banana keypoints into the apple frame.

Friends

friend class MatcherTest