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

#include <organized_multi_plane_segmentation.h>

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

Public Types

typedef jsk_pcl_ros::OrganizedMultiPlaneSegmentationConfig Config
 
typedef std::vector< pcl::PlanarRegion< PointT >, Eigen::aligned_allocator< pcl::PlanarRegion< PointT > > > PlanarRegionVector
 
typedef pcl::PointXYZRGBA PointT
 

Protected Member Functions

virtual void buildConnectedPlanes (const pcl::PointCloud< PointT >::Ptr &input, const std_msgs::Header &header, const std::vector< pcl::PointIndices > &inlier_indices, const std::vector< pcl::PointIndices > &boundary_indices, const std::vector< pcl::ModelCoefficients > &model_coefficients, const jsk_recognition_utils::IntegerGraphMap &connection_map, std::vector< pcl::PointIndices > &output_indices, std::vector< pcl::ModelCoefficients > &output_coefficients, std::vector< pcl::PointCloud< PointT > > &output_boundary_clouds)
 
virtual void configCallback (Config &config, uint32_t level)
 
virtual void connectPlanesMap (const pcl::PointCloud< PointT >::Ptr &input, const std::vector< pcl::ModelCoefficients > &model_coefficients, const std::vector< pcl::PointIndices > &boundary_indices, jsk_recognition_utils::IntegerGraphMap &connection_map)
 
virtual void estimateNormal (pcl::PointCloud< PointT >::Ptr input, pcl::PointCloud< pcl::Normal >::Ptr output)
 
virtual void forceToDirectOrigin (const std::vector< pcl::ModelCoefficients > &coefficients, std::vector< pcl::ModelCoefficients > &output_coefficients)
 
virtual void pclIndicesArrayToClusterPointIndices (const std::vector< pcl::PointIndices > &inlier_indices, const std_msgs::Header &header, jsk_recognition_msgs::ClusterPointIndices &output_indices)
 
virtual void pointCloudToPolygon (const pcl::PointCloud< PointT > &input, geometry_msgs::Polygon &polygon)
 
virtual void publishMarkerOfConnection (jsk_recognition_utils::IntegerGraphMap connection_map, const pcl::PointCloud< PointT >::Ptr cloud, const std::vector< pcl::PointIndices > &inliers, const std_msgs::Header &header)
 
virtual void publishSegmentationInformation (const std_msgs::Header &header, const pcl::PointCloud< PointT >::Ptr input, ros::Publisher &indices_pub, ros::Publisher &polygon_pub, ros::Publisher &coefficients_pub, const std::vector< pcl::PointIndices > &inlier_indices, const std::vector< pcl::PointCloud< PointT > > &boundaries, const std::vector< pcl::ModelCoefficients > &model_coefficients)
 
virtual void publishSegmentationInformation (const std_msgs::Header &header, const pcl::PointCloud< PointT >::Ptr input, ros::Publisher &indices_pub, ros::Publisher &polygon_pub, ros::Publisher &coefficients_pub, const std::vector< pcl::PointIndices > &inlier_indices, const std::vector< pcl::PointIndices > &boundary_indices, const std::vector< pcl::ModelCoefficients > &model_coefficients)
 
virtual void refineBasedOnRANSAC (const pcl::PointCloud< PointT >::Ptr input, const std::vector< pcl::PointIndices > &input_indices, const std::vector< pcl::ModelCoefficients > &input_coefficients, std::vector< pcl::PointIndices > &output_indices, std::vector< pcl::ModelCoefficients > &output_coefficients, std::vector< jsk_recognition_utils::ConvexPolygon::Ptr > &output_boundaries)
 
virtual void segment (const sensor_msgs::PointCloud2::ConstPtr &msg)
 
virtual void segmentFromNormals (pcl::PointCloud< PointT >::Ptr input, pcl::PointCloud< pcl::Normal >::Ptr normal, const std_msgs::Header &header)
 
