Point Cloud Library (PCL) 1.13.0
Loading...
Searching...
No Matches
pairwise_potential.h
1/*
2 * Software License Agreement (BSD License)
3 *
4 * Point Cloud Library (PCL) - www.pointclouds.org
5 *
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 *
12 * * Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 * * Redistributions in binary form must reproduce the above
15 * copyright notice, this list of conditions and the following
16 * disclaimer in the documentation and/or other materials provided
17 * with the distribution.
18 * * Neither the name of Willow Garage, Inc. nor the names of its
19 * contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 *
35 * Author : Christian Potthast
36 * Email : potthast@usc.edu
37 *
38 */
39
40#pragma once
41
42#include <pcl/ml/permutohedral.h>
43
44#include <vector>
45
46namespace pcl {
47
49public:
50 /** Constructor for PairwisePotential class. */
51 PairwisePotential(const std::vector<float>& feature,
52 const int D,
53 const int N,
54 const float w);
55
56 /** Deconstructor for PairwisePotential class. */
57 ~PairwisePotential() = default;
58
59 void
60 compute(std::vector<float>& out,
61 const std::vector<float>& in,
62 std::vector<float>& tmp,
63 int value_size) const;
64
65protected:
66 /// Permutohedral lattice
68
69 /// Number of variables
70 int N_;
71
72 /// Weight
73 float w_;
74
75 /// Norm
76 std::vector<float> norm_;
77
78public:
79 std::vector<float> bary_;
80 std::vector<float> features_;
81};
82
83} // namespace pcl
PairwisePotential(const std::vector< float > &feature, const int D, const int N, const float w)
Constructor for PairwisePotential class.
std::vector< float > features_
void compute(std::vector< float > &out, const std::vector< float > &in, std::vector< float > &tmp, int value_size) const
~PairwisePotential()=default
Deconstructor for PairwisePotential class.
std::vector< float > norm_
Norm.
int N_
Number of variables.
std::vector< float > bary_
Permutohedral lattice_
Permutohedral lattice.
Implementation of a high-dimensional gaussian filtering using the permutohedral lattice.