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
  • apple_frame[in] Apple frame.

  • banana_frame[in] Banana frame.

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

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

  • hamming_distance_threshold[in] 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
  • frame_banana_keypoint_index[in] The index of b queried for candidates.

  • candidates[out] 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