Slicer中如何用python console调用模块并设置input Volume等并运行。

软件版本
问题描述:我想用Slicer的python console调用 Resample Scalar/Vector/DWI Volume模块,并自己设置inputVolume,outputVolume,referenceVolume等参数,并运行。但是不知道代码如何?求帮助!!!


outputVolumeNode = slicer.mrmlScene.AddNewNodeByClass("vtkMRMLScalarVolumeNode")

outputVolumeNode.SetName('output')

resampleModule = slicer.modules.resamplescalarvectordwivolume

parameters = {}

parameters['inputVolume'] = slicer.util.getNode('testVolume')

parameters['outputVolume'] = slicer.util.getNode('output')

parameters['referenceVolume'] = slicer.util.getNode('testVolume')

parameters['transformationFile'] = slicer.util.getNode('LinearTransform')

parameters['interpolationType'] = 'linear'

cliNode = slicer.cli.runSync(resampleModule,None,parameters)
1 个赞

通过下面的代码,可以获取cli模块所有参数:


“cliModule = slicer.modules.resamplescalarvectordwivolume
n=cliModule.cliModuleLogic().CreateNode()
for groupIndex in range(n.GetNumberOfParameterGroups()):
  print(f'Group: {n.GetParameterGroupLabel(groupIndex)}')
  for parameterIndex in range(n.GetNumberOfParametersInGroup(groupIndex)):
    print('  {0} [{1}]: {2}'.format(n.GetParameterName(groupIndex, parameterIndex),
      n.GetParameterTag(groupIndex, parameterIndex),n.GetParameterLabel(groupIndex, parameterIndex)))”
1 个赞