Skip to content

Commit b1ad5a1

Browse files
more studio support
1 parent f01a615 commit b1ad5a1

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

Studio/Optimize/OptimizeTool.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ OptimizeTool::OptimizeTool(Preferences& prefs, Telemetry& telemetry) : preferenc
3333
connect(ui_->use_normals, &QCheckBox::toggled, this, &OptimizeTool::update_ui_elements);
3434
connect(ui_->procrustes, &QCheckBox::toggled, this, &OptimizeTool::update_ui_elements);
3535
connect(ui_->multiscale, &QCheckBox::toggled, this, &OptimizeTool::update_ui_elements);
36+
connect(ui_->use_linear_regression, &QCheckBox::toggled, this, &OptimizeTool::update_ui_elements);
3637
connect(ui_->use_geodesics_from_landmarks, &QCheckBox::toggled, this, &OptimizeTool::update_ui_elements);
3738
connect(ui_->use_geodesic_distance, &QCheckBox::toggled, this, &OptimizeTool::update_ui_elements);
3839

@@ -63,7 +64,7 @@ OptimizeTool::OptimizeTool(Preferences& prefs, Telemetry& telemetry) : preferenc
6364
"It has no effect on the optimization");
6465
ui_->use_disentangled_ssm->setToolTip("Use the disentangled optimization technique to build spatiotemporal SSM.");
6566
ui_->use_linear_regression->setToolTip("Use the linear regression optimization technique, where correspondence particle optimization is performed by regressing shape against an explanatory variable. Ensure that the explanatory variable is specified in the data tab of the project file.");
66-
67+
ui_->time_points_per_subject->setToolTip("Number of timepoints/explanatory variables defined for each subject in the data tab. Note: More than 1 timepoint uses a mixed effects model; 1 timepoint uses linear regression. ");
6768

6869

6970
// hidden for 6.5 release
@@ -72,6 +73,8 @@ OptimizeTool::OptimizeTool(Preferences& prefs, Telemetry& telemetry) : preferenc
7273

7374
QIntValidator* above_zero = new QIntValidator(1, std::numeric_limits<int>::max(), this);
7475
QIntValidator* zero_and_up = new QIntValidator(0, std::numeric_limits<int>::max(), this);
76+
QIntValidator* one_and_up = new QIntValidator(1, std::numeric_limits<int>::max(), this);
77+
7578

7679
QDoubleValidator* double_validator = new QDoubleValidator(0, std::numeric_limits<double>::max(), 1000, this);
7780

@@ -87,6 +90,7 @@ OptimizeTool::OptimizeTool(Preferences& prefs, Telemetry& telemetry) : preferenc
8790
ui_->multiscale_particles->setValidator(above_zero);
8891
ui_->narrow_band->setValidator(double_validator);
8992
ui_->geodesics_to_landmarks_weight->setValidator(double_validator);
93+
ui_->time_points_per_subject->setValidator(one_and_up);
9094

9195
line_edits_.push_back(ui_->number_of_particles);
9296
line_edits_.push_back(ui_->initial_relative_weighting);
@@ -100,6 +104,7 @@ OptimizeTool::OptimizeTool(Preferences& prefs, Telemetry& telemetry) : preferenc
100104
line_edits_.push_back(ui_->multiscale_particles);
101105
line_edits_.push_back(ui_->geodesics_to_landmarks_weight);
102106
line_edits_.push_back(ui_->narrow_band);
107+
line_edits_.push_back(ui_->time_points_per_subject);
103108

104109
for (QLineEdit* line_edit : line_edits_) {
105110
connect(line_edit, &QLineEdit::textChanged, this, &OptimizeTool::update_run_button);
@@ -273,8 +278,9 @@ void OptimizeTool::load_params() {
273278
ui_->use_geodesics_from_landmarks->setChecked(params.get_use_geodesics_to_landmarks());
274279
ui_->geodesics_to_landmarks_weight->setText(QString::number(params.get_geodesic_to_landmarks_weight()));
275280
ui_->use_disentangled_ssm->setChecked(params.get_use_disentangled_ssm());
276-
ui_->use_linear_regression->setChecked(params.get_use_linear_regression());
277281

282+
ui_->use_linear_regression->setChecked(params.get_use_linear_regression());
283+
ui_->time_points_per_subject->setText(QString::number(params.get_time_points_per_subject()));
278284

279285
ui_->procrustes->setChecked(params.get_use_procrustes());
280286
ui_->procrustes_scaling->setChecked(params.get_use_procrustes_scaling());
@@ -322,6 +328,7 @@ void OptimizeTool::store_params() {
322328
params.set_geodesic_to_landmarks_weight(ui_->geodesics_to_landmarks_weight->text().toDouble());
323329
params.set_use_disentangled_ssm(ui_->use_disentangled_ssm->isChecked());
324330
params.set_use_linear_regression(ui_->use_linear_regression->isChecked());
331+
params.set_time_points_per_subject(ui_->time_points_per_subject->text().toDouble());
325332

326333
params.set_use_procrustes(ui_->procrustes->isChecked());
327334
params.set_use_procrustes_scaling(ui_->procrustes_scaling->isChecked());
@@ -368,6 +375,7 @@ void OptimizeTool::update_ui_elements() {
368375
ui_->procrustes_rotation_translation->setEnabled(ui_->procrustes->isChecked());
369376
ui_->procrustes_interval->setEnabled(ui_->procrustes->isChecked());
370377
ui_->multiscale_particles->setEnabled(ui_->multiscale->isChecked());
378+
ui_->time_points_per_subject->setEnabled(ui_->use_linear_regression->isChecked());
371379
ui_->geodesics_to_landmarks_weight->setEnabled(ui_->use_geodesics_from_landmarks->isChecked());
372380
ui_->geodesic_remesh_percent->setEnabled(ui_->use_geodesic_distance->isChecked());
373381
}

Studio/Optimize/OptimizeTool.ui

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,13 @@ QWidget#optimize_panel {
439439
</property>
440440
</widget>
441441
</item>
442+
<item row="23" column="0">
443+
<widget class="QLabel" name="label_time_points">
444+
<property name="text">
445+
<string>Timepoints defined per subject</string>
446+
</property>
447+
</widget>
448+
</item>
442449
<item row="12" column="2">
443450
<widget class="QLineEdit" name="geodesics_to_landmarks_weight">
444451
<property name="text">
@@ -500,6 +507,16 @@ QWidget#optimize_panel {
500507
</property>
501508
</widget>
502509
</item>
510+
<item row="23" column="2">
511+
<widget class="QLineEdit" name="time_points_per_subject">
512+
<property name="text">
513+
<string>1</string>
514+
</property>
515+
<property name="alignment">
516+
<set>Qt::AlignCenter</set>
517+
</property>
518+
</widget>
519+
</item>
503520
<item row="20" column="0">
504521
<widget class="QLabel" name="label_24">
505522
<property name="text">
@@ -1207,6 +1224,7 @@ QWidget#optimize_panel {
12071224
<tabstop>narrow_band</tabstop>
12081225
<tabstop>use_disentangled_ssm</tabstop>
12091226
<tabstop>use_linear_regression</tabstop>
1227+
<tabstop>time_points_per_subject</tabstop>
12101228

12111229
</tabstops>
12121230
<resources>

0 commit comments

Comments
 (0)