#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 549 of file cluster_point_indices_decomposer_nodelet.cpp.
void jsk_pcl_ros::ClusterPointIndicesDecomposer::allocatePublishers | ( | size_t | num | ) | [protected, virtual] |
Definition at line 744 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 410 of file cluster_point_indices_decomposer_nodelet.cpp.
void jsk_pcl_ros::ClusterPointIndicesDecomposer::configCallback | ( | Config & | config, |
uint32_t | level | ||
) | [protected, virtual] |
Definition at line 120 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 588 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 736 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 291 of file cluster_point_indices_decomposer_nodelet.cpp.
void jsk_pcl_ros::ClusterPointIndicesDecomposer::onInit | ( | void | ) | [virtual] |
Reimplemented from jsk_topic_tools::DiagnosticNodelet.
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 564 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 160 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 239 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 197 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 209 of file cluster_point_indices_decomposer_nodelet.cpp.
void jsk_pcl_ros::ClusterPointIndicesDecomposer::subscribe | ( | ) | [protected, virtual] |
Implements jsk_topic_tools::ConnectionBasedNodelet.
Definition at line 127 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 318 of file cluster_point_indices_decomposer_nodelet.cpp.
void jsk_pcl_ros::ClusterPointIndicesDecomposer::unsubscribe | ( | ) | [protected, virtual] |
Implements jsk_topic_tools::ConnectionBasedNodelet.
Definition at line 150 of file cluster_point_indices_decomposer_nodelet.cpp.
void jsk_pcl_ros::ClusterPointIndicesDecomposer::updateDiagnostic | ( | diagnostic_updater::DiagnosticStatusWrapper & | stat | ) | [protected, virtual] |
Reimplemented from jsk_topic_tools::DiagnosticNodelet.
Definition at line 268 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.
Reimplemented from jsk_topic_tools::ConnectionBasedNodelet.
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.
std::string jsk_pcl_ros::ClusterPointIndicesDecomposer::sort_by_ [protected] |
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.
std::string jsk_pcl_ros::ClusterPointIndicesDecomposer::target_frame_id_ [protected] |
Definition at line 171 of file cluster_point_indices_decomposer.h.
Definition at line 172 of file cluster_point_indices_decomposer.h.
std::string jsk_pcl_ros::ClusterPointIndicesDecomposer::tf_prefix_ [protected] |
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.