Esempio n. 1
0
    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