virtual void segmentOrganizedMultiPlanes (pcl::PointCloud< PointT >::Ptr input, pcl::PointCloud< pcl::Normal >::Ptr normal, PlanarRegionVector &regions, std::vector< pcl::ModelCoefficients > &model_coefficients, std::vector< pcl::PointIndices > &inlier_indices, pcl::PointCloud< pcl::Label >::Ptr &labels, std::vector< pcl::PointIndices > &label_indices, std::vector< pcl::PointIndices > &boundary_indices)
 
virtual void subscribe ()
 
virtual void unsubscribe ()
 
virtual void updateDiagnosticNormalEstimation (diagnostic_updater::DiagnosticStatusWrapper &stat)
 
virtual void updateDiagnosticPlaneSegmentation (diagnostic_updater::DiagnosticStatusWrapper &stat)
 
virtual void updateDiagnostics (const ros::TimerEvent &event)
 
- 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

double angular_threshold_
 
bool border_policy_ignore_
 
ros::Publisher coefficients_pub_
 
double concave_alpha_
 
double connect_distance_threshold_
 
double connect_plane_angle_threshold_
 
jsk_recognition_utils::Counter connected_plane_num_counter_
 
bool depth_dependent_smoothing_
 
boost::shared_ptr< diagnostic_updater::Updaterdiagnostic_updater_
 
ros::Timer diagnostics_timer_
 
double distance_threshold_
 
bool estimate_normal_
 
int estimation_method_
 
double max_curvature_
 
double max_depth_change_factor_
 
double max_refined_area_threshold_
 
double min_refined_area_threshold_
 
int min_size_
 
boost::mutex mutex_
 
jsk_topic_tools::TimeAccumulator normal_estimation_time_acc_
 
jsk_topic_tools::VitalChecker::Ptr normal_estimation_vital_checker_
 
ros::Publisher normal_pub_
 
double normal_smoothing_size_
 
ros::Publisher org_coefficients_pub_
 
ros::Publisher org_polygon_pub_
 
ros::Publisher org_pub_
 
jsk_recognition_utils::Counter original_plane_num_counter_
 
jsk_topic_tools::TimeAccumulator plane_segmentation_time_acc_
 
jsk_topic_tools::VitalChecker::Ptr plane_segmentation_vital_checker_
 
ros::Publisher polygon_pub_
 
ros::Publisher pub_
 
ros::Publisher pub_connection_marker_
 
bool publish_normal_
 
bool ransac_refine_coefficients_
 
double ransac_refine_outlier_distance_threshold_
 
jsk_topic_tools::TimeAccumulator ransac_refinement_time_acc_
 
ros::Publisher refined_coefficients_pub_
 
ros::Publisher refined_polygon_pub_
 
ros::Publisher refined_pub_
 
boost::shared_ptr< dynamic_reconfigure::Server< Config > > srv_
 
ros::Subscriber sub_
 
- 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_
 

Private Member Functions

virtual void onInit ()
 

Additional Inherited Members

- 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 ()
 

Detailed Description

Definition at line 62 of file organized_multi_plane_segmentation.h.

Member Typedef Documentation

typedef jsk_pcl_ros::OrganizedMultiPlaneSegmentationConfig jsk_pcl_ros::OrganizedMultiPlaneSegmentation::Config

Definition at line 70 of file organized_multi_plane_segmentation.h.

typedef std::vector<pcl::PlanarRegion<PointT>, Eigen::aligned_allocator<pcl::PlanarRegion<PointT> > > jsk_pcl_ros::OrganizedMultiPlaneSegmentation::PlanarRegionVector

Definition at line 69 of file organized_multi_plane_segmentation.h.

Definition at line 66 of file organized_multi_plane_segmentation.h.

Member Function Documentation

