1 ## This demo illustrates the usage of the python-wrappers of vtkGdcmReader
2 ## native C++ vtk class. vtkGdcmReader.cxx is a C++ level wrapper of
3 ## gdcm which offers a vtk class vtkGdcmReader (inheriting from vtkImageReader,
4 ## see gdcm/vtk/vtkGdcmReader.cxx). vtkgdcmPython wraps this class for
5 ## python (by using vtk wrappers).
7 from gdcmPython import *
8 from gdcmPython.vtkgdcmPython import *
11 ### Get filename from command line or default it
13 FileName = sys.argv[1]
15 FileName = os.path.join(GDCM_DATA_PATH, "test.acr")
17 ### Build the header element list
18 test = gdcmHeader(FileName)
19 if not test.IsReadable():
20 print "The ", FileName, " file is not readable with gdcm. Sorry."
23 toDisplay = vtkGdcmReader()
24 toDisplay.SetFileName(FileName)
25 ### Uncomment to test for volumes:
26 ###toDisplay.DebugOn()
27 ###toDisplay.AddFileName(FileName)
28 toDisplay.UpdateWholeExtent()
30 VTKtable = vtkLookupTable()
31 VTKtable.SetNumberOfColors(1000)
32 VTKtable.SetTableRange(0,1000)
33 VTKtable.SetSaturationRange(0,0)
34 VTKtable.SetHueRange(0,1)
35 VTKtable.SetValueRange(0,1)
36 VTKtable.SetAlphaRange(1,1)
39 VTKtexture = vtkTexture()
40 VTKtexture.SetInput(toDisplay.GetOutput())
41 VTKtexture.InterpolateOn()
42 VTKtexture.SetLookupTable(VTKtable)
44 VTKplane = vtkPlaneSource()
45 VTKplane.SetOrigin( -0.5, -0.5, 0.0)
46 VTKplane.SetPoint1( 0.5, -0.5, 0.0)
47 VTKplane.SetPoint2( -0.5, 0.5, 0.0)
49 VTKplaneMapper = vtkPolyDataMapper()
50 VTKplaneMapper.SetInput(VTKplane.GetOutput())
52 VTKplaneActor = vtkActor()
53 VTKplaneActor.SetTexture(VTKtexture)
54 VTKplaneActor.SetMapper(VTKplaneMapper)
55 VTKplaneActor.PickableOn()
58 renwin = vtkRenderWindow()
59 renwin.AddRenderer(ren)
60 iren = vtkRenderWindowInteractor()
61 iren.SetRenderWindow(renwin)
62 ren.AddActor(VTKplaneActor)
63 ren.SetBackground(0,0,0.5)