Xmipp  v3.23.11-Nereus
matrix_dimred.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Authors: AUTHOR_NAME Carlos Oscar Sorzano (coss@cnb.csic.es)
3  *
4  *
5  * Unidad de Bioinformatica of Centro Nacional de Biotecnologia , CSIC
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
20  * 02111-1307 USA
21  *
22  * All comments concerning this program package may be sent to the
23  * e-mail address 'xmipp@cnb.csic.es'
24  ***************************************************************************/
25 
26 #ifndef _MATRIX_DIMRED
27 #define _MATRIX_DIMRED
28 
29 #include <core/xmipp_program.h>
30 #include "pca.h"
31 #include "npe.h"
32 #include "spe.h"
33 #include "lpp.h"
34 #include "ltsa.h"
35 #include "gplvm.h"
36 #include "lltsa.h"
37 #include "kernelPCA.h"
38 #include "hessianLLE.h"
39 #include "diffusionMaps.h"
40 #include "probabilisticPCA.h"
41 #include "laplacianEigenmaps.h"
42 
47 class ProgDimRed: public XmippProgram
48 {
49 public:
57  int outputDim;
61  int kNN; // Number of nearest neighbors
62  int Niter; // Number of iterations
63  double t; // Markov random walk
64  double sigma; // Sigma of kernel
65  bool global; // Global for SPE
66 public:
67  Matrix2D<double> X; // Input data
80 public:
82  ProgDimRed();
83 
85  virtual void readParams();
86 
88  virtual void show();
89 
91  virtual void defineParams();
92 
94  virtual void produceSideInfo();
95 
97  void estimateDimension();
98 };
99 
102 {
103 public:
104  int inputDim, Nsamples;
105 public:
107  void readParams();
108 
110  void show();
111 
113  void defineParams();
114 
116  void produceSideInfo();
117 
119  void run();
120 };
122 #endif
Definition: npe.h:34
Definition: spe.h:37
DiffusionMaps algorithmDiffusionMaps
Definition: matrix_dimred.h:71
virtual void produceSideInfo()
Produce side info.
ProgDimRed()
Empty constructor.
NPE algorithmNPE
Definition: matrix_dimred.h:78
KernelPCA algorithmKernelPCA
Definition: matrix_dimred.h:74
String dimEstMethod
Definition: matrix_dimred.h:59
DimRedAlgorithm * algorithm
Definition: matrix_dimred.h:68
FileName fnIn
Definition: matrix_dimred.h:51
Definition: pca.h:34
LTSA algorithmLTSA
Definition: matrix_dimred.h:70
virtual void readParams()
Read argument from command line.
void estimateDimension()
Estimate dimensionality.
LaplacianEigenmap algorithmLaplacianEigenmap
Definition: matrix_dimred.h:76
virtual void run()
SPE algorithmSPE
Definition: matrix_dimred.h:79
LLTSA algorithmLLTSA
Definition: matrix_dimred.h:72
virtual void defineParams()
Define parameters.
ProbabilisticPCA algorithmProbabilisticPCA
Definition: matrix_dimred.h:75
double sigma
Definition: matrix_dimred.h:64
Definition: lpp.h:37
Matrix2D< double > X
Definition: matrix_dimred.h:67
virtual void show()
Show.
std::string String
Definition: xmipp_strings.h:34
PCA algorithmPCA
Definition: matrix_dimred.h:69
FileName fnMapping
Definition: matrix_dimred.h:55
LPP algorithmLPP
Definition: matrix_dimred.h:73
Definition: lltsa.h:37
FileName fnOut
Definition: matrix_dimred.h:53
String dimRefMethod
Definition: matrix_dimred.h:59
HessianLLE algorithmHessianLLE
Definition: matrix_dimred.h:77
Definition: ltsa.h:36