void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::buildConnectedPlanes ( const pcl::PointCloud< PointT >::Ptr &  input,
const std_msgs::Header header,
const std::vector< pcl::PointIndices > &  inlier_indices,
const std::vector< pcl::PointIndices > &  boundary_indices,
const std::vector< pcl::ModelCoefficients > &  model_coefficients,
const jsk_recognition_utils::IntegerGraphMap connection_map,
std::vector< pcl::PointIndices > &  output_indices,
std::vector< pcl::ModelCoefficients > &  output_coefficients,
std::vector< pcl::PointCloud< PointT > > &  output_boundary_clouds 
)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::configCallback ( Config config,
uint32_t  level 
)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::connectPlanesMap ( const pcl::PointCloud< PointT >::Ptr &  input,
const std::vector< pcl::ModelCoefficients > &  model_coefficients,
const std::vector< pcl::PointIndices > &  boundary_indices,
jsk_recognition_utils::IntegerGraphMap connection_map 
)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::estimateNormal ( pcl::PointCloud< PointT >::Ptr  input,
pcl::PointCloud< pcl::Normal >::Ptr  output 
)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::forceToDirectOrigin ( const std::vector< pcl::ModelCoefficients > &  coefficients,
std::vector< pcl::ModelCoefficients > &  output_coefficients 
)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::onInit ( void  )
privatevirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::pclIndicesArrayToClusterPointIndices ( const std::vector< pcl::PointIndices > &  inlier_indices,
const std_msgs::Header header,
jsk_recognition_msgs::ClusterPointIndices &  output_indices 
)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::pointCloudToPolygon ( const pcl::PointCloud< PointT > &  input,
geometry_msgs::Polygon &  polygon 
)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::publishMarkerOfConnection ( jsk_recognition_utils::IntegerGraphMap  connection_map,
const pcl::PointCloud< PointT >::Ptr  cloud,
const std::vector< pcl::PointIndices > &  inliers,
const std_msgs::Header header 
)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::publishSegmentationInformation ( const std_msgs::Header header,
const pcl::PointCloud< PointT >::Ptr  input,
ros::Publisher indices_pub,
ros::Publisher polygon_pub,
ros::Publisher coefficients_pub,
const std::vector< pcl::PointIndices > &  inlier_indices,
const std::vector< pcl::PointCloud< PointT > > &  boundaries,
const std::vector< pcl::ModelCoefficients > &  model_coefficients 
)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::publishSegmentationInformation ( const std_msgs::Header header,
const pcl::PointCloud< PointT >::Ptr  input,
ros::Publisher indices_pub,
ros::Publisher polygon_pub,
ros::Publisher coefficients_pub,
const std::vector< pcl::PointIndices > &  inlier_indices,
const std::vector< pcl::PointIndices > &  boundary_indices,
const std::vector< pcl::ModelCoefficients > &  model_coefficients 
)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::refineBasedOnRANSAC ( const pcl::PointCloud< PointT >::Ptr  input,
const std::vector< pcl::PointIndices > &  input_indices,
const std::vector< pcl::ModelCoefficients > &  input_coefficients,
std::vector< pcl::PointIndices > &  output_indices,
std::vector< pcl::ModelCoefficients > &  output_coefficients,
std::vector< jsk_recognition_utils::ConvexPolygon::Ptr > &  output_boundaries 
)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::segment ( const sensor_msgs::PointCloud2::ConstPtr &  msg)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::segmentFromNormals ( pcl::PointCloud< PointT >::Ptr  input,
pcl::PointCloud< pcl::Normal >::Ptr  normal,
const std_msgs::Header header 
)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::segmentOrganizedMultiPlanes ( pcl::PointCloud< PointT >::Ptr  input,
pcl::PointCloud< pcl::Normal >::Ptr  normal,
PlanarRegionVector regions,
std::vector< pcl::ModelCoefficients > &  model_coefficients,
std::vector< pcl::PointIndices > &  inlier_indices,
pcl::PointCloud< pcl::Label >::Ptr &  labels,
std::vector< pcl::PointIndices > &  label_indices,
std::vector< pcl::PointIndices > &  boundary_indices 
)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::subscribe ( )
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::unsubscribe ( )
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::updateDiagnosticNormalEstimation ( diagnostic_updater::DiagnosticStatusWrapper stat)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::updateDiagnosticPlaneSegmentation ( diagnostic_updater::DiagnosticStatusWrapper stat)
protectedvirtual
void jsk_pcl_ros::OrganizedMultiPlaneSegmentation::updateDiagnostics ( const ros::TimerEvent event)
protectedvirtual

