Point Cloud Library (PCL)
1.14.1-dev
|
CorrespondenceEstimationOrganizedProjection computes correspondences by projecting the source point cloud onto the target point cloud using the camera intrinsic and extrinsic parameters. More...
#include <pcl/registration/correspondence_estimation_organized_projection.h>
Public Member Functions | |
CorrespondenceEstimationOrganizedProjection () | |
Empty constructor that sets all the intrinsic calibration to the default Kinect values. More... | |
void | setFocalLengths (const float fx, const float fy) |
Sets the focal length parameters of the target camera. More... | |
void | getFocalLengths (float &fx, float &fy) const |
Reads back the focal length parameters of the target camera. More... | |
void | setCameraCenters (const float cx, const float cy) |
Sets the camera center parameters of the target camera. More... | |
void | getCameraCenters (float &cx, float &cy) const |
Reads back the camera center parameters of the target camera. More... | |
void | setSourceTransformation (const Eigen::Matrix4f &src_to_tgt_transformation) |
Sets the transformation from the source point cloud to the target point cloud. More... | |
Eigen::Matrix4f | getSourceTransformation () const |
Reads back the transformation from the source point cloud to the target point cloud. More... | |
void | setDepthThreshold (const float depth_threshold) |
Sets the depth threshold; after projecting the source points in the image space of the target camera, this threshold is applied on the depths of corresponding dexels to eliminate the ones that are too far from each other. More... | |
float | getDepthThreshold () const |
Reads back the depth threshold; after projecting the source points in the image space of the target camera, this threshold is applied on the depths of corresponding dexels to eliminate the ones that are too far from each other. More... | |
void | determineCorrespondences (Correspondences &correspondences, double max_distance) |
Computes the correspondences, applying a maximum Euclidean distance threshold. More... | |
void | determineReciprocalCorrespondences (Correspondences &correspondences, double max_distance) |
Computes the correspondences, applying a maximum Euclidean distance threshold. More... | |
virtual CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::Ptr | clone () const |
Clone and cast to CorrespondenceEstimationBase. More... | |
Public Member Functions inherited from pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float > | |
CorrespondenceEstimationBase () | |
Empty constructor. More... | |
~CorrespondenceEstimationBase () override=default | |
Empty destructor. More... | |
void | setInputSource (const PointCloudSourceConstPtr &cloud) |
Provide a pointer to the input source (e.g., the point cloud that we want to align to the target) More... | |
PointCloudSourceConstPtr const | getInputSource () |
Get a pointer to the input point cloud dataset target. More... | |
void | setInputTarget (const PointCloudTargetConstPtr &cloud) |
Provide a pointer to the input target (e.g., the point cloud that we want to align the input source to) More... | |
PointCloudTargetConstPtr const | getInputTarget () |
Get a pointer to the input point cloud dataset target. More... | |
void | setNumberOfThreads (unsigned int nr_threads) |
Set the number of threads to use. More... | |
virtual bool | requiresSourceNormals () const |
See if this rejector requires source normals. More... | |
virtual void | setSourceNormals (pcl::PCLPointCloud2::ConstPtr) |
Abstract method for setting the source normals. More... | |
virtual bool | requiresTargetNormals () const |
See if this rejector requires target normals. More... | |
virtual void | setTargetNormals (pcl::PCLPointCloud2::ConstPtr) |
Abstract method for setting the target normals. More... | |
void | setIndicesSource (const IndicesPtr &indices) |
Provide a pointer to the vector of indices that represent the input source point cloud. More... | |
IndicesPtr const | getIndicesSource () |
Get a pointer to the vector of indices used for the source dataset. More... | |
void | setIndicesTarget (const IndicesPtr &indices) |
Provide a pointer to the vector of indices that represent the input target point cloud. More... | |
IndicesPtr const | getIndicesTarget () |
Get a pointer to the vector of indices used for the target dataset. More... | |
void | setSearchMethodTarget (const KdTreePtr &tree, bool force_no_recompute=false) |
Provide a pointer to the search object used to find correspondences in the target cloud. More... | |
KdTreePtr | getSearchMethodTarget () const |
Get a pointer to the search method used to find correspondences in the target cloud. More... | |
void | setSearchMethodSource (const KdTreeReciprocalPtr &tree, bool force_no_recompute=false) |
Provide a pointer to the search object used to find correspondences in the source cloud (usually used by reciprocal correspondence finding). More... | |
KdTreeReciprocalPtr | getSearchMethodSource () const |
Get a pointer to the search method used to find correspondences in the source cloud. More... | |
void | setPointRepresentation (const PointRepresentationConstPtr &point_representation) |
Provide a boost shared pointer to the PointRepresentation for target cloud to be used when searching for nearest neighbors. More... | |
void | setPointRepresentationReciprocal (const PointRepresentationReciprocalConstPtr &point_representation_reciprocal) |
Provide a boost shared pointer to the PointRepresentation for source cloud to be used when searching for nearest neighbors. More... | |
Public Member Functions inherited from pcl::PCLBase< PointSource > | |
PCLBase () | |
Empty constructor. More... | |
PCLBase (const PCLBase &base) | |
Copy constructor. More... | |
virtual | ~PCLBase ()=default |
Destructor. More... | |
virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
Provide a pointer to the input dataset. More... | |
PointCloudConstPtr const | getInputCloud () const |
Get a pointer to the input point cloud dataset. More... | |
virtual void | setIndices (const IndicesPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
virtual void | setIndices (const IndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
virtual void | setIndices (const PointIndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) |
Set the indices for the points laying within an interest region of the point cloud. More... | |
IndicesPtr | getIndices () |
Get a pointer to the vector of indices used. More... | |
IndicesConstPtr const | getIndices () const |
Get a pointer to the vector of indices used. More... | |
const PointSource & | operator[] (std::size_t pos) const |
Override PointCloud operator[] to shorten code. More... | |
Protected Member Functions | |
bool | initCompute () |
Protected Member Functions inherited from pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float > | |
const std::string & | getClassName () const |
Abstract class get name method. More... | |
bool | initCompute () |
Internal computation initialization. More... | |
bool | initComputeReciprocal () |
Internal computation initialization for reciprocal correspondences. More... | |
Protected Member Functions inherited from pcl::PCLBase< PointSource > | |
bool | initCompute () |
This method should get called before starting the actual computation. More... | |
bool | deinitCompute () |
This method should get called after finishing the actual computation. More... | |
Protected Attributes | |
float | fx_ {525.f} |
float | fy_ {525.f} |
float | cx_ {319.5f} |
float | cy_ {239.5f} |
Eigen::Matrix4f | src_to_tgt_transformation_ |
float | depth_threshold_ |
Eigen::Matrix3f | projection_matrix_ |
Protected Attributes inherited from pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float > | |
std::string | corr_name_ |
The correspondence estimation method name. More... | |
KdTreePtr | tree_ |
A pointer to the spatial search object used for the target dataset. More... | |
KdTreeReciprocalPtr | tree_reciprocal_ |
A pointer to the spatial search object used for the source dataset. More... | |
PointCloudTargetConstPtr | target_ |
The input point cloud dataset target. More... | |
IndicesPtr | target_indices_ |
The target point cloud dataset indices. More... | |
PointRepresentationConstPtr | point_representation_ |
The target point representation used (internal). More... | |
PointRepresentationReciprocalConstPtr | point_representation_reciprocal_ |
The source point representation used (internal). More... | |
PointCloudTargetPtr | input_transformed_ |
The transformed input source point cloud dataset. More... | |
std::vector< pcl::PCLPointField > | input_fields_ |
The types of input point fields available. More... | |
bool | target_cloud_updated_ |
Variable that stores whether we have a new target cloud, meaning we need to pre-process it again. More... | |
bool | source_cloud_updated_ |
Variable that stores whether we have a new source cloud, meaning we need to pre-process it again. More... | |
bool | force_no_recompute_ |
A flag which, if set, means the tree operating on the target cloud will never be recomputed. More... | |
bool | force_no_recompute_reciprocal_ |
A flag which, if set, means the tree operating on the source cloud will never be recomputed. More... | |
unsigned int | num_threads_ |
Protected Attributes inherited from pcl::PCLBase< PointSource > | |
PointCloudConstPtr | input_ |
The input point cloud dataset. More... | |
IndicesPtr | indices_ |
A pointer to the vector of point indices to use. More... | |
bool | use_indices_ |
Set to true if point indices are used. More... | |
bool | fake_indices_ |
If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More... | |
CorrespondenceEstimationOrganizedProjection computes correspondences by projecting the source point cloud onto the target point cloud using the camera intrinsic and extrinsic parameters.
The correspondences can be trimmed by a depth threshold and by a distance threshold. It is not as precise as a nearest neighbor search, but it is much faster, as it avoids the usage of any additional structures (i.e., kd-trees).
Definition at line 60 of file correspondence_estimation_organized_projection.h.
using pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr<const CorrespondenceEstimationOrganizedProjection<PointSource, PointTarget, Scalar> > |
Definition at line 85 of file correspondence_estimation_organized_projection.h.
using pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::PointCloudSource = pcl::PointCloud<PointSource> |
Definition at line 75 of file correspondence_estimation_organized_projection.h.
using pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr |
Definition at line 77 of file correspondence_estimation_organized_projection.h.
using pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::PointCloudSourcePtr = typename PointCloudSource::Ptr |
Definition at line 76 of file correspondence_estimation_organized_projection.h.
using pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::PointCloudTarget = pcl::PointCloud<PointTarget> |
Definition at line 79 of file correspondence_estimation_organized_projection.h.
using pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr |
Definition at line 81 of file correspondence_estimation_organized_projection.h.
using pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::PointCloudTargetPtr = typename PointCloudTarget::Ptr |
Definition at line 80 of file correspondence_estimation_organized_projection.h.
using pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::Ptr = shared_ptr< CorrespondenceEstimationOrganizedProjection<PointSource, PointTarget, Scalar> > |
Definition at line 83 of file correspondence_estimation_organized_projection.h.
|
inline |
Empty constructor that sets all the intrinsic calibration to the default Kinect values.
Definition at line 92 of file correspondence_estimation_organized_projection.h.
|
inlinevirtual |
Clone and cast to CorrespondenceEstimationBase.
Implements pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float >.
Definition at line 208 of file correspondence_estimation_organized_projection.h.
|
virtual |
Computes the correspondences, applying a maximum Euclidean distance threshold.
[out] | correspondences | the found correspondences (index of query point, index of target point, distance) |
[in] | max_distance | Euclidean distance threshold above which correspondences will be rejected |
Check if the point was behind the camera
Check if the depth difference is larger than the threshold
Implements pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float >.
Definition at line 77 of file correspondence_estimation_organized_projection.hpp.
References pcl::isFinite().
|
virtual |
Computes the correspondences, applying a maximum Euclidean distance threshold.
[out] | correspondences | the found correspondences (index of query and target point, distance) |
[in] | max_distance | Euclidean distance threshold above which correspondences will be rejected |
Implements pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float >.
Definition at line 122 of file correspondence_estimation_organized_projection.hpp.
|
inline |
Reads back the camera center parameters of the target camera.
[out] | cx | the x-coordinate of the camera center |
[out] | cy | the y-coordinate of the camera center |
Definition at line 136 of file correspondence_estimation_organized_projection.h.
References pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::cx_, and pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::cy_.
|
inline |
Reads back the depth threshold; after projecting the source points in the image space of the target camera, this threshold is applied on the depths of corresponding dexels to eliminate the ones that are too far from each other.
Definition at line 180 of file correspondence_estimation_organized_projection.h.
|
inline |
Reads back the focal length parameters of the target camera.
[out] | fx | the focal length in pixels along the x-axis of the image |
[out] | fy | the focal length in pixels along the y-axis of the image |
Definition at line 114 of file correspondence_estimation_organized_projection.h.
References pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::fx_, and pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::fy_.
|
inline |
Reads back the transformation from the source point cloud to the target point cloud.
Definition at line 158 of file correspondence_estimation_organized_projection.h.
|
protected |
Check if the target cloud is organized
Put the projection matrix together
Definition at line 50 of file correspondence_estimation_organized_projection.hpp.
|
inline |
Sets the camera center parameters of the target camera.
[in] | cx | the x-coordinate of the camera center |
[in] | cy | the y-coordinate of the camera center |
Definition at line 125 of file correspondence_estimation_organized_projection.h.
References pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::cx_, and pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::cy_.
|
inline |
Sets the depth threshold; after projecting the source points in the image space of the target camera, this threshold is applied on the depths of corresponding dexels to eliminate the ones that are too far from each other.
[in] | depth_threshold | the depth threshold |
Definition at line 169 of file correspondence_estimation_organized_projection.h.
|
inline |
Sets the focal length parameters of the target camera.
[in] | fx | the focal length in pixels along the x-axis of the image |
[in] | fy | the focal length in pixels along the y-axis of the image |
Definition at line 103 of file correspondence_estimation_organized_projection.h.
References pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::fx_, and pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::fy_.
|
inline |
Sets the transformation from the source point cloud to the target point cloud.
[in] | src_to_tgt_transformation | the transformation |
Definition at line 148 of file correspondence_estimation_organized_projection.h.
|
protected |
Definition at line 223 of file correspondence_estimation_organized_projection.h.
Referenced by pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::getCameraCenters(), and pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::setCameraCenters().
|
protected |
Definition at line 223 of file correspondence_estimation_organized_projection.h.
Referenced by pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::getCameraCenters(), and pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::setCameraCenters().
|
protected |
Definition at line 225 of file correspondence_estimation_organized_projection.h.
Referenced by pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::getDepthThreshold(), and pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::setDepthThreshold().
|
protected |
Definition at line 222 of file correspondence_estimation_organized_projection.h.
Referenced by pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::getFocalLengths(), and pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::setFocalLengths().
|
protected |
Definition at line 222 of file correspondence_estimation_organized_projection.h.
Referenced by pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::getFocalLengths(), and pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::setFocalLengths().
|
protected |
Definition at line 227 of file correspondence_estimation_organized_projection.h.
|
protected |
Definition at line 224 of file correspondence_estimation_organized_projection.h.
Referenced by pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::getSourceTransformation(), and pcl::registration::CorrespondenceEstimationOrganizedProjection< PointSource, PointTarget, Scalar >::setSourceTransformation().