SACSegmentation represents the Nodelet segmentation class for Sample Consensus methods and models, in the sense that it just creates a Nodelet wrapper for generic-purpose SAC-based segmentation. More...
#include <sac_segmentation.h>
Public Member Functions | |
std::string | getInputTFframe () |
Get the TF frame the input PointCloud should be transformed into before processing. More... | |
std::string | getOutputTFframe () |
Get the TF frame the PointCloud should be transformed into after processing. More... | |
SACSegmentation () | |
Constructor. More... | |
void | setInputTFframe (std::string tf_frame) |
Set the input TF frame the data should be transformed into before processing, if input.header.frame_id is different. More... | |
void | setOutputTFframe (std::string tf_frame) |
Set the output TF frame the data should be transformed into after processing. More... | |
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 | config_callback (SACSegmentationConfig &config, uint32_t level) |
Dynamic reconfigure callback. More... | |
void | indices_callback (const PointIndicesConstPtr &indices) |
Indices callback. Used when latched_indices_ is set. More... | |
void | input_callback (const PointCloudConstPtr &input) |
Input callback. Used when latched_indices_ is set. More... | |
void | input_indices_callback (const PointCloudConstPtr &cloud, const PointIndicesConstPtr &indices) |
Input point cloud callback. Used when use_indices is set. More... | |
virtual void | onInit () |
Nodelet initialization routine. More... | |
virtual void | subscribe () |
LazyNodelet connection routine. More... | |
virtual void | unsubscribe () |
Protected Member Functions inherited from pcl_ros::PCLNodelet | |
bool | isValid (const ModelCoefficientsConstPtr &, const std::string &="model") |
Test whether a given ModelCoefficients message is "valid" (i.e., has values). More... | |
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 &, const std::string &="indices") |
Test whether a given PointIndices 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 |
Protected Attributes | |
PointIndices | indices_ |
Pointer to a set of indices stored internally. (used when latched_indices_ is set). More... | |
int | min_inliers_ |
message_filters::PassThrough< pcl_msgs::PointIndices > | nf_pi_ |
Null passthrough filter, used for pushing empty elements in the synchronizer. More... | |
ros::Publisher | pub_indices_ |
The output PointIndices publisher. More... | |
ros::Publisher | pub_model_ |
The output ModelCoefficients publisher. More... | |
boost::shared_ptr< dynamic_reconfigure::Server< SACSegmentationConfig > > | srv_ |
Pointer to a dynamic reconfigure service. More... | |
ros::Subscriber | sub_input_ |
The input PointCloud subscriber. More... | |
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_ |
Private Types | |
typedef pcl::PointCloud< pcl::PointXYZ > | PointCloud |
typedef boost::shared_ptr< const PointCloud > | PointCloudConstPtr |
typedef boost::shared_ptr< PointCloud > | PointCloudPtr |
Private Attributes | |
pcl::SACSegmentation< pcl::PointXYZ > | impl_ |
The PCL implementation used. More... | |
boost::mutex | mutex_ |
Internal mutex. More... | |
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ApproximateTime< PointCloud, PointIndices > > > | sync_input_indices_a_ |
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ExactTime< PointCloud, PointIndices > > > | sync_input_indices_e_ |
Synchronized input, and indices. More... | |
Additional Inherited Members | |
Public Types inherited from pcl_ros::PCLNodelet | |
typedef pcl::IndicesConstPtr | IndicesConstPtr |
typedef pcl::IndicesPtr | 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 boost::shared_ptr< const PointCloud > | PointCloudConstPtr |
typedef boost::shared_ptr< PointCloud > | PointCloudPtr |
typedef pcl_msgs::PointIndices | PointIndices |
typedef PointIndices::ConstPtr | PointIndicesConstPtr |
typedef PointIndices::Ptr | PointIndicesPtr |
SACSegmentation represents the Nodelet segmentation class for Sample Consensus methods and models, in the sense that it just creates a Nodelet wrapper for generic-purpose SAC-based segmentation.
Definition at line 61 of file sac_segmentation.h.
|
private |
Definition at line 63 of file sac_segmentation.h.
|
private |
Definition at line 65 of file sac_segmentation.h.
|
private |
Definition at line 64 of file sac_segmentation.h.
|
inline |
Constructor.
Definition at line 69 of file sac_segmentation.h.
|
protected |
Dynamic reconfigure callback.
config | the config object |
level | the dynamic reconfigure level |
Definition at line 194 of file sac_segmentation.cpp.
|
inline |
Get the TF frame the input PointCloud should be transformed into before processing.
Definition at line 77 of file sac_segmentation.h.
|
inline |
Get the TF frame the PointCloud should be transformed into after processing.
Definition at line 85 of file sac_segmentation.h.
|
inlineprotected |
Indices callback. Used when latched_indices_ is set.
indices | the pointer to the input point cloud indices |
Definition at line 145 of file sac_segmentation.h.
|
inlineprotected |
Input callback. Used when latched_indices_ is set.
input | the pointer to the input point cloud |
Definition at line 154 of file sac_segmentation.h.
|
protected |
Input point cloud callback. Used when use_indices is set.
cloud | the pointer to the input point cloud |
indices | the pointer to the input point cloud indices |
DEBUG
Definition at line 267 of file sac_segmentation.cpp.
|
protectedvirtual |
Nodelet initialization routine.
Reimplemented from pcl_ros::PCLNodelet.
Reimplemented in pcl_ros::SACSegmentationFromNormals.
Definition at line 47 of file sac_segmentation.cpp.
|
inline |
Set the input TF frame the data should be transformed into before processing, if input.header.frame_id is different.
tf_frame | the TF frame the input PointCloud should be transformed into before processing |
Definition at line 74 of file sac_segmentation.h.
|
inline |
Set the output TF frame the data should be transformed into after processing.
tf_frame | the TF frame the PointCloud should be transformed into after processing |
Definition at line 82 of file sac_segmentation.h.
|
protectedvirtual |
LazyNodelet connection routine.
Reimplemented from pcl_ros::PCLNodelet.
Reimplemented in pcl_ros::SACSegmentationFromNormals.
Definition at line 131 of file sac_segmentation.cpp.
|
protectedvirtual |
Reimplemented from pcl_ros::PCLNodelet.
Reimplemented in pcl_ros::SACSegmentationFromNormals.
Definition at line 181 of file sac_segmentation.cpp.
|
private |
The PCL implementation used.
Definition at line 167 of file sac_segmentation.h.
|
protected |
Pointer to a set of indices stored internally. (used when latched_indices_ is set).
Definition at line 139 of file sac_segmentation.h.
|
protected |
Definition at line 89 of file sac_segmentation.h.
|
private |
Internal mutex.
Definition at line 164 of file sac_segmentation.h.
|
protected |
Null passthrough filter, used for pushing empty elements in the synchronizer.
Definition at line 115 of file sac_segmentation.h.
|
protected |
The output PointIndices publisher.
Definition at line 93 of file sac_segmentation.h.
|
protected |
The output ModelCoefficients publisher.
Definition at line 96 of file sac_segmentation.h.
|
protected |
Pointer to a dynamic reconfigure service.
Definition at line 102 of file sac_segmentation.h.
|
protected |
The input PointCloud subscriber.
Definition at line 99 of file sac_segmentation.h.
|
private |
Definition at line 171 of file sac_segmentation.h.
|
private |
Synchronized input, and indices.
Definition at line 170 of file sac_segmentation.h.
|
protected |
The input TF frame the data should be transformed into, if input.header.frame_id is different.
Definition at line 105 of file sac_segmentation.h.
|
protected |
The original data input TF frame.
Definition at line 108 of file sac_segmentation.h.
|
protected |
The output TF frame the data should be transformed into, if input.header.frame_id is different.
Definition at line 111 of file sac_segmentation.h.