42 #include <pcl/registration/correspondence_rejection.h> 44 #include <pcl/point_cloud.h> 50 namespace registration
72 using Ptr = shared_ptr<CorrespondenceRejectorVarTrimmed>;
73 using ConstPtr = shared_ptr<const CorrespondenceRejectorVarTrimmed>;
77 trimmed_distance_ (0),
83 rejection_name_ =
"CorrespondenceRejectorVarTrimmed";
102 template <
typename Po
intT>
inline void 105 if (!data_container_)
114 template <
typename Po
intT>
115 PCL_DEPRECATED(1, 12,
"pcl::registration::CorrespondenceRejectorVarTrimmed::setInputCloud is deprecated. Please use setInputSource instead")
119 if (!data_container_)
128 template <
typename Po
intT>
inline void 131 if (!data_container_)
149 setInputSource<PointXYZ> (cloud);
163 setInputTarget<PointXYZ> (cloud);
173 template <
typename Po
intT>
inline void 175 bool force_no_recompute =
false)
178 (data_container_)->setSearchMethodTarget (tree, force_no_recompute );
215 getRemainingCorrespondences (*input_correspondences_, correspondences);
249 inline float optimizeInlierRatio (std::vector <double> &dists)
const;
254 #include <pcl/registration/impl/correspondence_rejection_var_trimmed.hpp> shared_ptr< KdTree< PointT, Tree > > Ptr
void fromPCLPointCloud2(const pcl::PCLPointCloud2 &msg, pcl::PointCloud< PointT > &cloud, const MsgFieldMap &field_map)
Convert a PCLPointCloud2 binary data blob into a pcl::PointCloud<T> object using a field_map...
shared_ptr< const CorrespondenceRejector > ConstPtr
double factor_
The factor for correspondence rejection.
DataContainer is a container for the input and target point clouds and implements the interface to co...
shared_ptr< PointCloud< PointT > > Ptr
Defines functions, macros and traits for allocating and using memory.
shared_ptr< CorrespondenceRejector > Ptr
CorrespondenceRejectoVarTrimmed implements a simple correspondence rejection method by considering as...
CorrespondenceRejector represents the base class for correspondence rejection methods ...
shared_ptr< const ::pcl::PCLPointCloud2 > ConstPtr
double trimmed_distance_
The inlier distance threshold (based on the computed trim factor) between two correspondent points in...
void setTargetPoints(pcl::PCLPointCloud2::ConstPtr cloud2) override
Method for setting the target cloud.
DataContainerInterface::Ptr DataContainerPtr
double getMinRatio() const
brief get the minimum overlap ratio
void setInputTarget(const typename pcl::PointCloud< PointT >::ConstPtr &target)
Provide a target point cloud dataset (must contain XYZ data!), used to compute the correspondence dis...
const std::string & getClassName() const
Get a string representation of the name of this class.
DataContainerPtr data_container_
A pointer to the DataContainer object containing the input and target point clouds.
double lambda_
part of the term that balances the root mean square difference.
void setSourcePoints(pcl::PCLPointCloud2::ConstPtr cloud2) override
Blob method for setting the source cloud.
void setMinRatio(double ratio)
brief set the minimum overlap ratio
void setMaxRatio(double ratio)
brief set the maximum overlap ratio
CorrespondenceRejectorVarTrimmed()
Empty constructor.
bool requiresTargetPoints() const override
See if this rejector requires a target cloud.
void setInputSource(const typename pcl::PointCloud< PointT >::ConstPtr &cloud)
Provide a source point cloud dataset (must contain XYZ data!), used to compute the correspondence dis...
PointCloud represents the base class in PCL for storing collections of 3D points. ...
double min_ratio_
The minimum overlap ratio between the input and target clouds.
bool requiresSourcePoints() const override
See if this rejector requires source points.
void applyRejection(pcl::Correspondences &correspondences) override
Apply the rejection algorithm.
shared_ptr< DataContainerInterface > Ptr
double getMaxRatio() const
brief get the maximum overlap ratio
CorrespondencesConstPtr input_correspondences_
The input correspondences.
shared_ptr< const PointCloud< PointT > > ConstPtr
std::string rejection_name_
The name of the rejection method.
std::vector< pcl::Correspondence, Eigen::aligned_allocator< pcl::Correspondence > > Correspondences
double getTrimmedDistance() const
Get the trimmed distance used for thresholding in correspondence rejection.
#define PCL_DEPRECATED(Major, Minor, Message)
macro for compatibility across compilers and help remove old deprecated items for the Major...
void setSearchMethodTarget(const typename pcl::search::KdTree< PointT >::Ptr &tree, bool force_no_recompute=false)
Provide a pointer to the search object used to find correspondences in the target cloud...
A point structure representing Euclidean xyz coordinates, and the RGB color.
double getTrimFactor() const
Get the computed inlier ratio used for thresholding in correspondence rejection.
double max_ratio_
The maximum overlap ratio between the input and target clouds.