ed_sensor_integration
point_normal_alm.h
Go to the documentation of this file.
1 #ifndef ed_sensor_integration_kinect_point_normal_alm_h_
2 #define ed_sensor_integration_kinect_point_normal_alm_h_
3 
5 
6 #include <ros/publisher.h>
7 #include <pcl/point_representation.h>
8 #include <pcl/kdtree/kdtree_flann.h>
9 
10 namespace edKinect
11 {
12 
13 // Define a new point representation for the association
14 class AssociationPR : public pcl::PointRepresentation <pcl::PointNormal>
15 {
16  using pcl::PointRepresentation<pcl::PointNormal>::nr_dimensions_;
17 
18  public:
20  {
21  // Define the number of dimensions
22  nr_dimensions_ = 6;
23  }
24 
25  // Override the copyToFloatArray method to define our feature vector
26  virtual void copyToFloatArray (const pcl::PointNormal &p, float * out) const
27  {
28  // < x, y, z, curvature >
29  out[0] = p.x;
30  out[1] = p.y;
31  out[2] = p.z;
32  out[3] = p.normal_x;
33  out[4] = p.normal_y;
34  out[5] = p.normal_z;
35 // out[3] = p.curvature;
36  }
37 };
38 
40 {
41 
42 public:
43 
45 
46  void process(const ed::RGBDData& rgbd_data,
47  ed::PointCloudMaskPtr& not_associated_mask,
48  const ed::WorldModel &world_model,
50 
52 
53 protected:
54 
55  pcl::KdTreeFLANN<pcl::PointNormal>::Ptr tree_;
57 
66 
67 };
68 
69 }
70 
71 #endif
edKinect
Definition: point_normal_alm.h:10
ed::UpdateRequest
edKinect::RGBDALModule
Definition: rgbd_al_module.h:20
edKinect::PointNormalALM::normal_weight_
float normal_weight_
Definition: point_normal_alm.h:60
edKinect::PointNormalALM::tree_
pcl::KdTreeFLANN< pcl::PointNormal >::Ptr tree_
Definition: point_normal_alm.h:55
edKinect::AssociationPR::copyToFloatArray
virtual void copyToFloatArray(const pcl::PointNormal &p, float *out) const
Definition: point_normal_alm.h:26
edKinect::PointNormalALM::render_width_
int render_width_
Definition: point_normal_alm.h:62
edKinect::PointNormalALM::configure
void configure(tue::Configuration config)
edKinect::PointNormalALM::PointNormalALM
PointNormalALM()
ed::RGBDData
tue::config::ReaderWriter
edKinect::AssociationPR::AssociationPR
AssociationPR()
Definition: point_normal_alm.h:19
edKinect::AssociationPR
Definition: point_normal_alm.h:14
ed::PointCloudMaskPtr
pcl::IndicesPtr PointCloudMaskPtr
edKinect::PointNormalALM::association_correspondence_distance_
float association_correspondence_distance_
Definition: point_normal_alm.h:61
req
string req
edKinect::PointNormalALM::render_max_range_
float render_max_range_
Definition: point_normal_alm.h:63
rgbd_al_module.h
ed::WorldModel
edKinect::PointNormalALM::process
void process(const ed::RGBDData &rgbd_data, ed::PointCloudMaskPtr &not_associated_mask, const ed::WorldModel &world_model, ed::UpdateRequest &req)
edKinect::PointNormalALM::render_voxel_size_
float render_voxel_size_
Definition: point_normal_alm.h:64
edKinect::PointNormalALM::normal_k_search_
int normal_k_search_
Definition: point_normal_alm.h:65
edKinect::PointNormalALM::position_weight_
float position_weight_
tunable params
Definition: point_normal_alm.h:59
edKinect::PointNormalALM::point_representation2_
AssociationPR point_representation2_
Definition: point_normal_alm.h:56
edKinect::PointNormalALM::point_representation_
AssociationPR point_representation_
Definition: point_normal_alm.h:56
edKinect::PointNormalALM
Definition: point_normal_alm.h:39
config
tue::config::ReaderWriter config