Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
jsk_pcl_ros::EuclideanClustering Class Reference

#include <euclidean_cluster_extraction_nodelet.h>

Inheritance diagram for jsk_pcl_ros::EuclideanClustering:
Inheritance graph
[legend]

Public Types

typedef message_filters::sync_policies::ApproximateTime< jsk_recognition_msgs::ClusterPointIndices, sensor_msgs::PointCloud2 > ApproximateSyncPolicy
 
typedef jsk_pcl_ros::EuclideanClusteringConfig Config
 
typedef message_filters::sync_policies::ExactTime< jsk_recognition_msgs::ClusterPointIndices, sensor_msgs::PointCloud2 > SyncPolicy
 
typedef std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > Vector4fVector
 
- Public Types inherited from jsk_topic_tools::DiagnosticNodelet
typedef boost::shared_ptr< DiagnosticNodeletPtr
 

Public Member Functions

 EuclideanClustering ()
 
- Public Member Functions inherited from jsk_topic_tools::DiagnosticNodelet
 DiagnosticNodelet (const std::string &name)
 
- Public Member Functions inherited from jsk_topic_tools::ConnectionBasedNodelet
 ConnectionBasedNodelet ()
 
- 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

virtual std::vector< int > buildLabelTrackingPivotTable (double *D, Vector4fVector cogs, Vector4fVector new_cogs, double label_tracking_tolerance)
 
virtual void clusteringClusterIndices (pcl::PointCloud< pcl::PointXYZ >::Ptr &cloud, std::vector< pcl::PointIndices::Ptr > &cluster_indices, std::vector< pcl::PointIndices > &clustered_indices)
 
virtual void computeCentroidsOfClusters (Vector4fVector &ret, pcl::PointCloud< pcl::PointXYZ >::Ptr cloud, std::vector< pcl::PointIndices > cluster_indices)
 
virtual void computeDistanceMatrix (double *D, Vector4fVector &old_cogs, Vector4fVector &new_cogs)
 
void configCallback (Config &config, uint32_t level)
 
void downsample_cloud (const pcl::PointCloud< pcl::PointXYZ >::Ptr &original_cloud, pcl::PointCloud< pcl::PointXYZ >::Ptr &sampled_cloud, std::vector< std::vector< int > > &sampled_to_original_indices, std::vector< int > &original_to_sampled_indices, double leaf_size)
 
virtual void extract (const sensor_msgs::PointCloud2ConstPtr &input)
 
virtual void multi_extract (const jsk_recognition_msgs::ClusterPointIndices::ConstPtr &cluster_indices, const sensor_msgs::PointCloud2::ConstPtr &input)
 
virtual void onInit ()
 
virtual std::vector< pcl::PointIndices > pivotClusterIndices (std::vector< int > &pivot_table, std::vector< pcl::PointIndices > &cluster_indices)
 
virtual void removeDuplicatedIndices (pcl::PointIndices::Ptr indices)
 
bool serviceCallback (jsk_recognition_msgs::EuclideanSegment::Request &req, jsk_recognition_msgs::EuclideanSegment::Response &res)
 
virtual void subscribe ()
 
virtual void unsubscribe ()
 
virtual void updateDiagnostic (diagnostic_updater::DiagnosticStatusWrapper &stat)
 
- Protected Member Functions inherited from jsk_topic_tools::ConnectionBasedNodelet
ros::Publisher advertise (ros::NodeHandle &nh, std::string topic, int queue_size)
 
image_transport::CameraPublisher advertiseCamera (ros::NodeHandle &nh, image_transport::ImageTransport &it, const std::string &topic, int queue_size)
 
image_transport::CameraPublisher advertiseCamera (ros::NodeHandle &nh, const std::string &topic, int queue_size)
 
image_transport::Publisher advertiseImage (ros::NodeHandle &nh, image_transport::ImageTransport &it, const std::string &topic, int queue_size)
 
image_transport::Publisher advertiseImage (ros::NodeHandle &nh, const std::string &topic, int queue_size)
 
virtual void cameraConnectionBaseCallback ()
 
virtual void cameraConnectionCallback (const image_transport::SingleSubscriberPublisher &pub)
 
virtual void cameraInfoConnectionCallback (const ros::SingleSubscriberPublisher &pub)
 
virtual void connectionCallback (const ros::SingleSubscriberPublisher &pub)
 
virtual void imageConnectionCallback (const image_transport::SingleSubscriberPublisher &pub)
 
virtual bool isSubscribed ()
 
virtual void onInitPostProcess ()
 
virtual void warnNeverSubscribedCallback (const ros::WallTimerEvent &event)
 
