ProjectInliers uses a model and a set of inlier indices from a PointCloud to project them into a separate PointCloud. More...
#include <project_inliers.h>
Public Member Functions | |
ProjectInliers () | |
Public Member Functions inherited from pcl_ros::Filter | |
Filter () | |
Public Member Functions inherited from pcl_ros::PCLNodelet | |
PCLNodelet () | |
Empty constructor. More... | |
Public Member Functions inherited from nodelet_topic_tools::NodeletLazy | |
NodeletLazy () | |
Public Member Functions inherited from nodelet::Nodelet | |
void | init (const std::string &name, const M_string &remapping_args, const V_string &my_argv, ros::CallbackQueueInterface *st_queue=NULL, ros::CallbackQueueInterface *mt_queue=NULL) |
Nodelet () | |
virtual | ~Nodelet () |
Protected Member Functions | |
void | filter (const PointCloud2::ConstPtr &input, const IndicesPtr &indices, PointCloud2 &output) |
Call the actual filter. More... | |
Protected Member Functions inherited from pcl_ros::Filter | |
virtual bool | child_init (ros::NodeHandle &nh, bool &has_service) |
Child initialization routine. More... | |
void | computePublish (const PointCloud2::ConstPtr &input, const IndicesPtr &indices) |
Call the child filter () method, optionally transform the result, and publish it. More... | |
Protected Member Functions inherited from pcl_ros::PCLNodelet | |
bool | isValid (const PointCloud2::ConstPtr &cloud, const std::string &topic_name="input") |
Test whether a given PointCloud message is "valid" (i.e., has points, and width and height are non-zero). More... | |
bool | isValid (const PointCloudConstPtr &cloud, const std::string &topic_name="input") |
Test whether a given PointCloud message is "valid" (i.e., has points, and width and height are non-zero). More... | |
bool | isValid (const PointIndicesConstPtr &indices, const std::string &topic_name="indices") |
Test whether a given PointIndices message is "valid" (i.e., has values). More... | |
bool | isValid (const ModelCoefficientsConstPtr &model, const std::string &topic_name="model") |
Test whether a given ModelCoefficients message is "valid" (i.e., has values). More... | |
Protected Member Functions inherited from nodelet_topic_tools::NodeletLazy | |
ros::Publisher | advertise (ros::NodeHandle &nh, std::string topic, int queue_size, bool latch=false) |
virtual void | connectionCallback (const ros::SingleSubscriberPublisher &pub) |
virtual void | onInitPostProcess () |
virtual void | warnNeverSubscribedCallback (const ros::WallTimerEvent &event) |
Protected Member Functions inherited from nodelet::Nodelet | |
ros::CallbackQueueInterface & | getMTCallbackQueue () const |
ros::NodeHandle & | getMTNodeHandle () const |
ros::NodeHandle & | getMTPrivateNodeHandle () const |
const V_string & | getMyArgv () const |
const std::string & | getName () const |
ros::NodeHandle & | getNodeHandle () const |
ros::NodeHandle & | getPrivateNodeHandle () const |
const M_string & | getRemappingArgs () const |
ros::CallbackQueueInterface & | getSTCallbackQueue () const |
std::string | getSuffixedName (const std::string &suffix) const |
Private Member Functions | |
void | input_indices_model_callback (const PointCloud2::ConstPtr &cloud, const PointIndicesConstPtr &indices, const ModelCoefficientsConstPtr &model) |
PointCloud2 + Indices + Model data callback. More... | |
virtual void | onInit () |
Nodelet initialization routine. More... | |
void | subscribe () |
NodeletLazy connection routine. More... | |
void | unsubscribe () |
Lazy transport unsubscribe routine. More... | |
Private Attributes | |
pcl::ProjectInliers< pcl::PCLPointCloud2 > | impl_ |
The PCL filter implementation used. More... | |
ModelCoefficientsConstPtr | model_ |
A pointer to the vector of model coefficients. More... | |
message_filters::Subscriber< ModelCoefficients > | sub_model_ |
The message filter subscriber for model coefficients. More... | |
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ApproximateTime< PointCloud2, PointIndices, ModelCoefficients > > > | sync_input_indices_model_a_ |
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ExactTime< PointCloud2, PointIndices, ModelCoefficients > > > | sync_input_indices_model_e_ |
Synchronized input, indices, and model coefficients. More... | |
Additional Inherited Members | |
Public Types inherited from pcl_ros::Filter | |
typedef boost::shared_ptr< const std::vector< int > > | IndicesConstPtr |
typedef boost::shared_ptr< std::vector< int > > | IndicesPtr |
typedef sensor_msgs::PointCloud2 | PointCloud2 |
Public Types inherited from pcl_ros::PCLNodelet | |
typedef boost::shared_ptr< const std::vector< int > > | IndicesConstPtr |
typedef boost::shared_ptr< std::vector< int > > | IndicesPtr |
typedef pcl_msgs::ModelCoefficients | ModelCoefficients |
typedef ModelCoefficients::ConstPtr | ModelCoefficientsConstPtr |
typedef ModelCoefficients::Ptr | ModelCoefficientsPtr |
typedef pcl::PointCloud< pcl::PointXYZ > | PointCloud |
typedef sensor_msgs::PointCloud2 | PointCloud2 |
typedef PointCloud::ConstPtr | PointCloudConstPtr |
typedef PointCloud::Ptr | PointCloudPtr |
typedef pcl_msgs::PointIndices | PointIndices |
typedef PointIndices::ConstPtr | PointIndicesConstPtr |
typedef PointIndices::Ptr | PointIndicesPtr |
Protected Attributes inherited from pcl_ros::Filter | |
std::string | filter_field_name_ |
The desired user filter field name. More... | |
double | filter_limit_max_ |
The maximum allowed filter value a point will be considered from. More... | |
double | filter_limit_min_ |
The minimum allowed filter value a point will be considered from. More... | |
bool | filter_limit_negative_ |
Set to true if we want to return the data outside (filter_limit_min_;filter_limit_max_). Default: false. More... | |
boost::mutex | mutex_ |
Internal mutex. More... | |
ros::Subscriber | sub_input_ |
The input PointCloud subscriber. More... | |
message_filters::Subscriber< PointCloud2 > | sub_input_filter_ |
std::string | tf_input_frame_ |
The input TF frame the data should be transformed into, if input.header.frame_id is different. More... | |
std::string | tf_input_orig_frame_ |
The original data input TF frame. More... | |
std::string | tf_output_frame_ |
The output TF frame the data should be transformed into, if input.header.frame_id is different. More... | |
Protected Attributes inherited from pcl_ros::PCLNodelet | |
bool | approximate_sync_ |
True if we use an approximate time synchronizer versus an exact one (false by default). More... | |
bool | latched_indices_ |
Set to true if the indices topic is latched. More... | |
int | max_queue_size_ |
The maximum queue size (default: 3). More... | |
ros::Publisher | pub_output_ |
The output PointCloud publisher. More... | |
message_filters::Subscriber< PointIndices > | sub_indices_filter_ |
The message filter subscriber for PointIndices. More... | |
message_filters::Subscriber< PointCloud > | sub_input_filter_ |
The message filter subscriber for PointCloud2. More... | |
tf::TransformListener | tf_listener_ |
TF listener object. More... | |
bool | use_indices_ |
Set to true if point indices are used. More... | |
Protected Attributes inherited from nodelet_topic_tools::NodeletLazy | |
boost::mutex | connection_mutex_ |
ConnectionStatus | connection_status_ |
bool | ever_subscribed_ |
bool | lazy_ |
boost::shared_ptr< ros::NodeHandle > | nh_ |
boost::shared_ptr< ros::NodeHandle > | pnh_ |
std::vector< ros::Publisher > | publishers_ |
ros::WallTimer | timer_ever_subscribed_ |
bool | verbose_connection_ |
ProjectInliers uses a model and a set of inlier indices from a PointCloud to project them into a separate PointCloud.
Definition at line 56 of file project_inliers.h.
|
inline |
Definition at line 59 of file project_inliers.h.
|
inlineprotectedvirtual |
Call the actual filter.
input | the input point cloud dataset |
indices | the input set of indices to use from input |
output | the resultant filtered dataset |
Implements pcl_ros::Filter.
Definition at line 68 of file project_inliers.h.
|
private |
PointCloud2 + Indices + Model data callback.
Definition at line 128 of file project_inliers.cpp.
|
privatevirtual |
Nodelet initialization routine.
Reimplemented from pcl_ros::Filter.
Definition at line 44 of file project_inliers.cpp.
|
privatevirtual |
NodeletLazy connection routine.
Reimplemented from pcl_ros::Filter.
Definition at line 88 of file project_inliers.cpp.
|
privatevirtual |
Lazy transport unsubscribe routine.
Reimplemented from pcl_ros::Filter.
Definition at line 115 of file project_inliers.cpp.
|
private |
The PCL filter implementation used.
Definition at line 94 of file project_inliers.h.
|
private |
A pointer to the vector of model coefficients.
Definition at line 85 of file project_inliers.h.
|
private |
The message filter subscriber for model coefficients.
Definition at line 88 of file project_inliers.h.
|
private |
Definition at line 92 of file project_inliers.h.
|
private |
Synchronized input, indices, and model coefficients.
Definition at line 91 of file project_inliers.h.