1#ifndef PCL_TRACKING_IMPL_KLD_ADAPTIVE_PARTICLE_OMP_FILTER_H_
2#define PCL_TRACKING_IMPL_KLD_ADAPTIVE_PARTICLE_OMP_FILTER_H_
4#include <pcl/tracking/kld_adaptive_particle_filter_omp.h>
9template <
typename Po
intInT,
typename StateT>
12 unsigned int nr_threads)
25template <
typename Po
intInT,
typename StateT>
31#pragma omp parallel for \
49#pragma omp parallel for \
67#pragma omp parallel for \
84#pragma omp parallel for \
86 shared(indices_list) \
100#pragma omp parallel for \
102 shared(indices_list) \
103 num_threads(threads_)
116#define PCL_INSTANTIATE_KLDAdaptiveParticleFilterOMPTracker(T, ST) \
117 template class PCL_EXPORTS pcl::tracking::KLDAdaptiveParticleFilterOMPTracker<T, ST>;
PointCloudConstPtr input_
unsigned int threads_
The number of threads the scheduler should 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.
typename Tracker< PointInT, StateT >::PointCloudIn PointCloudIn
typename PointCloudIn::Ptr PointCloudInPtr
CloudCoherencePtr coherence_
A pointer to PointCloudCoherence.
bool testChangeDetection(const PointCloudInConstPtr &input)
Run change detection and return true if there is a change.
void computeTransformedPointCloudWithNormal(const StateT &hypothesis, pcl::Indices &indices, PointCloudIn &cloud)
Compute a reference pointcloud transformed to the pose that hypothesis represents and calculate indic...
bool changed_
A flag to be true when change of pointclouds is detected.
std::vector< PointCloudInPtr > transed_reference_vector_
A list of the pointers to pointclouds.
void computeTransformedPointCloudWithoutNormal(const StateT &hypothesis, PointCloudIn &cloud)
Compute a reference pointcloud transformed to the pose that hypothesis represents and calculate indic...
unsigned int change_counter_
A counter to skip change detection.
bool use_normal_
A flag to use normal or not.
void cropInputPointCloud(const PointCloudInConstPtr &cloud, PointCloudIn &output)
Crop the pointcloud by the bounding box calculated from hypothesis and the reference pointcloud.
PointCloudStatePtr particles_
A pointer to the particles.
unsigned int change_detector_interval_
The number of interval frame to run change detection.
int particle_num_
The number of the particles.
bool use_change_detector_
The flag which will be true if using change detection.
virtual void normalizeWeight()
Normalize the weights of all the particels.
shared_ptr< Indices > IndicesPtr
IndicesAllocator<> Indices
Type used for indices in PCL.