Vespucci  1.0.0
abstractdataanalyzer.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 ABSTRACTDATAANALYZER_H
21 #define ABSTRACTDATAANALYZER_H
22 
23 #include <QString>
24 #include <QStringList>
25 #include <mlpack/core.hpp>
30 {
31 public:
32  virtual ~AbstractDataAnalyzer();
33  virtual void Univariate(const QString &name,
34  double &left_bound,
35  double &right_bound,
36  arma::uword bound_window) = 0;
37  virtual void FitPeak(const QString &name,
38  const QString &peak_shape,
39  double &left_bound,
40  double &right_bound) = 0;
41  virtual void BandRatio(const QString &name,
42  double &first_left_bound,
43  double &first_right_bound,
44  double &second_left_bound,
45  double &second_right_bound,
46  arma::uword bound_window) = 0;
47  virtual void ClassicalLeastSquares(const QString &name,
48  const QStringList &reference_keys) = 0;
49  virtual void VertexComponents(const QString &name,
50  arma::uword endmembers) = 0;
51  virtual void KMeans(const QString &name,
52  const QString &metric_text,
53  const QString &partition_policy,
54  bool allow_empty,
55  size_t clusters) = 0;
56  virtual void PrincipalComponents(const QString &name) = 0;
57  virtual void PrincipalComponents(const QString &name,
58  bool scale_data) = 0;
59  virtual void PartialLeastSquares(const QString &name,
60  arma::uword components) = 0;
61  virtual void PLSCalibration(const QString &name,
62  const QStringList &control_keys) = 0;
63  virtual void TrainPLSDA(const QString &name,
64  const QStringList &label_keys) = 0;
65  virtual void AgglomerativeClustering(const QString &name,
66  const QString &metric,
67  const QString &linkage) = 0;
68  virtual size_t columns() const = 0;
69  virtual double AbscissaMax() const = 0;
70  virtual double AbscissaMin() const = 0;
71  virtual arma::vec abscissa() const = 0;
72  virtual arma::vec PointSpectrum(arma::uword index) const = 0;
73 };
74 
75 
76 #endif // ABSTRACTDATAANALYZER_H
virtual arma::vec abscissa() const =0
virtual void BandRatio(const QString &name, double &first_left_bound, double &first_right_bound, double &second_left_bound, double &second_right_bound, arma::uword bound_window)=0
virtual void Univariate(const QString &name, double &left_bound, double &right_bound, arma::uword bound_window)=0
virtual size_t columns() const =0
virtual void ClassicalLeastSquares(const QString &name, const QStringList &reference_keys)=0
virtual void PrincipalComponents(const QString &name)=0
The AbstractDataAnalyzer class Pure abstract class describing an object that can be passed as a point...
virtual void VertexComponents(const QString &name, arma::uword endmembers)=0
virtual void FitPeak(const QString &name, const QString &peak_shape, double &left_bound, double &right_bound)=0
virtual void PartialLeastSquares(const QString &name, arma::uword components)=0
virtual void AgglomerativeClustering(const QString &name, const QString &metric, const QString &linkage)=0
virtual double AbscissaMax() const =0
virtual arma::vec PointSpectrum(arma::uword index) const =0
virtual double AbscissaMin() const =0
virtual void KMeans(const QString &name, const QString &metric_text, const QString &partition_policy, bool allow_empty, size_t clusters)=0
virtual void PLSCalibration(const QString &name, const QStringList &control_keys)=0
virtual void TrainPLSDA(const QString &name, const QStringList &label_keys)=0