42 #include <pcl/ml/pairwise_potential.h>
43 #include <pcl/memory.h>
44 #include <pcl/pcl_macros.h>
45 #include <pcl/point_cloud.h>
46 #include <pcl/point_types.h>
63 setDataVector(
const std::vector<Eigen::Vector3i,
64 Eigen::aligned_allocator<Eigen::Vector3i>> data);
68 setColorVector(
const std::vector<Eigen::Vector3i,
69 Eigen::aligned_allocator<Eigen::Vector3i>> color);
72 setUnaryEnergy(
const std::vector<float> unary);
75 addPairwiseEnergy(
const std::vector<float>& feature,
76 const int feature_dimension,
81 addPairwiseGaussian(
float sx,
float sy,
float sz,
float w);
86 float sx,
float sy,
float sz,
float sr,
float sg,
float sb,
float w);
90 std::vector<Eigen::Vector3i, Eigen::aligned_allocator<Eigen::Vector3i>>& coord,
91 std::vector<Eigen::Vector3f, Eigen::aligned_allocator<Eigen::Vector3f>>& normals,
101 inference(
int n_iterations, std::vector<float>& result,
float relax = 1.0f);
104 mapInference(
int n_iterations, std::vector<int>& result,
float relax = 1.0f);
107 expAndNormalize(std::vector<float>& out,
108 const std::vector<float>& in,
110 float relax = 1.0f)
const;
113 expAndNormalizeORI(
float* out,
118 map(
int n_iterations, std::vector<int> result,
float relax = 1.0f);
121 runInference(
int n_iterations,
float relax);
127 stepInference(
float relax);
130 runInference(
float relax);
133 getBarycentric(
int idx, std::vector<float>& bary);
136 getFeatures(
int idx, std::vector<float>& features);
143 std::vector<Eigen::Vector3i, Eigen::aligned_allocator<Eigen::Vector3i>>
data_;
146 std::vector<Eigen::Vector3i, Eigen::aligned_allocator<Eigen::Vector3i>>
color_;
std::vector< float > current_
std::vector< PairwisePotential * > pairwise_potential_
Pairwise potentials.
int N_
Number of variables and labels.
std::vector< float > tmp_
std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > color_
Color vector.
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
std::vector< float > unary_
CRF unary potentials.
std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > data_
Data vector.
std::vector< float > next_