virtual void warnOnInitPostProcessCalledCallback (const ros::WallTimerEvent &event)
 
- Protected Member Functions inherited from nodelet::Nodelet
ros::CallbackQueueInterfacegetMTCallbackQueue () const
 
ros::NodeHandlegetMTNodeHandle () const
 
ros::NodeHandlegetMTPrivateNodeHandle () const
 
const V_stringgetMyArgv () const
 
const std::stringgetName () const
 
ros::NodeHandlegetNodeHandle () const
 
ros::NodeHandlegetPrivateNodeHandle () const
 
const M_stringgetRemappingArgs () const
 
ros::CallbackQueueInterfacegetSTCallbackQueue () const
 
std::string getSuffixedName (const std::string &suffix) const
 

Protected Attributes

bool approximate_sync_
 
boost::shared_ptr< message_filters::Synchronizer< ApproximateSyncPolicy > > async_
 
jsk_recognition_utils::Counter cluster_counter_
 
int cluster_filter_type_
 
ros::Publisher cluster_num_pub_
 
Vector4fVector cogs_
 
bool downsample_
 
std::vector< std::vector< int > > downsample_to_original_indices_
 
jsk_topic_tools::TimeAccumulator kdtree_acc_
 
double label_tracking_tolerance
 
double leaf_size_
 
int maxsize_
 
int minsize_
 
bool multi_
 
boost::mutex mutex_
 
std::vector< int > original_to_downsample_indices_
 
int queue_size_
 
ros::Publisher result_pub_
 
jsk_topic_tools::TimeAccumulator segmentation_acc_
 
ros::ServiceServer service_
 
boost::shared_ptr< dynamic_reconfigure::Server< Config > > srv_
 
message_filters::Subscriber< jsk_recognition_msgs::ClusterPointIndices > sub_cluster_indices_
 
ros::Subscriber sub_input_
 
message_filters::Subscriber< sensor_msgs::PointCloud2 > sub_point_cloud_
 
boost::shared_ptr< message_filters::Synchronizer< SyncPolicy > > sync_
 
double tolerance
 
- Protected Attributes inherited from jsk_topic_tools::DiagnosticNodelet
TimeredDiagnosticUpdater::Ptr diagnostic_updater_
 
const std::string name_
 
jsk_topic_tools::VitalChecker::Ptr vital_checker_
 
- Protected Attributes inherited from jsk_topic_tools::ConnectionBasedNodelet
bool always_subscribe_
 
std::vector< image_transport::CameraPublishercamera_publishers_
 
boost::mutex connection_mutex_
 
ConnectionStatus connection_status_
 
bool ever_subscribed_
 
std::vector< image_transport::Publisherimage_publishers_
 
boost::shared_ptr< ros::NodeHandlenh_
 
bool on_init_post_process_called_
 
boost::shared_ptr< ros::NodeHandlepnh_
 
std::vector< ros::Publisherpublishers_
 
bool subscribed_
 
ros::WallTimer timer_warn_never_subscribed_
 
ros::WallTimer timer_warn_on_init_post_process_called_
 
bool verbose_connection_
 

Detailed Description

Definition at line 71 of file euclidean_cluster_extraction_nodelet.h.

Member Typedef Documentation

typedef message_filters::sync_policies::ApproximateTime< jsk_recognition_msgs::ClusterPointIndices, sensor_msgs::PointCloud2> jsk_pcl_ros::EuclideanClustering::ApproximateSyncPolicy

Definition at line 80 of file euclidean_cluster_extraction_nodelet.h.

typedef jsk_pcl_ros::EuclideanClusteringConfig jsk_pcl_ros::EuclideanClustering::Config

Definition at line 82 of file euclidean_cluster_extraction_nodelet.h.

typedef message_filters::sync_policies::ExactTime< jsk_recognition_msgs::ClusterPointIndices, sensor_msgs::PointCloud2> jsk_pcl_ros::EuclideanClustering::SyncPolicy

Definition at line 76 of file euclidean_cluster_extraction_nodelet.h.

typedef std::vector<Eigen::Vector4f, Eigen::aligned_allocator<Eigen::Vector4f> > jsk_pcl_ros::EuclideanClustering::Vector4fVector

Definition at line 85 of file euclidean_cluster_extraction_nodelet.h.

Constructor & Destructor Documentation

jsk_pcl_ros::EuclideanClustering::EuclideanClustering ( )
inline

Definition at line 86 of file euclidean_cluster_extraction_nodelet.h.

Member Function Documentation

