Vespucci  1.0.0
dimensionreduction.h
Go to the documentation of this file.
1 /*******************************************************************************
2  Copyright (C) 2014-2016 Wright State University - All Rights Reserved
3  Daniel P. Foose - Maintainer/Lead Developer
4 
5  This file is part of Vespucci.
6 
7  Vespucci 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 3 of the License, or
10  (at your option) any later version.
11 
12  Vespucci 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 Vespucci. If not, see <http://www.gnu.org/licenses/>.
19 *******************************************************************************/
20 #ifndef DIMENSION_REDUCTION_H
21 #define DIMENSION_REDUCTION_H
22 #if !defined( SWIG )
23  // SWIG should not see #inlcude<armadillo> as it can not handle it
24  #include <mlpack/core.hpp>
25  #include "Global/libvespucci.h"
26 #endif
27 namespace Vespucci
28 {
29  namespace Math
30  {
35  namespace DimensionReduction
36  {
37  VESPUCCI_EXPORT bool plsregress(arma::mat X,
38  arma::mat Y,
39  int components,
40  arma::mat &X_loadings,
41  arma::mat &Y_loadings,
42  arma::mat &X_scores,
43  arma::mat &Y_scores,
44  arma::mat &coefficients,
45  arma::mat &percent_variance,
46  arma::mat &fitted);
47  VESPUCCI_EXPORT bool VCA(const arma::mat &R,
48  arma::uword p,
49  arma::uvec &indices,
50  arma::mat &endmember_spectra,
51  arma::mat &projected_data,
52  arma::mat &fractional_abundances);
53  VESPUCCI_EXPORT double estimate_snr(const arma::mat &R,
54  arma::vec r_m,
55  arma::mat x);
56  VESPUCCI_EXPORT size_t HySime(const arma::mat &y,
57  const arma::mat &n,
58  arma::mat &Rn,
59  arma::mat &Ek);
60  VESPUCCI_EXPORT size_t HySime(const arma::mat &y,
61  arma::mat &subspace);
62  VESPUCCI_EXPORT void EstimateAdditiveNoise(arma::mat &noise,
63  arma::mat &noise_correlation,
64  const arma::mat &sample);
65  VESPUCCI_EXPORT bool svds(const arma::mat &X,
66  arma::uword k,
67  arma::mat &U,
68  arma::vec &s,
69  arma::mat &V);
70  }
71  }
72 }
73 #endif //DIMENSION_REDUCTION_H
VESPUCCI_EXPORT bool svds(const arma::mat &X, arma::uword k, arma::mat &U, arma::vec &s, arma::mat &V)
Vespucci::Math::DimensionReduction::svds Finds a few largest singular values of the arma::matrix X...
Definition: svds.cpp:24
VESPUCCI_EXPORT bool VCA(const arma::mat &R, arma::uword p, arma::uvec &indices, arma::mat &endmember_spectra, arma::mat &projected_data, arma::mat &fractional_abundances)
Vespucci::Math::DimensionReduction::VCA Vertex Component Analysis.
Definition: VCA.cpp:36
VESPUCCI_EXPORT double estimate_snr(const arma::mat &R, arma::vec r_m, arma::mat x)
Vespucci::Math Estimates Signal-to-Noise ratio. .
Definition: VCA.cpp:136
VESPUCCI_EXPORT size_t HySime(const arma::mat &y, const arma::mat &n, arma::mat &Rn, arma::mat &Ek)
Vespucci::Math::DimensionReduction::HySime.
Definition: VCA.cpp:159
VESPUCCI_EXPORT bool plsregress(arma::mat X, arma::mat Y, int components, arma::mat &X_loadings, arma::mat &Y_loadings, arma::mat &X_scores, arma::mat &Y_scores, arma::mat &coefficients, arma::mat &percent_variance, arma::mat &fitted)
Vespucci::MathDimensionReduction::plsregress PLS Regression Using SIMPLS algorithm. This is essentially a line-for-line rewrite of plsregress from the Octave statistics package. Copyright (C) 2012 Fernando Damian Nieuwveldt fdnieuwveldt@gmail.com This is an implementation of the SIMPLS algorithm: Reference: SIMPLS: An alternative approach to partial least squares regression. Chemometrics and Intelligent Laboratory Systems (1993)
Definition: pls.cpp:43
#define VESPUCCI_EXPORT
Definition: libvespucci.h:7
VESPUCCI_EXPORT void EstimateAdditiveNoise(arma::mat &noise, arma::mat &noise_correlation, const arma::mat &sample)
Vespucci::Math::DimensionReduction::EstimateAdditiveNoise.
Definition: VCA.cpp:216
A namespace for "global" functions, including math functions.