21 #include "ui_multianalysisdialog.h" 37 ui->datasetListWidget->addItems(workspace_->dataset_names());
45 void MultiAnalysisDialog::on_buttonBox_accepted()
47 QList<QListWidgetItem*> selected_items = ui->datasetListWidget->selectedItems();
48 QStringList dataset_keys;
49 for (
auto item: selected_items) dataset_keys.append(item->text());
50 QString analysis_description = ui->typeComboBox->currentText();
51 QSharedPointer<MultiAnalyzer> analyzer(
new MultiAnalyzer(workspace_, dataset_keys));
54 if (analysis_description ==
"Univariate Analysis"){
56 dialog->setAttribute(Qt::WA_DeleteOnClose);
59 else if (analysis_description ==
"Band Ratio Analysis"){
61 dialog->setAttribute(Qt::WA_DeleteOnClose);
64 else if (analysis_description ==
"Principal Component Analysis"){
66 dialog->setAttribute(Qt::WA_DeleteOnClose);
69 else if (analysis_description ==
"Principal Component Analysis (mlpack)"){
71 dialog->setAttribute(Qt::WA_DeleteOnClose);
74 else if (analysis_description ==
"Vertex Component Analysis"){
76 dialog->setAttribute(Qt::WA_DeleteOnClose);
79 else if (analysis_description ==
"Partial Least Squares (Classification)"){
81 dialog->setAttribute(Qt::WA_DeleteOnClose);
84 else if (analysis_description ==
"k-Means Clustering"){
86 dialog->setAttribute(Qt::WA_DeleteOnClose);
89 else if (analysis_description ==
"Hierarchical Clustering"){
91 dialog->setAttribute(Qt::WA_DeleteOnClose);
94 else if (analysis_description ==
"SNV Normalization"){
96 double offset = QInputDialog::getDouble(
this,
"Enter Offset",
"Offset",
97 0, -2147483647, 2147483647, 4, &ok);
100 analyzer->SNVNormalize(offset);
103 else if (analysis_description ==
"QUIC-SVD Denoise"){
105 double epsilon = QInputDialog::getDouble(
this,
"Enter Error Tolerance Fraction",
106 "Fraction", 0.03, 0.00001, 0.99999, 4, &ok);
108 analyzer->QUIC_SVD(epsilon);
112 workspace_->main_window()->DisplayExceptionWarning(e);
The MultiAnalyzer class This class handles the execution of multivariate analysis across multiple dat...
The BandRatioDialog class The dialog that allows the user to create a band-ratio map.
MultiAnalysisDialog(QWidget *parent, QSharedPointer< VespucciWorkspace > ws)
The PLSDialog class Dialog that allows the user to perform PLS determinant analysis.
The UnivariateDialog class Class allowing user to create univariate images.
The PrincipalComponentsDialog class Dialog for performing principal components analysis.
The KMeansDialog class Allows the user to create a k-means clustering map.
The VCADialog class A dialog that allows the user to perform vertex components analysis.