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