]> Creatis software - gdcm.git/blob - gdcmPython/demo/vtkGdcmReader.py
* vtk/vtkGdcmReader[cxx|h] should now be volume aware (read ready for
[gdcm.git] / gdcmPython / demo / vtkGdcmReader.py
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).
6 from vtk import *
7 from gdcmPython import *
8 from gdcmPython.vtkgdcmPython import *
9 import sys
10
11 ### Get filename from command line or default it
12 try:
13    FileName = sys.argv[1]
14 except IndexError:
15    FileName = os.path.join(GDCM_DATA_PATH, "test.acr")
16
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."
21    sys.exit()
22 del test
23 toDisplay = vtkGdcmReader()
24 toDisplay.SetFileName(FileName)
25 ### Uncomment to test for volumes:
26 ###toDisplay.DebugOn()
27 ###toDisplay.AddFileName(FileName)
28 toDisplay.UpdateWholeExtent()
29
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)
37 VTKtable.Build()
38
39 VTKtexture = vtkTexture()
40 VTKtexture.SetInput(toDisplay.GetOutput())
41 VTKtexture.InterpolateOn()
42 VTKtexture.SetLookupTable(VTKtable)
43
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)
48
49 VTKplaneMapper = vtkPolyDataMapper()
50 VTKplaneMapper.SetInput(VTKplane.GetOutput())
51
52 VTKplaneActor = vtkActor()
53 VTKplaneActor.SetTexture(VTKtexture)
54 VTKplaneActor.SetMapper(VTKplaneMapper)
55 VTKplaneActor.PickableOn()
56
57 ren = vtkRenderer()
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)
64 renwin.Render()
65 iren.Start()
66
67
68