Skip to content

Commit f87ebe3

Browse files
committed
New UI for shape/scalar stuff.
1 parent 71a99a1 commit f87ebe3

File tree

2 files changed

+74
-24
lines changed

2 files changed

+74
-24
lines changed

Studio/Analysis/AnalysisTool.cpp

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,15 @@ AnalysisTool::AnalysisTool(Preferences& prefs) : preferences_(prefs) {
105105
connect(ui_->mcaLevelBetweenButton, &QPushButton::clicked, this, &AnalysisTool::pca_update);
106106
connect(ui_->mcaLevelWithinButton, &QPushButton::clicked, this, &AnalysisTool::pca_update);
107107
connect(ui_->vanillaPCAButton, &QPushButton::clicked, this, &AnalysisTool::pca_update);
108-
connect(ui_->pca_shape_checkbox, &QCheckBox::clicked, this, &AnalysisTool::change_pca_analysis_type);
109-
connect(ui_->pca_scalar_checkbox, &QCheckBox::clicked, this, &AnalysisTool::change_pca_analysis_type);
108+
109+
// shape/scalar
110+
connect(ui_->pca_scalar_only, &QCheckBox::clicked, this, &AnalysisTool::change_pca_analysis_type);
111+
connect(ui_->pca_scalar_shape_only, &QCheckBox::clicked, this, &AnalysisTool::change_pca_analysis_type);
112+
connect(ui_->pca_shape_and_scalar, &QCheckBox::clicked, this, &AnalysisTool::change_pca_analysis_type);
110113
connect(ui_->pca_scalar_combo, qOverload<int>(&QComboBox::currentIndexChanged), this,
111114
&AnalysisTool::change_pca_analysis_type);
115+
connect(ui_->pca_predict_scalar, &QCheckBox::clicked, this, &AnalysisTool::change_pca_analysis_type);
116+
connect(ui_->pca_predict_shape, &QCheckBox::clicked, this, &AnalysisTool::change_pca_analysis_type);
112117

113118
// group animation
114119
connect(ui_->group_animate_checkbox, &QCheckBox::stateChanged, this,
@@ -495,6 +500,7 @@ bool AnalysisTool::compute_stats() {
495500
if (pca_shape_only_mode()) {
496501
particles = shape->get_global_correspondence_points();
497502
} else if (pca_scalar_only_mode()) {
503+
stats_.set_num_values_per_particle(1);
498504
particles = shape->get_point_features(ui_->pca_scalar_combo->currentText().toStdString());
499505
} else {
500506
stats_.set_num_values_per_particle(4);
@@ -903,18 +909,17 @@ AnalysisTool::GroupAnalysisType AnalysisTool::get_group_analysis_type() {
903909

904910
//---------------------------------------------------------------------------
905911
bool AnalysisTool::pca_scalar_only_mode() {
906-
return ui_->pca_scalar_checkbox->isChecked() && !ui_->pca_shape_checkbox->isChecked();
912+
return ui_->pca_scalar_only->isChecked();
907913
}
908914

909915
//---------------------------------------------------------------------------
910916
bool AnalysisTool::pca_shape_plus_scalar_mode() {
911-
return ui_->pca_scalar_checkbox->isChecked() && ui_->pca_shape_checkbox->isChecked();
917+
return ui_->pca_shape_and_scalar->isChecked();
912918
}
913919

914920
//---------------------------------------------------------------------------
915921
bool AnalysisTool::pca_shape_only_mode() {
916-
// default
917-
return !pca_scalar_only_mode() && !pca_shape_plus_scalar_mode();
922+
return ui_->pca_scalar_shape_only->isChecked();
918923
}
919924

920925
//---------------------------------------------------------------------------
@@ -1239,13 +1244,12 @@ ShapeHandle AnalysisTool::create_shape_from_points(Particles points) {
12391244
shape->set_reconstruction_transforms(reconstruction_transforms_);
12401245

12411246
if (feature_map_ != "") {
1242-
//auto scalars = ShapeScalarJob::predict_scalars(session_, QString::fromStdString(feature_map_),
1243-
// points.get_combined_global_particles());
1247+
// auto scalars = ShapeScalarJob::predict_scalars(session_, QString::fromStdString(feature_map_),
1248+
// points.get_combined_global_particles());
12441249

1245-
//shape->set_point_features(feature_map_, scalars);
1250+
// shape->set_point_features(feature_map_, scalars);
12461251

12471252
shape->set_point_features(feature_map_, temp_scalars_);
1248-
12491253
}
12501254
return shape;
12511255
}
@@ -1721,12 +1725,6 @@ void AnalysisTool::group_analysis_combo_changed() {
17211725

17221726
//---------------------------------------------------------------------------
17231727
void AnalysisTool::change_pca_analysis_type() {
1724-
if (ui_->pca_scalar_checkbox->isChecked()) {
1725-
ui_->pca_scalar_combo->setEnabled(true);
1726-
} else {
1727-
ui_->pca_scalar_combo->setEnabled(false);
1728-
}
1729-
17301728
stats_ready_ = false;
17311729
evals_ready_ = false;
17321730
stats_ = ParticleShapeStatistics();

Studio/Analysis/AnalysisTool.ui

Lines changed: 60 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1384,25 +1384,77 @@ QWidget#particles_panel {
13841384
<property name="bottomMargin">
13851385
<number>0</number>
13861386
</property>
1387-
<item row="0" column="0">
1388-
<widget class="QCheckBox" name="pca_shape_checkbox">
1387+
<item row="2" column="0">
1388+
<widget class="QRadioButton" name="pca_scalar_only">
1389+
<property name="toolTip">
1390+
<string>Multi-Level Component Analysis - Modes of variation highlighting only morphological changes in shape subspace.</string>
1391+
</property>
13891392
<property name="text">
1390-
<string>Shape</string>
1393+
<string>Scalar Only</string>
13911394
</property>
1392-
<property name="checked">
1395+
<property name="checkable">
13931396
<bool>true</bool>
13941397
</property>
1398+
<property name="checked">
1399+
<bool>false</bool>
1400+
</property>
13951401
</widget>
13961402
</item>
13971403
<item row="0" column="1">
1398-
<widget class="QCheckBox" name="pca_scalar_checkbox">
1404+
<widget class="QComboBox" name="pca_scalar_combo"/>
1405+
</item>
1406+
<item row="1" column="0">
1407+
<widget class="QRadioButton" name="pca_scalar_shape_only">
1408+
<property name="toolTip">
1409+
<string>Multi-Level Component Analysis - Modes of variation highlighting only morphological changes in shape subspace.</string>
1410+
</property>
13991411
<property name="text">
1400-
<string>Scalar</string>
1412+
<string>Shape Only</string>
1413+
</property>
1414+
<property name="checkable">
1415+
<bool>true</bool>
1416+
</property>
1417+
<property name="checked">
1418+
<bool>true</bool>
14011419
</property>
14021420
</widget>
14031421
</item>
1404-
<item row="0" column="2">
1405-
<widget class="QComboBox" name="pca_scalar_combo"/>
1422+
<item row="3" column="0">
1423+
<widget class="QRadioButton" name="pca_shape_and_scalar">
1424+
<property name="toolTip">
1425+
<string>Multi-Level Component Analysis - Modes of variation highlighting only morphological changes in shape subspace.</string>
1426+
</property>
1427+
<property name="text">
1428+
<string>Shape and Scalar</string>
1429+
</property>
1430+
<property name="checkable">
1431+
<bool>true</bool>
1432+
</property>
1433+
<property name="checked">
1434+
<bool>false</bool>
1435+
</property>
1436+
</widget>
1437+
</item>
1438+
<item row="0" column="0">
1439+
<widget class="QLabel" name="label_7">
1440+
<property name="text">
1441+
<string>Scalar:</string>
1442+
</property>
1443+
</widget>
1444+
</item>
1445+
<item row="1" column="1">
1446+
<widget class="QCheckBox" name="pca_predict_scalar">
1447+
<property name="text">
1448+
<string>Predict scalar</string>
1449+
</property>
1450+
</widget>
1451+
</item>
1452+
<item row="2" column="1">
1453+
<widget class="QCheckBox" name="pca_predict_shape">
1454+
<property name="text">
1455+
<string>Predict shape</string>
1456+
</property>
1457+
</widget>
14061458
</item>
14071459
</layout>
14081460
</widget>

0 commit comments

Comments
 (0)