Member Data Documentation

double jsk_pcl_ros::OrganizedMultiPlaneSegmentation::angular_threshold_
protected

Definition at line 175 of file organized_multi_plane_segmentation.h.

bool jsk_pcl_ros::OrganizedMultiPlaneSegmentation::border_policy_ignore_
protected

Definition at line 186 of file organized_multi_plane_segmentation.h.

ros::Publisher jsk_pcl_ros::OrganizedMultiPlaneSegmentation::coefficients_pub_
protected

Definition at line 158 of file organized_multi_plane_segmentation.h.

double jsk_pcl_ros::OrganizedMultiPlaneSegmentation::concave_alpha_
protected

Definition at line 174 of file organized_multi_plane_segmentation.h.

double jsk_pcl_ros::OrganizedMultiPlaneSegmentation::connect_distance_threshold_
protected

Definition at line 179 of file organized_multi_plane_segmentation.h.

double jsk_pcl_ros::OrganizedMultiPlaneSegmentation::connect_plane_angle_threshold_
protected

Definition at line 178 of file organized_multi_plane_segmentation.h.

jsk_recognition_utils::Counter jsk_pcl_ros::OrganizedMultiPlaneSegmentation::connected_plane_num_counter_
protected

Definition at line 197 of file organized_multi_plane_segmentation.h.

bool jsk_pcl_ros::OrganizedMultiPlaneSegmentation::depth_dependent_smoothing_
protected

Definition at line 183 of file organized_multi_plane_segmentation.h.

boost::shared_ptr<diagnostic_updater::Updater> jsk_pcl_ros::OrganizedMultiPlaneSegmentation::diagnostic_updater_
protected

Definition at line 165 of file organized_multi_plane_segmentation.h.

ros::Timer jsk_pcl_ros::OrganizedMultiPlaneSegmentation::diagnostics_timer_
protected

Definition at line 171 of file organized_multi_plane_segmentation.h.

double jsk_pcl_ros::OrganizedMultiPlaneSegmentation::distance_threshold_
protected

Definition at line 176 of file organized_multi_plane_segmentation.h.

bool jsk_pcl_ros::OrganizedMultiPlaneSegmentation::estimate_normal_
protected

Definition at line 187 of file organized_multi_plane_segmentation.h.

int jsk_pcl_ros::OrganizedMultiPlaneSegmentation::estimation_method_
protected

Definition at line 182 of file organized_multi_plane_segmentation.h.

double jsk_pcl_ros::OrganizedMultiPlaneSegmentation::max_curvature_
protected

Definition at line 177 of file organized_multi_plane_segmentation.h.

double jsk_pcl_ros::OrganizedMultiPlaneSegmentation::max_depth_change_factor_
protected

Definition at line 184 of file organized_multi_plane_segmentation.h.

double jsk_pcl_ros::OrganizedMultiPlaneSegmentation::max_refined_area_threshold_
protected

Definition at line 181 of file organized_multi_plane_segmentation.h.

double jsk_pcl_ros::OrganizedMultiPlaneSegmentation::min_refined_area_threshold_
protected

Definition at line 180 of file organized_multi_plane_segmentation.h.

int jsk_pcl_ros::OrganizedMultiPlaneSegmentation::min_size_
protected

Definition at line 173 of file organized_multi_plane_segmentation.h.

boost::mutex jsk_pcl_ros::OrganizedMultiPlaneSegmentation::mutex_
protected

Definition at line 164 of file organized_multi_plane_segmentation.h.

jsk_topic_tools::TimeAccumulator jsk_pcl_ros::OrganizedMultiPlaneSegmentation::normal_estimation_time_acc_
protected

Definition at line 167 of file organized_multi_plane_segmentation.h.

