#include <cluster_point_indices_decomposer.h>

| Public Types | |
| typedef message_filters::sync_policies::ApproximateTime < sensor_msgs::PointCloud2, jsk_recognition_msgs::ClusterPointIndices > | ApproximateSyncPolicy | 
| typedef jsk_pcl_ros::ClusterPointIndicesDecomposerConfig | Config | 
| typedef message_filters::sync_policies::ExactTime < sensor_msgs::PointCloud2, jsk_recognition_msgs::ClusterPointIndices, jsk_recognition_msgs::PolygonArray, jsk_recognition_msgs::ModelCoefficientsArray > | SyncAlignPolicy | 
| typedef message_filters::sync_policies::ExactTime < sensor_msgs::PointCloud2, jsk_recognition_msgs::ClusterPointIndices > | SyncPolicy | 
| Public Member Functions | |
| ClusterPointIndicesDecomposer () | |
| virtual void | extract (const sensor_msgs::PointCloud2ConstPtr &point, const jsk_recognition_msgs::ClusterPointIndicesConstPtr &indices, const jsk_recognition_msgs::PolygonArrayConstPtr &planes, const jsk_recognition_msgs::ModelCoefficientsArrayConstPtr &coefficients) | 
| virtual void | extract (const sensor_msgs::PointCloud2ConstPtr &point, const jsk_recognition_msgs::ClusterPointIndicesConstPtr &indices) | 
| virtual void | onInit () | 
| virtual void | sortIndicesOrder (const pcl::PointCloud< pcl::PointXYZ >::Ptr input, const std::vector< pcl::IndicesPtr > indices_array, std::vector< size_t > *argsort) | 
| void | sortIndicesOrderByCloudSize (const pcl::PointCloud< pcl::PointXYZ >::Ptr input, const std::vector< pcl::IndicesPtr > indices_array, std::vector< size_t > *argsort) | 
| void | sortIndicesOrderByIndices (const pcl::PointCloud< pcl::PointXYZ >::Ptr input, const std::vector< pcl::IndicesPtr > indices_array, std::vector< size_t > *argsort) | 
| void | sortIndicesOrderByZAxis (const pcl::PointCloud< pcl::PointXYZ >::Ptr input, const std::vector< pcl::IndicesPtr > indices_array, std::vector< size_t > *argsort) | 
| Protected Member Functions | |
| void | addToDebugPointCloud (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr segmented_cloud, size_t i, pcl::PointCloud< pcl::PointXYZRGB > &debug_output) | 
| virtual void | allocatePublishers (size_t num) | 
| virtual bool | computeCenterAndBoundingBox (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr segmented_cloud, const std_msgs::Header header, const jsk_recognition_msgs::PolygonArrayConstPtr &planes, const jsk_recognition_msgs::ModelCoefficientsArrayConstPtr &coefficients, geometry_msgs::Pose ¢er_pose_msg, jsk_recognition_msgs::BoundingBox &bounding_box) | 
| virtual void | configCallback (Config &config, uint32_t level) | 
| virtual int | findNearestPlane (const Eigen::Vector4f ¢er, const jsk_recognition_msgs::PolygonArrayConstPtr &planes, const jsk_recognition_msgs::ModelCoefficientsArrayConstPtr &coefficients) | 
| virtual void | publishNegativeIndices (const sensor_msgs::PointCloud2ConstPtr &input, const jsk_recognition_msgs::ClusterPointIndicesConstPtr &indices_input) | 
| virtual void | subscribe () | 
| virtual bool | transformPointCloudToAlignWithPlane (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr segmented_cloud, pcl::PointCloud< pcl::PointXYZRGB >::Ptr segmented_cloud_transformed, const Eigen::Vector4f center, const jsk_recognition_msgs::PolygonArrayConstPtr &planes, const jsk_recognition_msgs::ModelCoefficientsArrayConstPtr &coefficients, Eigen::Matrix4f &m4, Eigen::Quaternionf &q) | 
| virtual void | unsubscribe () | 
| virtual void | updateDiagnostic (diagnostic_updater::DiagnosticStatusWrapper &stat) | 
| Static Protected Member Functions | |
| static uint32_t | colorRGBAToUInt32 (std_msgs::ColorRGBA c) | 
| Protected Attributes | |
| bool | align_boxes_ | 
| bool | align_boxes_with_plane_ | 
| boost::shared_ptr < message_filters::Synchronizer < ApproximateSyncPolicy > > | async_ | 
| ros::Publisher | box_pub_ | 
| boost::shared_ptr < tf::TransformBroadcaster > | br_ | 
| ros::Publisher | centers_pub_ | 
| jsk_recognition_utils::Counter | cluster_counter_ | 
| bool | force_to_flip_z_axis_ | 
| ros::Publisher | indices_pub_ | 
| ros::Publisher | label_pub_ | 
| ros::Publisher | mask_pub_ | 
| int | max_size_ | 
| int | min_size_ | 
| boost::mutex | mutex_ | 
| ros::Publisher | negative_indices_pub_ | 
| ros::Publisher | pc_pub_ | 
| bool | publish_clouds_ | 
| bool | publish_tf_ | 
| std::vector< ros::Publisher > | publishers_ | 
| int | queue_size_ | 
| std::string | sort_by_ | 
| boost::shared_ptr < dynamic_reconfigure::Server < Config > > | srv_ | 
| message_filters::Subscriber < jsk_recognition_msgs::ModelCoefficientsArray > | sub_coefficients_ | 
| message_filters::Subscriber < sensor_msgs::PointCloud2 > | sub_input_ | 
| message_filters::Subscriber < jsk_recognition_msgs::PolygonArray > | sub_polygons_ | 
| message_filters::Subscriber < jsk_recognition_msgs::ClusterPointIndices > | sub_target_ | 
| boost::shared_ptr < message_filters::Synchronizer < SyncPolicy > > | sync_ | 
| boost::shared_ptr < message_filters::Synchronizer < SyncAlignPolicy > > | sync_align_ | 
| std::string | target_frame_id_ | 
| tf::TransformListener * | tf_listener_ | 
| std::string | tf_prefix_ | 
| bool | use_async_ | 
| bool | use_pca_ | 
Definition at line 68 of file cluster_point_indices_decomposer.h.
| typedef message_filters::sync_policies::ApproximateTime< sensor_msgs::PointCloud2, jsk_recognition_msgs::ClusterPointIndices > jsk_pcl_ros::ClusterPointIndicesDecomposer::ApproximateSyncPolicy | 
Definition at line 78 of file cluster_point_indices_decomposer.h.
| typedef jsk_pcl_ros::ClusterPointIndicesDecomposerConfig jsk_pcl_ros::ClusterPointIndicesDecomposer::Config | 
Definition at line 72 of file cluster_point_indices_decomposer.h.
| typedef message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, jsk_recognition_msgs::ClusterPointIndices, jsk_recognition_msgs::PolygonArray, jsk_recognition_msgs::ModelCoefficientsArray> jsk_pcl_ros::ClusterPointIndicesDecomposer::SyncAlignPolicy | 
Definition at line 83 of file cluster_point_indices_decomposer.h.
| typedef message_filters::sync_policies::ExactTime< sensor_msgs::PointCloud2, jsk_recognition_msgs::ClusterPointIndices > jsk_pcl_ros::ClusterPointIndicesDecomposer::SyncPolicy | 
Definition at line 75 of file cluster_point_indices_decomposer.h.
Definition at line 71 of file cluster_point_indices_decomposer.h.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::addToDebugPointCloud | ( | const pcl::PointCloud< pcl::PointXYZRGB >::Ptr | segmented_cloud, | 
| size_t | i, | ||
| pcl::PointCloud< pcl::PointXYZRGB > & | debug_output | ||
| ) |  [protected] | 
Definition at line 555 of file cluster_point_indices_decomposer_nodelet.cpp.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::allocatePublishers | ( | size_t | num | ) |  [protected, virtual] | 
Definition at line 760 of file cluster_point_indices_decomposer_nodelet.cpp.
| static uint32_t jsk_pcl_ros::ClusterPointIndicesDecomposer::colorRGBAToUInt32 | ( | std_msgs::ColorRGBA | c | ) |  [inline, static, protected] | 
Definition at line 143 of file cluster_point_indices_decomposer.h.
| bool jsk_pcl_ros::ClusterPointIndicesDecomposer::computeCenterAndBoundingBox | ( | const pcl::PointCloud< pcl::PointXYZRGB >::Ptr | segmented_cloud, | 
| const std_msgs::Header | header, | ||
| const jsk_recognition_msgs::PolygonArrayConstPtr & | planes, | ||
| const jsk_recognition_msgs::ModelCoefficientsArrayConstPtr & | coefficients, | ||
| geometry_msgs::Pose & | center_pose_msg, | ||
| jsk_recognition_msgs::BoundingBox & | bounding_box | ||
| ) |  [protected, virtual] | 
Definition at line 411 of file cluster_point_indices_decomposer_nodelet.cpp.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::configCallback | ( | Config & | config, | 
| uint32_t | level | ||
| ) |  [protected, virtual] | 
Definition at line 124 of file cluster_point_indices_decomposer_nodelet.cpp.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::extract | ( | const sensor_msgs::PointCloud2ConstPtr & | point, | 
| const jsk_recognition_msgs::ClusterPointIndicesConstPtr & | indices, | ||
| const jsk_recognition_msgs::PolygonArrayConstPtr & | planes, | ||
| const jsk_recognition_msgs::ModelCoefficientsArrayConstPtr & | coefficients | ||
| ) |  [virtual] | 
Definition at line 597 of file cluster_point_indices_decomposer_nodelet.cpp.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::extract | ( | const sensor_msgs::PointCloud2ConstPtr & | point, | 
| const jsk_recognition_msgs::ClusterPointIndicesConstPtr & | indices | ||
| ) |  [virtual] | 
Definition at line 752 of file cluster_point_indices_decomposer_nodelet.cpp.
| int jsk_pcl_ros::ClusterPointIndicesDecomposer::findNearestPlane | ( | const Eigen::Vector4f & | center, | 
| const jsk_recognition_msgs::PolygonArrayConstPtr & | planes, | ||
| const jsk_recognition_msgs::ModelCoefficientsArrayConstPtr & | coefficients | ||
| ) |  [protected, virtual] | 
Definition at line 292 of file cluster_point_indices_decomposer_nodelet.cpp.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::onInit | ( | void | ) |  [virtual] | 
Reimplemented in jsk_pcl_ros::ClusterPointIndicesDecomposerZAxis.
Definition at line 66 of file cluster_point_indices_decomposer_nodelet.cpp.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::publishNegativeIndices | ( | const sensor_msgs::PointCloud2ConstPtr & | input, | 
| const jsk_recognition_msgs::ClusterPointIndicesConstPtr & | indices_input | ||
| ) |  [protected, virtual] | 
Definition at line 570 of file cluster_point_indices_decomposer_nodelet.cpp.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::sortIndicesOrder | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr | input, | 
| const std::vector< pcl::IndicesPtr > | indices_array, | ||
| std::vector< size_t > * | argsort | ||
| ) |  [virtual] | 
Definition at line 164 of file cluster_point_indices_decomposer_nodelet.cpp.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::sortIndicesOrderByCloudSize | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr | input, | 
| const std::vector< pcl::IndicesPtr > | indices_array, | ||
| std::vector< size_t > * | argsort | ||
| ) | 
Definition at line 243 of file cluster_point_indices_decomposer_nodelet.cpp.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::sortIndicesOrderByIndices | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr | input, | 
| const std::vector< pcl::IndicesPtr > | indices_array, | ||
| std::vector< size_t > * | argsort | ||
| ) | 
Definition at line 201 of file cluster_point_indices_decomposer_nodelet.cpp.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::sortIndicesOrderByZAxis | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr | input, | 
| const std::vector< pcl::IndicesPtr > | indices_array, | ||
| std::vector< size_t > * | argsort | ||
| ) | 
Definition at line 213 of file cluster_point_indices_decomposer_nodelet.cpp.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::subscribe | ( | ) |  [protected, virtual] | 
Definition at line 131 of file cluster_point_indices_decomposer_nodelet.cpp.
| bool jsk_pcl_ros::ClusterPointIndicesDecomposer::transformPointCloudToAlignWithPlane | ( | const pcl::PointCloud< pcl::PointXYZRGB >::Ptr | segmented_cloud, | 
| pcl::PointCloud< pcl::PointXYZRGB >::Ptr | segmented_cloud_transformed, | ||
| const Eigen::Vector4f | center, | ||
| const jsk_recognition_msgs::PolygonArrayConstPtr & | planes, | ||
| const jsk_recognition_msgs::ModelCoefficientsArrayConstPtr & | coefficients, | ||
| Eigen::Matrix4f & | m4, | ||
| Eigen::Quaternionf & | q | ||
| ) |  [protected, virtual] | 
Definition at line 319 of file cluster_point_indices_decomposer_nodelet.cpp.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::unsubscribe | ( | ) |  [protected, virtual] | 
Definition at line 154 of file cluster_point_indices_decomposer_nodelet.cpp.
| void jsk_pcl_ros::ClusterPointIndicesDecomposer::updateDiagnostic | ( | diagnostic_updater::DiagnosticStatusWrapper & | stat | ) |  [protected, virtual] | 
Definition at line 272 of file cluster_point_indices_decomposer_nodelet.cpp.
| bool jsk_pcl_ros::ClusterPointIndicesDecomposer::align_boxes_  [protected] | 
Definition at line 169 of file cluster_point_indices_decomposer.h.
| bool jsk_pcl_ros::ClusterPointIndicesDecomposer::align_boxes_with_plane_  [protected] | 
Definition at line 170 of file cluster_point_indices_decomposer.h.
| boost::shared_ptr<message_filters::Synchronizer<ApproximateSyncPolicy> > jsk_pcl_ros::ClusterPointIndicesDecomposer::async_  [protected] | 
Definition at line 157 of file cluster_point_indices_decomposer.h.
Definition at line 160 of file cluster_point_indices_decomposer.h.
| boost::shared_ptr<tf::TransformBroadcaster> jsk_pcl_ros::ClusterPointIndicesDecomposer::br_  [protected] | 
Definition at line 161 of file cluster_point_indices_decomposer.h.
Definition at line 160 of file cluster_point_indices_decomposer.h.
| jsk_recognition_utils::Counter jsk_pcl_ros::ClusterPointIndicesDecomposer::cluster_counter_  [protected] | 
Definition at line 178 of file cluster_point_indices_decomposer.h.
| bool jsk_pcl_ros::ClusterPointIndicesDecomposer::force_to_flip_z_axis_  [protected] | 
Definition at line 166 of file cluster_point_indices_decomposer.h.
Definition at line 160 of file cluster_point_indices_decomposer.h.
Definition at line 160 of file cluster_point_indices_decomposer.h.
Definition at line 160 of file cluster_point_indices_decomposer.h.
| int jsk_pcl_ros::ClusterPointIndicesDecomposer::max_size_  [protected] | 
Definition at line 174 of file cluster_point_indices_decomposer.h.
| int jsk_pcl_ros::ClusterPointIndicesDecomposer::min_size_  [protected] | 
Definition at line 175 of file cluster_point_indices_decomposer.h.
Definition at line 105 of file cluster_point_indices_decomposer.h.
Definition at line 160 of file cluster_point_indices_decomposer.h.
Definition at line 160 of file cluster_point_indices_decomposer.h.
| bool jsk_pcl_ros::ClusterPointIndicesDecomposer::publish_clouds_  [protected] | 
Definition at line 167 of file cluster_point_indices_decomposer.h.
| bool jsk_pcl_ros::ClusterPointIndicesDecomposer::publish_tf_  [protected] | 
Definition at line 168 of file cluster_point_indices_decomposer.h.
Definition at line 159 of file cluster_point_indices_decomposer.h.
| int jsk_pcl_ros::ClusterPointIndicesDecomposer::queue_size_  [protected] | 
Definition at line 165 of file cluster_point_indices_decomposer.h.
Definition at line 176 of file cluster_point_indices_decomposer.h.
| boost::shared_ptr<dynamic_reconfigure::Server<Config> > jsk_pcl_ros::ClusterPointIndicesDecomposer::srv_  [protected] | 
Definition at line 104 of file cluster_point_indices_decomposer.h.
| message_filters::Subscriber<jsk_recognition_msgs::ModelCoefficientsArray> jsk_pcl_ros::ClusterPointIndicesDecomposer::sub_coefficients_  [protected] | 
Definition at line 155 of file cluster_point_indices_decomposer.h.
| message_filters::Subscriber<sensor_msgs::PointCloud2> jsk_pcl_ros::ClusterPointIndicesDecomposer::sub_input_  [protected] | 
Definition at line 152 of file cluster_point_indices_decomposer.h.
| message_filters::Subscriber<jsk_recognition_msgs::PolygonArray> jsk_pcl_ros::ClusterPointIndicesDecomposer::sub_polygons_  [protected] | 
Definition at line 154 of file cluster_point_indices_decomposer.h.
| message_filters::Subscriber<jsk_recognition_msgs::ClusterPointIndices> jsk_pcl_ros::ClusterPointIndicesDecomposer::sub_target_  [protected] | 
Definition at line 153 of file cluster_point_indices_decomposer.h.
| boost::shared_ptr<message_filters::Synchronizer<SyncPolicy> > jsk_pcl_ros::ClusterPointIndicesDecomposer::sync_  [protected] | 
Definition at line 156 of file cluster_point_indices_decomposer.h.
| boost::shared_ptr<message_filters::Synchronizer<SyncAlignPolicy> > jsk_pcl_ros::ClusterPointIndicesDecomposer::sync_align_  [protected] | 
Definition at line 158 of file cluster_point_indices_decomposer.h.
Definition at line 171 of file cluster_point_indices_decomposer.h.
Definition at line 172 of file cluster_point_indices_decomposer.h.
Definition at line 162 of file cluster_point_indices_decomposer.h.
| bool jsk_pcl_ros::ClusterPointIndicesDecomposer::use_async_  [protected] | 
Definition at line 164 of file cluster_point_indices_decomposer.h.
| bool jsk_pcl_ros::ClusterPointIndicesDecomposer::use_pca_  [protected] | 
Definition at line 173 of file cluster_point_indices_decomposer.h.