std::vector< int > jsk_pcl_ros::EuclideanClustering::buildLabelTrackingPivotTable ( double *  D,
Vector4fVector  cogs,
Vector4fVector  new_cogs,
double  label_tracking_tolerance 
)
protectedvirtual

Definition at line 487 of file euclidean_cluster_extraction_nodelet.cpp.

void jsk_pcl_ros::EuclideanClustering::clusteringClusterIndices ( pcl::PointCloud< pcl::PointXYZ >::Ptr cloud,
std::vector< pcl::PointIndices::Ptr > &  cluster_indices,
std::vector< pcl::PointIndices > &  clustered_indices 
)
protectedvirtual

Definition at line 79 of file euclidean_cluster_extraction_nodelet.cpp.

void jsk_pcl_ros::EuclideanClustering::computeCentroidsOfClusters ( Vector4fVector ret,
pcl::PointCloud< pcl::PointXYZ >::Ptr  cloud,
std::vector< pcl::PointIndices >  cluster_indices 
)
protectedvirtual

Definition at line 557 of file euclidean_cluster_extraction_nodelet.cpp.

void jsk_pcl_ros::EuclideanClustering::computeDistanceMatrix ( double *  D,
Vector4fVector old_cogs,
Vector4fVector new_cogs 
)
protectedvirtual

Definition at line 533 of file euclidean_cluster_extraction_nodelet.cpp.

void jsk_pcl_ros::EuclideanClustering::configCallback ( Config config,
uint32_t  level 
)
protected

Definition at line 463 of file euclidean_cluster_extraction_nodelet.cpp.

void jsk_pcl_ros::EuclideanClustering::downsample_cloud ( const pcl::PointCloud< pcl::PointXYZ >::Ptr original_cloud,
pcl::PointCloud< pcl::PointXYZ >::Ptr sampled_cloud,
std::vector< std::vector< int > > &  sampled_to_original_indices,
std::vector< int > &  original_to_sampled_indices,
double  leaf_size 
)
protected

Definition at line 45 of file euclidean_cluster_extraction_nodelet.cpp.

void jsk_pcl_ros::EuclideanClustering::extract ( const sensor_msgs::PointCloud2ConstPtr &  input)
protectedvirtual

Definition at line 216 of file euclidean_cluster_extraction_nodelet.cpp.

void jsk_pcl_ros::EuclideanClustering::multi_extract ( const jsk_recognition_msgs::ClusterPointIndices::ConstPtr &  cluster_indices,
const sensor_msgs::PointCloud2::ConstPtr &  input 
)
protectedvirtual

Definition at line 281 of file euclidean_cluster_extraction_nodelet.cpp.

void jsk_pcl_ros::EuclideanClustering::onInit ( void  )
protectedvirtual

Reimplemented from jsk_topic_tools::DiagnosticNodelet.

Definition at line 378 of file euclidean_cluster_extraction_nodelet.cpp.

std::vector< pcl::PointIndices > jsk_pcl_ros::EuclideanClustering::pivotClusterIndices ( std::vector< int > &  pivot_table,
std::vector< pcl::PointIndices > &  cluster_indices 
)
protectedvirtual

Definition at line 476 of file euclidean_cluster_extraction_nodelet.cpp.

void jsk_pcl_ros::EuclideanClustering::removeDuplicatedIndices ( pcl::PointIndices::Ptr  indices)
protectedvirtual

Definition at line 548 of file euclidean_cluster_extraction_nodelet.cpp.

bool jsk_pcl_ros::EuclideanClustering::serviceCallback ( jsk_recognition_msgs::EuclideanSegment::Request &  req,
jsk_recognition_msgs::EuclideanSegment::Response &  res 
)
protected

Definition at line 324 of file euclidean_cluster_extraction_nodelet.cpp.

void jsk_pcl_ros::EuclideanClustering::subscribe ( )
protectedvirtual
void jsk_pcl_ros::EuclideanClustering::unsubscribe ( )
protectedvirtual
void jsk_pcl_ros::EuclideanClustering::updateDiagnostic ( diagnostic_updater::DiagnosticStatusWrapper stat)
protectedvirtual

Reimplemented from jsk_topic_tools::DiagnosticNodelet.

Definition at line 437 of file euclidean_cluster_extraction_nodelet.cpp.

Member Data Documentation

bool jsk_pcl_ros::EuclideanClustering::approximate_sync_
protected

Definition at line 111 of file euclidean_cluster_extraction_nodelet.h.

boost::shared_ptr<message_filters::Synchronizer<ApproximateSyncPolicy> > jsk_pcl_ros::EuclideanClustering::async_
protected