jsk_topic_tools::VitalChecker::Ptr jsk_pcl_ros::OrganizedMultiPlaneSegmentation::normal_estimation_vital_checker_
protected

Definition at line 169 of file organized_multi_plane_segmentation.h.

ros::Publisher jsk_pcl_ros::OrganizedMultiPlaneSegmentation::normal_pub_
protected

Definition at line 160 of file organized_multi_plane_segmentation.h.

double jsk_pcl_ros::OrganizedMultiPlaneSegmentation::normal_smoothing_size_
protected

Definition at line 185 of file organized_multi_plane_segmentation.h.

ros::Publisher jsk_pcl_ros::OrganizedMultiPlaneSegmentation::org_coefficients_pub_
protected

Definition at line 157 of file organized_multi_plane_segmentation.h.

ros::Publisher jsk_pcl_ros::OrganizedMultiPlaneSegmentation::org_polygon_pub_
protected

Definition at line 157 of file organized_multi_plane_segmentation.h.

ros::Publisher jsk_pcl_ros::OrganizedMultiPlaneSegmentation::org_pub_
protected

Definition at line 157 of file organized_multi_plane_segmentation.h.

jsk_recognition_utils::Counter jsk_pcl_ros::OrganizedMultiPlaneSegmentation::original_plane_num_counter_
protected

Definition at line 196 of file organized_multi_plane_segmentation.h.

jsk_topic_tools::TimeAccumulator jsk_pcl_ros::OrganizedMultiPlaneSegmentation::plane_segmentation_time_acc_
protected

Definition at line 166 of file organized_multi_plane_segmentation.h.

jsk_topic_tools::VitalChecker::Ptr jsk_pcl_ros::OrganizedMultiPlaneSegmentation::plane_segmentation_vital_checker_
protected

Definition at line 170 of file organized_multi_plane_segmentation.h.

ros::Publisher jsk_pcl_ros::OrganizedMultiPlaneSegmentation::polygon_pub_
protected

Definition at line 158 of file organized_multi_plane_segmentation.h.

ros::Publisher jsk_pcl_ros::OrganizedMultiPlaneSegmentation::pub_
protected

Definition at line 158 of file organized_multi_plane_segmentation.h.

ros::Publisher jsk_pcl_ros::OrganizedMultiPlaneSegmentation::pub_connection_marker_
protected

Definition at line 161 of file organized_multi_plane_segmentation.h.

bool jsk_pcl_ros::OrganizedMultiPlaneSegmentation::publish_normal_
protected

Definition at line 188 of file organized_multi_plane_segmentation.h.

bool jsk_pcl_ros::OrganizedMultiPlaneSegmentation::ransac_refine_coefficients_
protected

Definition at line 193 of file organized_multi_plane_segmentation.h.

double jsk_pcl_ros::OrganizedMultiPlaneSegmentation::ransac_refine_outlier_distance_threshold_
protected

Definition at line 194 of file organized_multi_plane_segmentation.h.

jsk_topic_tools::TimeAccumulator jsk_pcl_ros::OrganizedMultiPlaneSegmentation::ransac_refinement_time_acc_
protected

Definition at line 168 of file organized_multi_plane_segmentation.h.

ros::Publisher jsk_pcl_ros::OrganizedMultiPlaneSegmentation::refined_coefficients_pub_
protected

Definition at line 159 of file organized_multi_plane_segmentation.h.

ros::Publisher jsk_pcl_ros::OrganizedMultiPlaneSegmentation::refined_polygon_pub_
protected

Definition at line 159 of file organized_multi_plane_segmentation.h.

ros::Publisher jsk_pcl_ros::OrganizedMultiPlaneSegmentation::refined_pub_
protected

Definition at line 159 of file organized_multi_plane_segmentation.h.

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

Definition at line 163 of file organized_multi_plane_segmentation.h.

ros::Subscriber jsk_pcl_ros::OrganizedMultiPlaneSegmentation::sub_
protected

Definition at line 162 of file organized_multi_plane_segmentation.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:48