Skip to content

Instantly share code, notes, and snippets.

@ungi
Created July 21, 2017 01:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ungi/c1c448fa51cc458d3da75f5e5c73c74c to your computer and use it in GitHub Desktop.
Save ungi/c1c448fa51cc458d3da75f5e5c73c74c to your computer and use it in GitHub Desktop.
# Show the distance between models as colors
# Create two models
createModelsLogic = slicer.modules.createmodels.logic()
cubeNode = createModelsLogic.CreateCube(150, 150, 150)
sphereNode = createModelsLogic.CreateSphere(100)
# Hide original models, so only the output will be visible
cubeNode.SetDisplayVisibility(False)
sphereNode.SetDisplayVisibility(False)
# Create a filter that computes distances and stores them in PolyData scalars
distanceFilter = vtk.vtkDistancePolyDataFilter()
distanceFilter.SetInputData(0, sphereNode.GetPolyData())
distanceFilter.SetInputData(1, cubeNode.GetPolyData())
distanceFilter.SignedDistanceOff()
distanceFilter.Update()
# Crete a model node for the output PolyData
model = slicer.vtkMRMLModelNode()
slicer.mrmlScene.AddNode( model )
model.SetName('DistanceModelNode')
model.SetAndObservePolyData( distanceFilter.GetOutput() )
display = slicer.vtkMRMLModelDisplayNode()
slicer.mrmlScene.AddNode( display )
model.SetAndObserveDisplayNodeID( display.GetID() )
display.SetActiveScalarName('Distance')
display.SetAndObserveColorNodeID('vtkMRMLColorTableNodeFileColdToHotRainbow.txt')
display.SetScalarVisibility(True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment