6 #include <BayesFilters/PFVisualCorrectionDecorator.h> 7 #include <BayesFilters/StateModel.h> 10 class GatePose :
public bfl::PFVisualCorrectionDecorator
13 GatePose(std::unique_ptr<PFVisualCorrection> visual_correction,
14 const double gate_x,
const double gate_y,
const double gate_z,
15 const double gate_rotation,
16 const double gate_aperture) noexcept;
18 GatePose(std::unique_ptr<PFVisualCorrection> visual_correction) noexcept;
22 void innovation(
const Eigen::Ref<const Eigen::MatrixXf>& pred_states, cv::InputArray measurements, Eigen::Ref<Eigen::MatrixXf> innovations)
override;
24 double likelihood(
const Eigen::Ref<const Eigen::MatrixXf>& innovations)
override;
31 void correctStep(
const Eigen::Ref<const Eigen::MatrixXf>& pred_states,
const Eigen::Ref<const Eigen::VectorXf>& pred_weights, cv::InputArray measurements,
32 Eigen::Ref<Eigen::MatrixXf> cor_states, Eigen::Ref<Eigen::VectorXf> cor_weights)
override;
34 virtual Eigen::VectorXd
readPose() = 0;
40 bool isInsideCone(
const Eigen::Ref<const Eigen::VectorXf>& state);
void correctStep(const Eigen::Ref< const Eigen::MatrixXf > &pred_states, const Eigen::Ref< const Eigen::VectorXf > &pred_weights, cv::InputArray measurements, Eigen::Ref< Eigen::MatrixXf > cor_states, Eigen::Ref< Eigen::VectorXf > cor_weights) override
void setVisualObservationModel(std::unique_ptr< bfl::VisualObservationModel > visual_observation_model) override
bfl::VisualObservationModel & getVisualObservationModel() override
GatePose(std::unique_ptr< PFVisualCorrection > visual_correction, const double gate_x, const double gate_y, const double gate_z, const double gate_rotation, const double gate_aperture) noexcept
bool isInsideCone(const Eigen::Ref< const Eigen::VectorXf > &state)
virtual Eigen::VectorXd readPose()=0
bool isWithinRotation(float rot_angle)
bool isInsideEllipsoid(const Eigen::Ref< const Eigen::VectorXf > &state)
double likelihood(const Eigen::Ref< const Eigen::MatrixXf > &innovations) override
void innovation(const Eigen::Ref< const Eigen::MatrixXf > &pred_states, cv::InputArray measurements, Eigen::Ref< Eigen::MatrixXf > innovations) override