ReadSLC
The following example demonstrates how to read a .slc file using vtkSLCReader. Author: Pavan Kumar B N Organization: Virtual Environments Lab, Chung-Ang University, Seoul, South Korea. Email Id: pavanbn8@gmail.com
Question
If you have a simple question about this example contact us at VTKExProject If your question is more complex and may require extended discussion, please use the VTK Discourse Forum
Code¶
ReadSLC.py
#!/usr/bin/env python
import vtk
def main():
InputFilename = get_program_parameters()
colors = vtk.vtkNamedColors()
# vtkSLCReader to read.
reader = vtk.vtkSLCReader()
reader.SetFileName(InputFilename)
reader.Update()
# Create a mapper.
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(reader.GetOutputPort())
# Implementing Marching Cubes Algorithm to create the surface using vtkContourFilter object.
contourFilter = vtk.vtkContourFilter()
contourFilter.SetInputConnection(reader.GetOutputPort())
contourFilter.SetValue(0, 72.0)
outliner = vtk.vtkOutlineFilter()
outliner.SetInputConnection(reader.GetOutputPort())
outliner.Update()
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(contourFilter.GetOutputPort())
mapper.SetScalarVisibility(0)
actor = vtk.vtkActor()
actor.SetMapper(mapper)
# Create a rendering window and renderer.
renderer = vtk.vtkRenderer()
renderWindow = vtk.vtkRenderWindow()
renderWindow.AddRenderer(renderer)
renderWindow.SetSize(500, 500)
# Create a renderwindowinteractor.
renderWindowInteractor = vtk.vtkRenderWindowInteractor()
renderWindowInteractor.SetRenderWindow(renderWindow)
# Assign actor to the renderer.
renderer.AddActor(actor)
renderer.SetBackground(colors.GetColor3d("lemon_chiffon"))
# Pick a good view
renderer.GetActiveCamera().SetPosition(-382.606608, -3.308563, 223.475751)
renderer.GetActiveCamera().SetFocalPoint(77.311562, 72.821162, 100.000000)
renderer.GetActiveCamera().SetViewUp(0.235483, 0.137775, 0.962063)
renderer.GetActiveCamera().SetDistance(482.25171)
renderer.GetActiveCamera().SetClippingRange(27.933848, 677.669341)
renderWindow.Render()
# Enable user interface interactor.
renderWindowInteractor.Initialize()
renderWindow.Render()
renderWindowInteractor.Start()
def get_program_parameters():
import argparse
description = 'Read a .slc file.'
epilogue = ''''''
parser = argparse.ArgumentParser(description=description, epilog=epilogue,
formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument('filename', help='vw_knee.slc.')
args = parser.parse_args()
return args.filename
if __name__ == '__main__':
main()