Definition at line 97 of file euclidean_cluster_extraction_nodelet.h.

jsk_recognition_utils::Counter jsk_pcl_ros::EuclideanClustering::cluster_counter_
protected

Definition at line 120 of file euclidean_cluster_extraction_nodelet.h.

int jsk_pcl_ros::EuclideanClustering::cluster_filter_type_
protected

Definition at line 113 of file euclidean_cluster_extraction_nodelet.h.

ros::Publisher jsk_pcl_ros::EuclideanClustering::cluster_num_pub_
protected

Definition at line 94 of file euclidean_cluster_extraction_nodelet.h.

Vector4fVector jsk_pcl_ros::EuclideanClustering::cogs_
protected

Definition at line 123 of file euclidean_cluster_extraction_nodelet.h.

bool jsk_pcl_ros::EuclideanClustering::downsample_
protected

Definition at line 108 of file euclidean_cluster_extraction_nodelet.h.

std::vector<std::vector<int> > jsk_pcl_ros::EuclideanClustering::downsample_to_original_indices_
protected

Definition at line 115 of file euclidean_cluster_extraction_nodelet.h.

jsk_topic_tools::TimeAccumulator jsk_pcl_ros::EuclideanClustering::kdtree_acc_
protected

Definition at line 119 of file euclidean_cluster_extraction_nodelet.h.

double jsk_pcl_ros::EuclideanClustering::label_tracking_tolerance
protected

Definition at line 105 of file euclidean_cluster_extraction_nodelet.h.

double jsk_pcl_ros::EuclideanClustering::leaf_size_
protected

Definition at line 109 of file euclidean_cluster_extraction_nodelet.h.

int jsk_pcl_ros::EuclideanClustering::maxsize_
protected

Definition at line 107 of file euclidean_cluster_extraction_nodelet.h.

int jsk_pcl_ros::EuclideanClustering::minsize_
protected

Definition at line 106 of file euclidean_cluster_extraction_nodelet.h.

bool jsk_pcl_ros::EuclideanClustering::multi_
protected

Definition at line 110 of file euclidean_cluster_extraction_nodelet.h.

boost::mutex jsk_pcl_ros::EuclideanClustering::mutex_
protected

Definition at line 89 of file euclidean_cluster_extraction_nodelet.h.

std::vector<int> jsk_pcl_ros::EuclideanClustering::original_to_downsample_indices_
protected

Definition at line 116 of file euclidean_cluster_extraction_nodelet.h.

int jsk_pcl_ros::EuclideanClustering::queue_size_
protected

Definition at line 112 of file euclidean_cluster_extraction_nodelet.h.

ros::Publisher jsk_pcl_ros::EuclideanClustering::result_pub_
protected

Definition at line 92 of file euclidean_cluster_extraction_nodelet.h.

jsk_topic_tools::TimeAccumulator jsk_pcl_ros::EuclideanClustering::segmentation_acc_
protected

Definition at line 118 of file euclidean_cluster_extraction_nodelet.h.

ros::ServiceServer jsk_pcl_ros::EuclideanClustering::service_
protected

Definition at line 102 of file euclidean_cluster_extraction_nodelet.h.

boost::shared_ptr<dynamic_reconfigure::Server<Config> > jsk_pcl_ros::EuclideanClustering::srv_
protected

Definition at line 88 of file euclidean_cluster_extraction_nodelet.h.

message_filters::Subscriber<jsk_recognition_msgs::ClusterPointIndices> jsk_pcl_ros::EuclideanClustering::sub_cluster_indices_
protected

Definition at line 99 of file euclidean_cluster_extraction_nodelet.h.

ros::Subscriber jsk_pcl_ros::EuclideanClustering::sub_input_
protected

Definition at line 93 of file euclidean_cluster_extraction_nodelet.h.

message_filters::Subscriber<sensor_msgs::PointCloud2> jsk_pcl_ros::EuclideanClustering::sub_point_cloud_
protected

Definition at line 100 of file euclidean_cluster_extraction_nodelet.h.

boost::shared_ptr<message_filters::Synchronizer<SyncPolicy> > jsk_pcl_ros::EuclideanClustering::sync_
protected

Definition at line 96 of file euclidean_cluster_extraction_nodelet.h.

double jsk_pcl_ros::EuclideanClustering::tolerance
protected

Definition at line 104 of file euclidean_cluster_extraction_nodelet.h.


The documentation for this class was generated from the following files:


jsk_pcl_ros
Author(s): Yohei Kakiuchi
autogenerated on Mon May 3 2021 03:03:47