Filter represents the base filter class. Some generic 3D operations that are applicable to all filters are defined here as static methods. More...
#include <segbot_velodyne_outlier_removal.h>
Public Types | |
typedef boost::shared_ptr < const std::vector< int > > | IndicesConstPtr |
typedef boost::shared_ptr < std::vector< int > > | IndicesPtr |
typedef sensor_msgs::PointCloud2 | PointCloud2 |
Public Member Functions | |
Filter () | |
Protected Member Functions | |
virtual bool | child_init (ros::NodeHandle &nh, bool &has_service) |
Child initialization routine. | |
void | computePublish (const PointCloud2::ConstPtr &input, const IndicesPtr &indices) |
Call the child filter () method, optionally transform the result, and publish it. | |
virtual void | filter (const PointCloud2::ConstPtr &input, const IndicesPtr &indices, PointCloud2 &output)=0 |
Virtual abstract filter method. To be implemented by every child. | |
virtual void | onInit () |
Nodelet initialization routine. | |
Protected Attributes | |
std::string | filter_field_name_ |
The desired user filter field name. | |
double | filter_limit_max_ |
The maximum allowed filter value a point will be considered from. | |
double | filter_limit_min_ |
The minimum allowed filter value a point will be considered from. | |
bool | filter_limit_negative_ |
Set to true if we want to return the data outside (filter_limit_min_;filter_limit_max_). Default: false. | |
boost::mutex | mutex_ |
Internal mutex. | |
ros::Subscriber | sub_input_ |
The input PointCloud subscriber. | |
message_filters::Subscriber < PointCloud2 > | sub_input_filter_ |
std::string | tf_input_frame_ |
The input TF frame the data should be transformed into, if input.header.frame_id is different. | |
std::string | tf_input_orig_frame_ |
The original data input TF frame. | |
std::string | tf_output_frame_ |
The output TF frame the data should be transformed into, if input.header.frame_id is different. | |
Private Member Functions | |
virtual void | config_callback (pcl_ros::FilterConfig &config, uint32_t level) |
Dynamic reconfigure service callback. | |
void | input_indices_callback (const PointCloud2::ConstPtr &cloud, const PointIndicesConstPtr &indices) |
PointCloud2 + Indices data callback. | |
Private Attributes | |
boost::shared_ptr < dynamic_reconfigure::Server < pcl_ros::FilterConfig > > | srv_ |
Pointer to a dynamic reconfigure service. | |
boost::shared_ptr < message_filters::Synchronizer < sync_policies::ApproximateTime < PointCloud2, PointIndices > > > | sync_input_indices_a_ |
boost::shared_ptr < message_filters::Synchronizer < sync_policies::ExactTime < PointCloud2, PointIndices > > > | sync_input_indices_e_ |
Synchronized input, and indices. |
Filter represents the base filter class. Some generic 3D operations that are applicable to all filters are defined here as static methods.
Definition at line 72 of file segbot_velodyne_outlier_removal.h.
typedef boost::shared_ptr<const std::vector<int> > segbot_sensors::Filter::IndicesConstPtr |
Reimplemented from pcl_ros::PCLNodelet.
Definition at line 78 of file segbot_velodyne_outlier_removal.h.
typedef boost::shared_ptr<std::vector<int> > segbot_sensors::Filter::IndicesPtr |
Reimplemented from pcl_ros::PCLNodelet.
Definition at line 77 of file segbot_velodyne_outlier_removal.h.
typedef sensor_msgs::PointCloud2 segbot_sensors::Filter::PointCloud2 |
Reimplemented from pcl_ros::PCLNodelet.
Definition at line 75 of file segbot_velodyne_outlier_removal.h.
segbot_sensors::Filter::Filter | ( | ) | [inline] |
Definition at line 80 of file segbot_velodyne_outlier_removal.h.
virtual bool segbot_sensors::Filter::child_init | ( | ros::NodeHandle & | nh, |
bool & | has_service | ||
) | [inline, protected, virtual] |
Child initialization routine.
nh | ROS node handle |
has_service | set to true if the child has a Dynamic Reconfigure service |
Definition at line 117 of file segbot_velodyne_outlier_removal.h.
void segbot_sensors::Filter::computePublish | ( | const PointCloud2::ConstPtr & | input, |
const IndicesPtr & | indices | ||
) | [protected] |
Call the child filter () method, optionally transform the result, and publish it.
input | the input point cloud dataset. |
indices | a pointer to the vector of point indices to use. |
virtual void segbot_sensors::Filter::config_callback | ( | pcl_ros::FilterConfig & | config, |
uint32_t | level | ||
) | [private, virtual] |
Dynamic reconfigure service callback.
virtual void segbot_sensors::Filter::filter | ( | const PointCloud2::ConstPtr & | input, |
const IndicesPtr & | indices, | ||
PointCloud2 & | output | ||
) | [protected, pure virtual] |
Virtual abstract filter method. To be implemented by every child.
input | the input point cloud dataset. |
indices | a pointer to the vector of point indices to use. |
output | the resultant filtered PointCloud2 |
void segbot_sensors::Filter::input_indices_callback | ( | const PointCloud2::ConstPtr & | cloud, |
const PointIndicesConstPtr & | indices | ||
) | [private] |
PointCloud2 + Indices data callback.
virtual void segbot_sensors::Filter::onInit | ( | ) | [protected, virtual] |
Nodelet initialization routine.
Reimplemented from pcl_ros::PCLNodelet.
The desired user filter field name.
Definition at line 89 of file segbot_velodyne_outlier_removal.h.
double segbot_sensors::Filter::filter_limit_max_ [protected] |
The maximum allowed filter value a point will be considered from.
Definition at line 95 of file segbot_velodyne_outlier_removal.h.
double segbot_sensors::Filter::filter_limit_min_ [protected] |
The minimum allowed filter value a point will be considered from.
Definition at line 92 of file segbot_velodyne_outlier_removal.h.
bool segbot_sensors::Filter::filter_limit_negative_ [protected] |
Set to true if we want to return the data outside (filter_limit_min_;filter_limit_max_). Default: false.
Definition at line 98 of file segbot_velodyne_outlier_removal.h.
boost::mutex segbot_sensors::Filter::mutex_ [protected] |
Internal mutex.
Definition at line 110 of file segbot_velodyne_outlier_removal.h.
boost::shared_ptr<dynamic_reconfigure::Server<pcl_ros::FilterConfig> > segbot_sensors::Filter::srv_ [private] |
Pointer to a dynamic reconfigure service.
Definition at line 145 of file segbot_velodyne_outlier_removal.h.
ros::Subscriber segbot_sensors::Filter::sub_input_ [protected] |
The input PointCloud subscriber.
Definition at line 84 of file segbot_velodyne_outlier_removal.h.
Reimplemented from pcl_ros::PCLNodelet.
Definition at line 86 of file segbot_velodyne_outlier_removal.h.
boost::shared_ptr<message_filters::Synchronizer<sync_policies::ApproximateTime<PointCloud2, PointIndices> > > segbot_sensors::Filter::sync_input_indices_a_ [private] |
Definition at line 149 of file segbot_velodyne_outlier_removal.h.
boost::shared_ptr<message_filters::Synchronizer<sync_policies::ExactTime<PointCloud2, PointIndices> > > segbot_sensors::Filter::sync_input_indices_e_ [private] |
Synchronized input, and indices.
Definition at line 148 of file segbot_velodyne_outlier_removal.h.
std::string segbot_sensors::Filter::tf_input_frame_ [protected] |
The input TF frame the data should be transformed into, if input.header.frame_id is different.
Definition at line 101 of file segbot_velodyne_outlier_removal.h.
The original data input TF frame.
Definition at line 104 of file segbot_velodyne_outlier_removal.h.
std::string segbot_sensors::Filter::tf_output_frame_ [protected] |
The output TF frame the data should be transformed into, if input.header.frame_id is different.
Definition at line 107 of file segbot_velodyne_outlier_removal.h.