IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Slicer学习笔记(二十一)slicer的python接口说明 -> 正文阅读

[Python知识库]Slicer学习笔记(二十一)slicer的python接口说明

Slicer学习笔记(二十一)slicer的python接口说明

1、python接口

slicer package
Submodules
slicer.ScriptedLoadableModule module
slicer.cli module

此模块是一个占位符,用于实现方便的功能,允许与CLI交互。

slicer.cli.cancel(node)
slicer.cli.createNode(cliModule, parameters=None)

使用可选参数为特定模块创建新的vtkMRMLCommandLineModuleNode

slicer.cli.run(module, node=None, parameters=None, wait_for_completion=False, delete_temporary_files=True, update_display=True)?

Runs a CLI, optionally given a node with optional parameters, returning back the node (or the new one if created) node: existing parameter node (None by default) parameters: dictionary of parameters for cli (None by default) wait_for_completion: block if True (False by default) delete_temporary_files: remove temp files created during execution (True by default) update_display: show output nodes after completion
运行CLI,可选地指定具有可选参数的节点,返回节点(或新节点,如果已创建)节点:现有参数节点(默认情况下无)参数:CLI参数字典(默认情况下无)等待\u完成:如果为True,则阻止(默认情况下为False)删除临时\u文件:删除执行期间创建的临时文件(默认为True)更新显示:完成后显示输出节点

slicer.cli.runSync(module, node=None, parameters=None, delete_temporary_files=True, update_display=True)

Run a CLI synchronously, optionally given a node with optional parameters, returning the node (or the new one if created) node: existing parameter node (None by default) parameters: dictionary of parameters for cli (None by default) delete_temporary_files: remove temp files created during execution (True by default) update_display: show output nodes after completion
同步运行CLI(可选)给定一个具有可选参数的节点,返回该节点(或新节点,如果已创建)节点:现有参数节点(默认为无)参数:CLI参数字典(默认为无)删除临时文件:删除执行期间创建的临时文件(默认为真)更新显示:完成后显示输出节点

slicer.cli.setNodeParameters(node, parameters)

Sets parameters for a vtkMRMLCommandLineModuleNode given a dictionary of (parameterName, parameterValue) pairs For vectors: provide a list, tuple or comma-separated string For enumerations, provide the single enumeration value For files and directories, provide a string For images, geometry, points and regions, provide a vtkMRMLNode
设置VTKMRLCommandLineModuleNode的参数,给定向量的(parameterName,parameterValue)对字典:为枚举提供列表、元组或逗号分隔字符串,为文件和目录提供单个枚举值,为图像、几何体、点和区域提供字符串,提供vtkMRMLNode.

slicer.logic module
slicer.testing module

slicer.testing.exitFailure(message='')
slicer.testing.exitSuccess()
slicer.testing.runUnitTest(path, testname)

slicer.util module

slicer.util.DATA_STORE_URL= 'https://github.com/Slicer/SlicerDataStore/releases/download/'

Base URL for downloading data from Slicer Data Store. Data store contains atlases, registration case library images, and various sample data sets.

Datasets can be downloaded using URL of the form DATA_STORE_URL + “SHA256/” + sha256ofDataSet

exceptionslicer.util.MRMLNodeNotFoundException

Bases: Exception

Exception raised when a requested MRML node was not found.
未找到请求的MRML节点时引发异常。

classslicer.util.NodeModify(node)

Bases: object

Context manager to conveniently compress mrml node modified event.
上下文管理器,方便地压缩mrml节点修改事件。

classslicer.util.RenderBlocker

Bases: object
Context manager to conveniently pause and resume view rendering. This makes sure that we are not displaying incomplete states to the user. Pausing the views can be useful to improve performance and ensure consistency by skiping all rendering calls until the current code block has completed.
上下文管理器,方便地暂停和恢复视图渲染。这确保我们不会向用户显示不完整的状态。暂停视图有助于提高性能并确保一致性,方法是跳过所有渲染调用,直到当前代码块完成。
Code blocks such as:
代码块,例如:

try:
  slicer.app.pauseRender()
  # Do things
finally:
  slicer.app.resumeRender()

可以写为:

with slicer.util.RenderBlocker():
  # Do things
