Skip to content

Commit bd163b3

Browse files
committed
Fix problem where Monai tool sets a background image even if the tool is never used.
1 parent 0011ced commit bd163b3

File tree

6 files changed

+18
-2
lines changed

6 files changed

+18
-2
lines changed

Studio/Data/Session.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1092,6 +1092,7 @@ bool Session::set_image_name(std::string image_name) {
10921092
}
10931093
params_.set("image_name", image_name);
10941094
Q_EMIT image_slice_settings_changed();
1095+
Q_EMIT image_name_changed();
10951096
return true;
10961097
}
10971098

Studio/Data/Session.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,7 @@ class Session : public QObject, public QEnableSharedFromThis<Session> {
322322
void annotations_changed();
323323
void save();
324324
void session_title_changed();
325+
void image_name_changed();
325326

326327
public:
327328
// constants

Studio/Interface/ShapeWorksStudioApp.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1006,6 +1006,7 @@ void ShapeWorksStudioApp::new_session() {
10061006
connect(session_.data(), &Session::save, this, &ShapeWorksStudioApp::on_action_save_project_triggered);
10071007
connect(session_.data(), &Session::tool_state_changed, this, &ShapeWorksStudioApp::update_tool_mode);
10081008
connect(session_.data(), &Session::session_title_changed, this, &ShapeWorksStudioApp::update_window_title);
1009+
connect(session_.data(), &Session::image_name_changed, this, &ShapeWorksStudioApp::handle_image_name_changed);
10091010

10101011
connect(ui_->feature_auto_scale, &QCheckBox::toggled, this, &ShapeWorksStudioApp::update_feature_map_scale);
10111012
connect(ui_->feature_auto_scale, &QCheckBox::toggled, session_.data(), &Session::set_feature_auto_scale);
@@ -1103,6 +1104,7 @@ void ShapeWorksStudioApp::update_tool_mode() {
11031104
ui_->stacked_widget->setCurrentWidget(monai_tool_.data());
11041105
ui_->controlsDock->setWindowTitle("MONAI");
11051106
update_display();
1107+
monai_tool_->activate();
11061108
ui_->action_monai_mode->setChecked(true);
11071109
session_->set_display_mode(DisplayMode::Original);
11081110
} else { // DATA
@@ -2112,6 +2114,11 @@ void ShapeWorksStudioApp::image_combo_changed(int index) {
21122114
session_->set_image_name(ui_->image_combo_->itemText(index).toStdString());
21132115
}
21142116

2117+
//---------------------------------------------------------------------------
2118+
void ShapeWorksStudioApp::handle_image_name_changed() {
2119+
ui_->image_combo_->setCurrentText(QString::fromStdString(session_->get_image_name()));
2120+
}
2121+
21152122
//---------------------------------------------------------------------------
21162123
bool ShapeWorksStudioApp::get_feature_uniform_scale() { return session_->get_feature_uniform_scale(); }
21172124

Studio/Interface/ShapeWorksStudioApp.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ class ShapeWorksStudioApp : public QMainWindow {
148148
void update_feature_map_scale();
149149

150150
void image_combo_changed(int index);
151+
void handle_image_name_changed();
151152

152153
void show_splash_screen();
153154
void hide_splash_screen();

Studio/ShapeWorksMONAI/MonaiLabelTool.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,10 @@ void MonaiLabelTool::enable_actions() {
122122
ui_->uploadSampleButton->setEnabled(false);
123123
ui_->runSegmentationButton->setEnabled(false);
124124
ui_->submitLabelButton->setEnabled(false);
125+
}
126+
127+
//---------------------------------------------------------------------------
128+
void MonaiLabelTool::activate() {
125129
std::string feature_name = MonaiLabelUtils::getFeatureName(session_);
126130
if (!feature_name.empty()) {
127131
session_->set_image_name(feature_name);
@@ -134,10 +138,11 @@ void MonaiLabelTool::handleSampleNumberChanged() {
134138
if (monai_label_job_) {
135139
monai_label_job_->setCurrentSampleNumber(getCurrentSampleNumber());
136140
}
137-
if (tool_is_running_)
141+
if (tool_is_running_) {
138142
ui_->uploadSampleButton->setEnabled(true);
139-
else
143+
} else {
140144
ui_->uploadSampleButton->setEnabled(false);
145+
}
141146
ui_->runSegmentationButton->setEnabled(false);
142147
ui_->submitLabelButton->setEnabled(false);
143148
Q_EMIT progress(-1);

Studio/ShapeWorksMONAI/MonaiLabelTool.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ class MonaiLabelTool : public QWidget {
4848
void resizeEvent(QResizeEvent* event) override;
4949
int getCurrentSampleNumber();
5050
void enable_actions();
51+
void activate();
5152

5253
public Q_SLOTS:
5354
void handle_error(QString msg);

0 commit comments

Comments
 (0)