mixmod  3.2.0
Mixture models for clustering and classification
 All Classes Namespaces Files Functions Variables Enumerations Friends
GaussianDiagParameter.h
1 /***************************************************************************
2  SRC/mixmod/Kernel/Parameter/GaussianDiagParameter.h description
3  copyright : (C) MIXMOD Team - 2001-2016
4  email : contact@mixmod.org
5  ***************************************************************************/
6 
7 /***************************************************************************
8  This file is part of MIXMOD
9 
10  MIXMOD is free software: you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14 
15  MIXMOD is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License
21  along with MIXMOD. If not, see <http://www.gnu.org/licenses/>.
22 
23  All informations available on : http://www.mixmod.org
24 ***************************************************************************/
25 #ifndef XEMGaussianDiagParameter_H
26 #define XEMGaussianDiagParameter_H
27 
28 #include "mixmod/Kernel/Parameter/GaussianEDDAParameter.h"
29 
30 namespace XEM {
31 
32 // pre-declaration
33 class DiagMatrix;
34 
41 
42 public:
43 
46 
48  // called by XEMModel
49  GaussianDiagParameter(Model * iModel, ModelType * iModelType);
50 
52  GaussianDiagParameter(const GaussianDiagParameter * iParameter);
53 
55  virtual ~GaussianDiagParameter();
56 
58  virtual void reset();
59 
63  Parameter * clone() const;
64 
66  void initUSER(Parameter * iParam);
67 
69  // NB : compute also lambda, shpae, orientation, wk, w
70  void computeTabSigma();
71 
72 
73  // SELECTORS
74  // ------ / -------- //
75 
76  double * getTabLambda() const;
77 
78  //double ** getTabShape();
79  DiagMatrix** getTabShape() const;
80 
81  double getLogLikelihoodOne() const;
82 
83  int64_t getFreeParameter() const;
84 
85 protected:
86 
88  double * _tabLambda; // Volume
89 
90  //double ** _tabShape;
91  DiagMatrix** _tabShape;
92 };
93 
94 inline double * GaussianDiagParameter::getTabLambda() const {
95  return _tabLambda;
96 }
97 
98 inline DiagMatrix** GaussianDiagParameter::getTabShape() const {
99  return _tabShape;
100 }
101 
102 }
103 
104 #endif
class XEMDiagMatrix
Definition: DiagMatrix.h:40
Base class for ModelType(s)
Definition: ModelType.h:37
GaussianDiagParameter()
Default constructor.
Definition: GaussianDiagParameter.cpp:41
double getLogLikelihoodOne() const
get loglikelihood with one cluster
Definition: GaussianDiagParameter.cpp:310
int64_t getFreeParameter() const
Selector.
Definition: GaussianDiagParameter.cpp:385
virtual ~GaussianDiagParameter()
Destructor.
Definition: GaussianDiagParameter.cpp:97
virtual void reset()
reset to default values
Definition: GaussianDiagParameter.cpp:132
Definition: Model.h:50
Derived class of XEMGaussianParameter for EDDA Gaussian Model(s)
Definition: GaussianEDDAParameter.h:39
void initUSER(Parameter *iParam)
initialisation USER
Definition: GaussianDiagParameter.cpp:152
Parameter * clone() const
Selector.
Definition: GaussianDiagParameter.cpp:144
Derived class of XEMGaussianParameter for Spherical Gaussian Model(s)
Definition: GaussianDiagParameter.h:40
Base class for XEMParameter(s)
Definition: Parameter.h:45
void computeTabSigma()
Compute table of sigmas of the samples of each cluster.
Definition: GaussianDiagParameter.cpp:160