diff --git a/SlicerCART/src/SlicerCART.py b/SlicerCART/src/SlicerCART.py index 124080c..04b58cf 100644 --- a/SlicerCART/src/SlicerCART.py +++ b/SlicerCART/src/SlicerCART.py @@ -525,6 +525,17 @@ def __init__(self, segmenter, conf_folder_path = None, edit_conf = False, parent mouse_shortcuts_hbox.addWidget(self.mouse_shortcuts_checkbox) layout.addLayout(mouse_shortcuts_hbox) + + display_timer_hbox = qt.QHBoxLayout() + + display_timer_label = qt.QLabel('Display timer during segmentation? ') + display_timer_label.setStyleSheet("font-weight: bold") + display_timer_hbox.addWidget(display_timer_label) + + self.display_timer_checkbox = qt.QCheckBox() + display_timer_hbox.addWidget(self.display_timer_checkbox) + + layout.addLayout(display_timer_hbox) self.configure_labels_button = qt.QPushButton('Configure Labels...') self.configure_labels_button.setStyleSheet("background-color : yellowgreen") @@ -543,7 +554,6 @@ def __init__(self, segmenter, conf_folder_path = None, edit_conf = False, parent self.cancel_button = qt.QPushButton('Cancel') layout.addWidget(self.cancel_button) - self.populate_default_values() self.connect_buttons_to_callbacks() if self.edit_conf: @@ -597,6 +607,8 @@ def populate_default_values(self): else: self.include_semi_automatic_PHE_tool_combobox.setCurrentIndex(1) + if self.display_timer_selected: + self.display_timer_checkbox.setChecked(True) if self.modality_selected == 'CT': self.ct_modality_radio_button.setChecked(True) @@ -628,13 +640,15 @@ def populate_default_values(self): self.keyboard_shortcuts_checkbox.setChecked(self.keyboard_shortcuts_selected) self.segmentation_checkbox_state_changed() - self.keyboard_shortcuts_checkbox_state_changed() + self.keyboard_shortcuts_checkbox_state_changed() def set_default_values(self): self.segmentation_selected = self.general_config_yaml['is_segmentation_requested'] self.classification_selected = self.general_config_yaml['is_classification_requested'] self.mouse_shortcuts_selected = self.general_config_yaml['is_mouse_shortcuts_requested'] self.keyboard_shortcuts_selected = self.general_config_yaml['is_keyboard_shortcuts_requested'] + self.display_timer_selected = self.general_config_yaml['is_display_timer_requested'] + if self.general_config_yaml['is_semi_automatic_phe_tool_requested']: self.include_semi_auto_PHE_tool_selected_option = 'Yes' @@ -782,6 +796,7 @@ def push_apply(self): self.general_config_yaml['is_mouse_shortcuts_requested'] = self.mouse_shortcuts_checkbox.isChecked() self.general_config_yaml['is_keyboard_shortcuts_requested'] = self.keyboard_shortcuts_checkbox.isChecked() self.general_config_yaml['modality'] = self.modality_selected + self.general_config_yaml['is_display_timer_requested'] = self.display_timer_checkbox.isChecked() if self.include_semi_auto_PHE_tool_selected_option == 'Yes': self.general_config_yaml['is_semi_automatic_phe_tool_requested'] = True @@ -2247,6 +2262,9 @@ def __init__(self, parent=None): # ----- ANW Addition ----- : Initialize called var to False so the timer only stops once self.called = False self.called_onLoadSegmentation = False + + with open(GENERAL_CONFIG_FILE_PATH, 'r') as file: + self.general_config_yaml = yaml.full_load(file) def get_keyboard_shortcuts_config_values(self): with open(KEYBOARD_SHORTCUTS_CONFIG_FILE_PATH, 'r') as file: @@ -2394,7 +2412,8 @@ def setup(self): self.ui.pushButton_ToggleFill.setStyleSheet("background-color : indianred") self.ui.pushButton_ToggleVisibility.setStyleSheet("background-color : yellowgreen") - self.ui.lcdNumber.setStyleSheet("background-color : black") + + self.MostRecentPausedCasePath = "" @@ -2472,6 +2491,12 @@ def setup_configuration(self): callback = getattr(self, callback_name) self.connectShortcut(shortcutKey, button, callback) + + if self.general_config_yaml['is_display_timer_requested']: + self.ui.lcdNumber.setStyleSheet("background-color : black") + else: + self.ui.lcdNumber.setVisible(False) + # Display the selected color view at module startup if self.general_config_yaml['slice_view_color'] == "Yellow": @@ -2580,7 +2605,10 @@ def onEditConfiguration(self): def onSelectVolumesFolderButton(self): self.CurrentFolder= qt.QFileDialog.getExistingDirectory(None,"Open a folder", self.DefaultDir, qt.QFileDialog.ShowDirsOnly) - + + if not self.CurrentFolder: + return + file_structure_valid = True if REQUIRE_VOLUME_DATA_HIERARCHY_BIDS_FORMAT == True: file_structure_valid = self.validateBIDS(self.CurrentFolder) diff --git a/SlicerCART/src/general_config.yml b/SlicerCART/src/general_config.yml index b50879f..77fe992 100644 --- a/SlicerCART/src/general_config.yml +++ b/SlicerCART/src/general_config.yml @@ -6,9 +6,10 @@ impose_bids_format: false input_filetype: '*.nii.gz' interpolate_value: 1 is_classification_requested: true +is_display_timer_requested: false is_keyboard_shortcuts_requested: true is_mouse_shortcuts_requested: false -is_segmentation_requested: false +is_segmentation_requested: true is_semi_automatic_phe_tool_requested: true modality: CT slice_view_color: Red