43 #include <pcl/point_cloud.h>
46 #include <pcl/ml/pairwise_potential.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,
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_;