]> Creatis software - gdcm.git/blob - gdcmPython/demo/vtkGdcmReader.py.in
To allow testsuite go on.
[gdcm.git] / gdcmPython / demo / vtkGdcmReader.py.in
1 import sys
2 import os.path
3 from gdcmConfigDemo import *
4 from gdcmPython.vtk import *
5 from vtkpython import *
6
7 def PrintUse():
8    print ""
9    print "Use :"
10    print "-----"
11    print "%s <fileName>" % sys.argv[0]
12    print "   fileName : path to the DICOM file to see"
13    print ""
14    print ""
15
16 # Get the file names
17 try:
18    fileName = sys.argv[1]
19 except IndexError:
20    fileName = os.path.join(GDCM_DATA_ROOT, "test.acr")
21    if( not os.path.isfile(fileName) ):
22       fileName=os.path.join(os.path.split(sys.argv[0])[0],"test.acr")
23
24 if( not os.path.isfile(fileName) ):
25    PrintUse()
26    sys.exit(1)
27
28 # read the image
29 reader = vtkGdcmReader()
30 reader.SetFileName(fileName)
31 reader.Update()
32
33 # show the image
34 viewer = vtkImageViewer()
35 viewer.SetInput(reader.GetOutput())
36 rng = reader.GetOutput().GetScalarRange()
37 viewer.SetColorWindow(rng[1] - rng[0])
38 viewer.SetColorLevel(0.5 * (rng[1] + rng[0]))
39
40 dim = reader.GetOutput().GetDimensions()
41 viewer.SetSize(dim[0],dim[1])
42 if(dim[2] != 1):
43    # For multiframe dicom, take a snapshot of the center slice (+/- 1)
44    viewer.SetZSlice(dim[2] / 2)
45 else:
46    viewer.SetZSlice(0)
47 viewer.Render()
48
49 # sys.stdin.read(1)
50