def refreshUI(self): SlicerUtil.showToolbars(self.isExpertMode) lm = slicer.app.layoutManager() for key in ("Red", "Yellow"): sliceWidget = lm.sliceWidget(key) controller = sliceWidget.sliceController() controller.showLabelOutline(True) controller.visible = self.isExpertMode # Hide DataProbe module dataProbeCollapsibleButton = [ b for b in slicer.util.mainWindow().findChildren( "ctkCollapsibleButton") if b.text == "Data Probe" ][0] dataProbeCollapsibleButton.setVisible(self.isExpertMode) # Link windows compNodes = slicer.util.getNodes("vtkMRMLSliceCompositeNode*") for compNode in compNodes.itervalues(): compNode.SetLinkedControl(True) self.resetButton.visible = self.caseInfoFrame.visible = \ self.editorCollapsibleButton.visible = self.diagnosisCollapsibleButton.visible = \ self.isCaseLoaded or self.isExpertMode if self.isCaseLoaded: self.caseIdLabel.text = "Case Id: " + self.logic.current2DVectorVolume.GetName( ) for button in self.showEnhancementCheckboxGroup.buttons(): button.setEnabled(self.logic.current2DVectorVolume is not None) if self.showEnhancementCheckboxGroup.checkedId() == 0: # Just original. Red Slice only SlicerUtil.changeLayout(6) # Hide enhancement fine tuning controls self.vascularFactorLabel.visible = self.vascularFactorSlider.visible = \ self.enhancementFactorLabel.visible = self.enhancementFactorSlider.visible = \ False elif self.showEnhancementCheckboxGroup.checkedId() == 1: # Original + Enhanced SlicerUtil.changeLayout(29) # Show enhancement fine tuning controls self.vascularFactorLabel.visible = self.vascularFactorSlider.visible = \ self.enhancementFactorLabel.visible = self.enhancementFactorSlider.visible = \ True elif self.showEnhancementCheckboxGroup.checkedId() == 2: # Just enhanced. Yellow Slice SlicerUtil.changeLayout(7) # Show enhancement fine tuning controls self.vascularFactorLabel.visible = self.vascularFactorSlider.visible = \ self.enhancementFactorLabel.visible = self.enhancementFactorSlider.visible = \ True
def enter(self): """This is invoked every time that we select this module as the active module in Slicer (not only the first time)""" self.__setLabelmapOutlines__() SlicerUtil.showToolbars(SlicerUtil.IsDevelopment)