slicer.util.TESTING_DATA_URL= 'https://github.com/Slicer/SlicerTestingData/releases/download/'

Base URL for downloading testing data.
用于下载测试数据的基本URL.
Datasets can be downloaded using URL of the form TESTING_DATA_URL + “SHA256/” + sha256ofDataSet

classslicer.util.VTKObservationMixin

Bases: object

addObserver(object, event, method, group='none', priority=0.0)
hasObserver(object, event, method)
observer(event, method)
removeObserver(object, event, method)
removeObservers(method=None)
slicer.util.addParameterEditWidgetConnections(parameterEditWidgets, updateParameterNodeFromGUI)

Add connections to get notification of a widget change.
The function is useful for calling updateParameterNodeFromGUI method in scripted module widgets.
添加连接以获取小部件更改通知。
该函数用于在脚本化模块小部件中调用updateParameterNodeFromGUI方法。

Note
Not all widget classes are supported yet. Report any missing classes at https://discourse.slicer.org.
并非所有小部件类都受支持。请在以下位置报告任何缺失的类:https://discourse.slicer.org.

Example:
例子:

class SurfaceToolboxWidget(ScriptedLoadableModuleWidget, VTKObservationMixin):
  ...
  def setup(self):
    ...
    self.parameterEditWidgets = [
      (self.ui.inputModelSelector, "inputModel"),
      (self.ui.outputModelSelector, "outputModel"),
      (self.ui.decimationButton, "decimation"),
      ...]
    slicer.util.addParameterEditWidgetConnections(self.parameterEditWidgets, self.updateParameterNodeFromGUI)

  def updateGUIFromParameterNode(self, caller=None, event=None):
    if self._parameterNode is None or self._updatingGUIFromParameterNode:
      return
    self._updatingGUIFromParameterNode = True
    slicer.util.updateParameterEditWidgetsFromNode(self.parameterEditWidgets, self._parameterNode)
    self._updatingGUIFromParameterNode = False

  def updateParameterNodeFromGUI(self, caller=None, event=None):
    if self._parameterNode is None or self._updatingGUIFromParameterNode:
      return
    wasModified = self._parameterNode.StartModify()  # Modify all properties in a single batch
    slicer.util.updateNodeFromParameterEditWidgets(self.parameterEditWidgets, self._parameterNode)
    self._parameterNode.EndModify(wasModified)
slicer.util.addVolumeFromArray(narray, ijkToRAS=None, name=None, nodeClassName=None)

Create a new volume node from content of a numpy array and add it to the scene.
Voxels values are deep-copied, therefore if the numpy array is modified after calling this method, voxel values in the volume node will not change.
从numpy数组的内容创建新的卷节点,并将其添加到场景中。
体素值是深度复制的,因此,如果在调用此方法后修改numpy数组,则体积节点中的体素值不会更改。

Parameters:

  • narray – numpy array containing volume voxels.
  • ijkToRAS – 4x4 numpy array or vtk.vtkMatrix4x4 that defines mapping from IJK to RAS coordinate system (specifying origin, spacing, directions)
  • name – volume node name
  • nodeClassName – type of created volume, default: vtkMRMLScalarVolumeNode. Use vtkMRMLLabelMapVolumeNode for labelmap volume, vtkMRMLVectorVolumeNode for vector volume.

Returns: created new volume node

Example:

# create zero-filled volume
import numpy as np
volumeNode = slicer.util.addVolumeFromArray(np.zeros((30, 40, 50)))

Example:

# create labelmap volume filled with voxel value of 120
import numpy as np
volumeNode = slicer.util.addVolumeFromArray(np.ones((30, 40, 50), 'int8') * 120,
  np.diag([0.2, 0.2, 0.5, 1.0]), nodeClassName="vtkMRMLLabelMapVolumeNode")
slicer.util.array(pattern='', index=0)

Return the array you are “most likely to want” from the indexth
从索引中返回“最可能需要”的数组.
MRML node that matches the pattern.
与模式匹配的MRML节点。
Raises RuntimeError – if the node cannot be accessed as an array.

Warning
Meant to be used in the python console for quick debugging/testing.
用于python控制台中的快速调试/测试。

参考: Developer Guide ? Slicer API ? slicer package

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:28:47  更:2021-10-11 17:30:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:54:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码