Vespucci  1.0.0
multianalyzer.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 MULTIANALYZER_H
21 #define MULTIANALYZER_H
24 
25 using namespace std;
26 using namespace arma;
34 {
35 public:
36  MultiAnalyzer(QSharedPointer<VespucciWorkspace> workspace, QStringList dataset_keys);
37  ~MultiAnalyzer();
38  void SNVNormalize(double offset);
39  void QUIC_SVD(double epsilon);
40  void SVDDenoise(uword k);
41 private:
42  bool CheckMergability(const QStringList dataset_keys);
43  void GetDatasets(QStringList keys);
44  bool ConcatenateSpectra(QStringList dataset_keys);
45  void GetData();
46  void AddAnalysisResults(QSharedPointer<AnalysisResults> results, QStringList matrices);
47  QString FindUniqueName(QString name);
48 
52  uvec start_indices_;
56  uvec end_indices_;
57 
58  QVector<QSharedPointer<VespucciDataset> > datasets_;
59  QStringList dataset_keys_;
60 };
61 
62 #endif // MULTIANALYZER_H
The MultiAnalyzer class This class handles the execution of multivariate analysis across multiple dat...
Definition: multianalyzer.h:33
VESPUCCI_EXPORT arma::mat SVDDenoise(const arma::mat &X, arma::uword k, arma::mat &U, arma::vec &s, arma::mat &V)
Definition: denoise.cpp:22
The MetaAnalyzer class This class is used to perform analysis on "pseudo-datasets". This allows us perform analysis on a concatentated spectra matrix from multiple datasets (the MultiAnalyzer derived class) or on a single matrix in a single dataset (the MatrixAnalyzer derived class). This class is not concerned with how the data_ and abscissa_ members are initialized (this is handled by GetData in derived classes).
Definition: metaanalyzer.h:33