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

#include <region_growing_multiple_plane_segmentation.h>

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

Public Types

typedef RegionGrowingMultiplePlaneSegmentationConfig Config
 
typedef message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, sensor_msgs::PointCloud2 > NormalSyncPolicy
 
typedef pcl::PointXYZRGB PointT
 

Public Member Functions

 RegionGrowingMultiplePlaneSegmentation ()
 
virtual ~RegionGrowingMultiplePlaneSegmentation ()
 

Protected Member Functions

virtual void configCallback (Config &config, uint32_t level)
 
virtual void onInit ()
 
virtual void ransacEstimation (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud, const pcl::PointIndices::Ptr &indices, pcl::PointIndices &inliers, pcl::ModelCoefficients &coefficient)
 
virtual void segment (const sensor_msgs::PointCloud2::ConstPtr &msg, const sensor_msgs::PointCloud2::ConstPtr &normal_msg)
 
virtual void subscribe ()
 
virtual void unsubscribe ()
 

Static Protected Member Functions

static bool regionGrowingFunction (const pcl::PointXYZRGBNormal &a, const pcl::PointXYZRGBNormal &b, float distance)
 
static void setCondifionFunctionParameter (const double angular_threshold, const double distance_threshold)
 

Protected Attributes

double angular_threshold_
 
double cluster_tolerance_
 
double distance_threshold_
 
bool done_initialization_
 
double max_area_
 
double max_curvature_
 
int max_size_
 
double min_area_
 
int min_size_
 
boost::mutex mutex_
 
ros::Publisher pub_average_time_
 
ros::Publisher pub_clustering_result_
 
ros::Publisher pub_coefficients_
 
ros::Publisher pub_inliers_
 
ros::Publisher pub_latest_time_
 
ros::Publisher pub_polygons_
 
int ransac_refine_max_iterations_
 
double ransac_refine_outlier_distance_threshold_
 
boost::shared_ptr< dynamic_reconfigure::Server< Config > > srv_
 
message_filters::Subscriber< sensor_msgs::PointCloud2 > sub_input_
 
message_filters::Subscriber< sensor_msgs::PointCloud2 > sub_normal_
 
boost::shared_ptr< message_filters::Synchronizer< NormalSyncPolicy > > sync_
 
jsk_recognition_utils::WallDurationTimer timer_
 

Static Protected Attributes

static double global_angular_threshold = 0.0
 
static boost::mutex global_custom_condigion_function_mutex
 
static double global_distance_threshold = 0.0
 

Detailed Description

Definition at line 88 of file region_growing_multiple_plane_segmentation.h.

Member Typedef Documentation

◆ Config

typedef RegionGrowingMultiplePlaneSegmentationConfig jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::Config

◆ NormalSyncPolicy

◆ PointT

Constructor & Destructor Documentation

◆ RegionGrowingMultiplePlaneSegmentation()

jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::RegionGrowingMultiplePlaneSegmentation ( )
inline

◆ ~RegionGrowingMultiplePlaneSegmentation()

jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::~RegionGrowingMultiplePlaneSegmentation ( )
virtual

Member Function Documentation

◆ configCallback()

void jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::configCallback ( Config config,
uint32_t  level 
)
protectedvirtual

◆ onInit()

void jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::onInit ( )
protectedvirtual

◆ ransacEstimation()

void jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::ransacEstimation ( const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &  cloud,
const pcl::PointIndices::Ptr &  indices,
pcl::PointIndices &  inliers,
pcl::ModelCoefficients &  coefficient 
)
protectedvirtual

◆ regionGrowingFunction()

static bool jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::regionGrowingFunction ( const pcl::PointXYZRGBNormal &  a,
const pcl::PointXYZRGBNormal &  b,
float  distance 
)
inlinestaticprotected

◆ segment()

void jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::segment ( const sensor_msgs::PointCloud2::ConstPtr &  msg,
const sensor_msgs::PointCloud2::ConstPtr &  normal_msg 
)
protectedvirtual

◆ setCondifionFunctionParameter()

static void jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::setCondifionFunctionParameter ( const double  angular_threshold,
const double  distance_threshold 
)
inlinestaticprotected

◆ subscribe()

void jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::subscribe ( )
protectedvirtual

◆ unsubscribe()

void jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::unsubscribe ( )
protectedvirtual

Member Data Documentation

◆ angular_threshold_

double jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::angular_threshold_
protected

◆ cluster_tolerance_

double jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::cluster_tolerance_
protected

◆ distance_threshold_

double jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::distance_threshold_
protected

◆ done_initialization_

bool jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::done_initialization_
protected

◆ global_angular_threshold

double jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::global_angular_threshold = 0.0
staticprotected

◆ global_custom_condigion_function_mutex

boost::mutex jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::global_custom_condigion_function_mutex
staticprotected

◆ global_distance_threshold

double jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::global_distance_threshold = 0.0
staticprotected

◆ max_area_

double jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::max_area_
protected

◆ max_curvature_

double jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::max_curvature_
protected

◆ max_size_

int jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::max_size_
protected

◆ min_area_

double jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::min_area_
protected

◆ min_size_

int jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::min_size_
protected

◆ mutex_

boost::mutex jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::mutex_
protected

◆ pub_average_time_

ros::Publisher jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::pub_average_time_
protected

◆ pub_clustering_result_

ros::Publisher jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::pub_clustering_result_
protected

◆ pub_coefficients_

ros::Publisher jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::pub_coefficients_
protected

◆ pub_inliers_

ros::Publisher jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::pub_inliers_
protected

◆ pub_latest_time_

ros::Publisher jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::pub_latest_time_
protected

◆ pub_polygons_

ros::Publisher jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::pub_polygons_
protected

◆ ransac_refine_max_iterations_

int jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::ransac_refine_max_iterations_
protected

◆ ransac_refine_outlier_distance_threshold_

double jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::ransac_refine_outlier_distance_threshold_
protected

◆ srv_

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

◆ sub_input_

message_filters::Subscriber<sensor_msgs::PointCloud2> jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::sub_input_
protected

◆ sub_normal_

message_filters::Subscriber<sensor_msgs::PointCloud2> jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::sub_normal_
protected

◆ sync_

boost::shared_ptr< message_filters::Synchronizer<NormalSyncPolicy> > jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::sync_
protected

◆ timer_

jsk_recognition_utils::WallDurationTimer jsk_pcl_ros::RegionGrowingMultiplePlaneSegmentation::timer_
protected

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


jsk_pcl_ros
Author(s): Yohei Kakiuchi
autogenerated on Tue Jan 7 2025 04:05:46