打开slicer中的自带Python交互器。可以通过,菜单栏“View”中的“Python Interactor”打开,也可以直接点击工具栏中的Python图标。
如何利用Python脚本做些有趣的事
编辑代码,按回车运行。
>>> import qt
>>> button = qt.QPushButton("Test Button")
Slicer中会创建一个窗口并添加一个Button控件在上面,试试点击这个Button。
添加一个鼠标指向Button时的提示语
>>> import qt
>>> button = qt.QPushButton("Test Button")
>>> button.show()
>>> button.toolTip = "This is a Button!"
>>> button.show()
添加一个ComBox控件。
>>> comboBox = qt.QComboBox()
>>> comboBox.show()
这似乎什么也没有。
改一改,向ComBox中添加项目:
>>> comboBox = qt.QComboBox()
>>> comboBox.show()
>>> comboBox.addItem("first")
>>> comboBox.addItem("second")
>>> comboBox.addItem("third")
>>> comboBox.show()
这下有了。
在交互器中添加脚本代码除了能生成一些控件外还能做一些简单的数据处理。
>>> import SampleData
>>> import numpy as np
>>> volumeNode = SampleData.SampleDataLogic().downloadMRHead()
>>> histogram = np.histogram(arrayFromVolume(volumeNode),bins=50)
>>> chartNode = slicer.util.plot(histogram,xColumnIndex = 1)
>>> chartNode.SetYAxisRangeAuto(False)
>>> chartNode.SetYAxisRange(0,4e5)
处理效果如下图所示:
总结一下:3DSlicer中自带了Python交互器可以方便研发人员进行简单的测试,但不推荐使用此交互器做插件开发,因为测试者一旦关闭slicer,下面的脚本代码就会自动清空,您所生成的控件也将不复存在。