IRI ROS Specific Driver Class. More...
#include <normal_descriptor_alg.h>
Public Types | |
typedef normal_descriptor_node::NormalDescriptorConfig | Config |
define config type | |
Public Member Functions | |
normal_descriptor_node::ndesc | compute_descriptor_one_spatial_rot_inv (pcl::PointCloud< pcl::PointXYZ > &cloud, pcl::PointCloud< pcl::PointXY > &pcl_spherical, uint u, uint v) |
void | compute_descriptor_spatial_rot_inv (pcl::PointCloud< pcl::PointXYZ > &cloud, normal_descriptor_node::ndesc_pc &ndesc_pc_msg) |
void | compute_ndescs_integral_spatial (pcl::PointCloud< pcl::PointXYZ > &cloud, normal_descriptor_node::ndesc_pc &ndesc_pc_msg) |
compute all descriptors with spatial bin support of image using an integral image | |
int | compute_total_bins () |
Set total descriptor bins. | |
void | config_update (const Config &new_cfg, uint32_t level=0) |
config update | |
void | lock (void) |
Lock Algorithm. | |
NormalDescriptorAlgorithm () | |
constructor | |
int | set_desc_patch_radius (int r) |
Set patch radius. | |
uint | set_num_orientation_bins (uint nb) |
Set number of orientation bins. | |
int | set_num_side_spatial_bins (int nb) |
Set number of spatial bins (side) | |
int | set_sample_each (int s) |
Set sample each. | |
bool | try_enter (void) |
Tries Access to Algorithm. | |
void | unlock (void) |
Unlock Algorithm. | |
~NormalDescriptorAlgorithm () | |
compute heat/wrinkledness map | |
Public Attributes | |
Config | config_ |
config variable | |
Protected Member Functions | |
void | compute_spherical_coords (pcl::PointCloud< pcl::Normal > &pcl_normal, pcl::PointCloud< pcl::PointXY > &pcl_spherical) |
compute spherical coordinates | |
Protected Attributes | |
CMutex | alg_mutex_ |
define config type | |
uint | desc_num_orient_bins_ |
uint | desc_num_side_spatial_bins_ |
uint | desc_num_total_bins_ |
uint | desc_patch_radius_ |
uint | margin_ |
uint | nt_ |
std::vector< float > | orient_bin_boundsX_ |
std::vector< float > | orient_bin_boundsY_ |
uint | sample_each_ |
IRI ROS Specific Driver Class.
Definition at line 57 of file normal_descriptor_alg.h.
typedef normal_descriptor_node::NormalDescriptorConfig NormalDescriptorAlgorithm::Config |
define config type
Define a Config type with the NormalDescriptorConfig. All driver implementations will then use the same variable type Config.
Definition at line 128 of file normal_descriptor_alg.h.
constructor
In this constructor parameters related to the specific driver can be initalized. Those parameters can be also set in the openDriver() function. Attributes from the main node driver class IriBaseDriver such as loop_rate, may be also overload here.
Definition at line 29 of file normal_descriptor_alg.cpp.
compute heat/wrinkledness map
Compute a wrinkledness map from the entropy descriptors Destructor
This destructor is called when the object is about to be destroyed.
Definition at line 51 of file normal_descriptor_alg.cpp.
normal_descriptor_node::ndesc NormalDescriptorAlgorithm::compute_descriptor_one_spatial_rot_inv | ( | pcl::PointCloud< pcl::PointXYZ > & | cloud, |
pcl::PointCloud< pcl::PointXY > & | pcl_spherical, | ||
uint | u, | ||
uint | v | ||
) |
Definition at line 362 of file normal_descriptor_alg.cpp.
void NormalDescriptorAlgorithm::compute_descriptor_spatial_rot_inv | ( | pcl::PointCloud< pcl::PointXYZ > & | cloud, |
normal_descriptor_node::ndesc_pc & | ndesc_pc_msg | ||
) |
Definition at line 328 of file normal_descriptor_alg.cpp.
void NormalDescriptorAlgorithm::compute_ndescs_integral_spatial | ( | pcl::PointCloud< pcl::PointXYZ > & | cloud, |
normal_descriptor_node::ndesc_pc & | ndesc_pc_msg | ||
) |
compute all descriptors with spatial bin support of image using an integral image
Main interface to compute normal descriptors with spatial support from a point cloud
Definition at line 185 of file normal_descriptor_alg.cpp.
void NormalDescriptorAlgorithm::compute_spherical_coords | ( | pcl::PointCloud< pcl::Normal > & | pcl_normal, |
pcl::PointCloud< pcl::PointXY > & | pcl_spherical | ||
) | [protected] |
compute spherical coordinates
Takes a "normals" point cloud and computes the azimuth and inclination angles of the spherical coordinates (magnitude not possible since the normal is normalized). The angles are passed as a PointXY point cloud, being X the azimuth and Y the inclination (check!).
Definition at line 84 of file normal_descriptor_alg.cpp.
int NormalDescriptorAlgorithm::compute_total_bins | ( | ) | [inline] |
Set total descriptor bins.
Given the current parameters, this function computes the total number of bins of the descriptor.
Definition at line 193 of file normal_descriptor_alg.h.
void NormalDescriptorAlgorithm::config_update | ( | const Config & | new_cfg, |
uint32_t | level = 0 |
||
) |
config update
In this function the driver parameters must be updated with the input config variable. Then the new configuration state will be stored in the Config attribute.
new_cfg | the new driver configuration state |
level | level in which the update is taken place |
Definition at line 55 of file normal_descriptor_alg.cpp.
void NormalDescriptorAlgorithm::lock | ( | void | ) | [inline] |
Lock Algorithm.
Locks access to the Algorithm class
Definition at line 153 of file normal_descriptor_alg.h.
int NormalDescriptorAlgorithm::set_desc_patch_radius | ( | int | r | ) | [inline] |
Set patch radius.
This function allows to change the patch radius of the descriptor, and triggers all actions dependant on them.
Definition at line 252 of file normal_descriptor_alg.h.
uint NormalDescriptorAlgorithm::set_num_orientation_bins | ( | uint | nb | ) | [inline] |
Set number of orientation bins.
This function allows to change the number of orientation bins of the descriptor, and triggers all actions dependant on them.
Definition at line 221 of file normal_descriptor_alg.h.
int NormalDescriptorAlgorithm::set_num_side_spatial_bins | ( | int | nb | ) | [inline] |
Set number of spatial bins (side)
This function allows to change the number of spatial bins of the descriptor, and triggers all actions dependant on them.
Definition at line 207 of file normal_descriptor_alg.h.
int NormalDescriptorAlgorithm::set_sample_each | ( | int | s | ) | [inline] |
Set sample each.
Function used to change the spacing between each sampled position of the grid for descriptor computation.
Definition at line 266 of file normal_descriptor_alg.h.
bool NormalDescriptorAlgorithm::try_enter | ( | void | ) | [inline] |
Tries Access to Algorithm.
Tries access to Algorithm
Definition at line 169 of file normal_descriptor_alg.h.
void NormalDescriptorAlgorithm::unlock | ( | void | ) | [inline] |
Unlock Algorithm.
Unlocks access to the Algorithm class
Definition at line 160 of file normal_descriptor_alg.h.
CMutex NormalDescriptorAlgorithm::alg_mutex_ [protected] |
define config type
Define a Config type with the NormalDescriptorConfig. All driver implementations will then use the same variable type Config.
Definition at line 66 of file normal_descriptor_alg.h.
config variable
This variable has all the driver parameters defined in the cfg config file. Is updated everytime function config_update() is called.
Definition at line 136 of file normal_descriptor_alg.h.
uint NormalDescriptorAlgorithm::desc_num_orient_bins_ [protected] |
Definition at line 73 of file normal_descriptor_alg.h.
uint NormalDescriptorAlgorithm::desc_num_side_spatial_bins_ [protected] |
Definition at line 76 of file normal_descriptor_alg.h.
uint NormalDescriptorAlgorithm::desc_num_total_bins_ [protected] |
Definition at line 77 of file normal_descriptor_alg.h.
uint NormalDescriptorAlgorithm::desc_patch_radius_ [protected] |
Definition at line 78 of file normal_descriptor_alg.h.
uint NormalDescriptorAlgorithm::margin_ [protected] |
Definition at line 82 of file normal_descriptor_alg.h.
uint NormalDescriptorAlgorithm::nt_ [protected] |
Definition at line 70 of file normal_descriptor_alg.h.
std::vector<float> NormalDescriptorAlgorithm::orient_bin_boundsX_ [protected] |
Definition at line 74 of file normal_descriptor_alg.h.
std::vector<float> NormalDescriptorAlgorithm::orient_bin_boundsY_ [protected] |
Definition at line 75 of file normal_descriptor_alg.h.
uint NormalDescriptorAlgorithm::sample_each_ [protected] |
Definition at line 81 of file normal_descriptor_alg.h.