3#include <pcl/tracking/coherence.h>
4#include <pcl/tracking/kld_adaptive_particle_filter.h>
5#include <pcl/tracking/tracking.h>
17template <
typename Po
intInT,
typename StateT>
48 using Ptr = shared_ptr<KLDAdaptiveParticleFilterOMPTracker<PointInT, StateT>>;
50 shared_ptr<const KLDAdaptiveParticleFilterOMPTracker<PointInT, StateT>>;
101#ifdef PCL_NO_PRECOMPILE
102#include <pcl/tracking/impl/kld_adaptive_particle_filter_omp.hpp>
PointCloudConstPtr input_
The input point cloud dataset.
IndicesPtr indices_
A pointer to the vector of point indices to use.
KLDAdaptiveParticleFilterOMPTracker tracks the PointCloud which is given by setReferenceCloud within ...
unsigned int threads_
The number of threads the scheduler should use.
KLDAdaptiveParticleFilterOMPTracker(unsigned int nr_threads=0)
Initialize the scheduler and set the number of threads to use.
void setNumberOfThreads(unsigned int nr_threads=0)
Initialize the scheduler and set the number of threads to use.
void weight() override
weighting phase of particle filter method.
KLDAdaptiveParticleFilterTracker tracks the PointCloud which is given by setReferenceCloud within the...
shared_ptr< KLDAdaptiveParticleFilterTracker< PointInT, StateT > > Ptr
shared_ptr< const KLDAdaptiveParticleFilterTracker< PointInT, StateT > > ConstPtr
typename PointCloudState::ConstPtr PointCloudStateConstPtr
typename Tracker< PointInT, StateT >::PointCloudIn PointCloudIn
typename Coherence::Ptr CoherencePtr
typename PointCloudIn::ConstPtr PointCloudInConstPtr
typename PointCloudIn::Ptr PointCloudInPtr
typename CloudCoherence::Ptr CloudCoherencePtr
typename PointCloudState::Ptr PointCloudStatePtr
typename CloudCoherence::ConstPtr CloudCoherenceConstPtr
typename Tracker< PointInT, StateT >::PointCloudState PointCloudState
typename Coherence::ConstPtr CoherenceConstPtr
void calcBoundingBox(double &x_min, double &x_max, double &y_min, double &y_max, double &z_min, double &z_max)
Compute the parameters for the bounding box of hypothesis pointclouds.
CloudCoherencePtr coherence_
A pointer to PointCloudCoherence.
bool changed_
A flag to be true when change of pointclouds is detected.
unsigned int change_detector_filter_
Minimum points in a leaf when calling change detector.
pcl::octree::OctreePointCloudChangeDetector< PointInT >::Ptr change_detector_
Change detector used as a trigger to track.
pcl::PassThrough< PointInT > pass_z_
Pass through filter to crop the pointclouds within the hypothesis bounding box.
std::vector< PointCloudInPtr > transed_reference_vector_
A list of the pointers to pointclouds.
pcl::PassThrough< PointInT > pass_y_
Pass through filter to crop the pointclouds within the hypothesis bounding box.
unsigned int change_counter_
A counter to skip change detection.
double alpha_
The weight to be used in normalization of the weights of the particles.
bool use_normal_
A flag to use normal or not.
PointCloudStatePtr particles_
A pointer to the particles
unsigned int change_detector_interval_
The number of interval frame to run change detection.
double normalizeParticleWeight(double w, double w_min, double w_max)
Normalize the weight of a particle using .
int particle_num_
The number of the particles.
pcl::PassThrough< PointInT > pass_x_
Pass through filter to crop the pointclouds within the hypothesis bounding box.
bool use_change_detector_
The flag which will be true if using change detection.
virtual void normalizeWeight()
Normalize the weights of all the particels.
PointCloudCoherence is a base class to compute coherence between the two PointClouds.
shared_ptr< PointCloudCoherence< PointInT > > Ptr
shared_ptr< const PointCloudCoherence< PointInT > > ConstPtr
PointCoherence is a base class to compute coherence between the two points.
shared_ptr< const PointCoherence< PointInT > > ConstPtr
shared_ptr< PointCoherence< PointInT > > Ptr
Tracker represents the base tracker class.
const std::string & getClassName() const
Get a string representation of the name of this class.
SearchPtr search_
A pointer to the spatial search object.
std::string tracker_name_
The tracker name.