WilliamsGMMReducer.h
Go to the documentation of this file.
1/*
2* This file is part of ArmarX.
3*
4* ArmarX is free software; you can redistribute it and/or modify
5* it under the terms of the GNU General Public License version 2 as
6* published by the Free Software Foundation.
7*
8* ArmarX is distributed in the hope that it will be useful, but
9* WITHOUT ANY WARRANTY; without even the implied warranty of
10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11* GNU General Public License for more details.
12*
13* You should have received a copy of the GNU General Public License
14* along with this program. If not, see <http://www.gnu.org/licenses/>.
15*
16* @package MemoryX::GaussianMixtureHelpers
17* @author Alexey Kozlov <kozlov@kit.edu>
18* @copyright 2013 Alexey Kozlov
19* @license http://www.gnu.org/licenses/gpl-2.0.txt
20* GNU General Public License
21*/
22
23#pragma once
24
25#include <cfloat>
26#include <string>
27
29
30#include "GMMReducer.h"
31#include "ISDDistance.h"
33
34namespace memoryx
35{
36 /**
37 * @class WilliamsGMMReducer
38 * @ingroup GaussianMixtureHelpers
39 */
41 {
42 public:
44
45 protected:
46 float
47 getMergingCost(const GaussianMixtureDistributionBasePtr& gmm, int c1, int c2) override;
48 void fillMergingCostVector(const GaussianMixtureDistributionBasePtr& gmm,
49 GMMCompPairDistanceVector& costVec) override;
50
51 private:
52 ISDDistancePtr isdDistance;
53 };
54} // namespace memoryx
#define ARMARXCORE_IMPORT_EXPORT
GMMReducer()
Creates a new GMMReducer.
Definition GMMReducer.h:57
void fillMergingCostVector(const GaussianMixtureDistributionBasePtr &gmm, GMMCompPairDistanceVector &costVec) override
float getMergingCost(const GaussianMixtureDistributionBasePtr &gmm, int c1, int c2) override
VirtualRobot headers.
std::vector< GMMCompPairDistance > GMMCompPairDistanceVector
Definition GMMReducer.h:45
std::shared_ptr< ISDDistance > ISDDistancePtr