ed_sensor_integration
include
ed_sensor_integration
kinect
almodules
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
4
#include "
ed_sensor_integration/kinect/almodules/rgbd_al_module.h
"
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
:
19
AssociationPR
()
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
39
class
PointNormalALM
:
public
edKinect::RGBDALModule
40
{
41
42
public
:
43
44
PointNormalALM
();
45
46
void
process
(
const
ed::RGBDData
& rgbd_data,
47
ed::PointCloudMaskPtr
& not_associated_mask,
48
const
ed::WorldModel
&world_model,
49
ed::UpdateRequest
&
req
);
50
51
void
configure
(
tue::Configuration
config
);
52
53
protected
:
54
55
pcl::KdTreeFLANN<pcl::PointNormal>::Ptr
tree_
;
56
AssociationPR
point_representation_
,
point_representation2_
;
57
59
float
position_weight_
;
60
float
normal_weight_
;
61
float
association_correspondence_distance_
;
62
int
render_width_
;
63
float
render_max_range_
;
64
float
render_voxel_size_
;
65
int
normal_k_search_
;
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 ¬_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
Generated on Sun Feb 23 2025 04:34:57 for ed_sensor_integration by
1.8.17