]> Creatis software - gdcm.git/blob - gdcmPython/demo/vtkGdcmWriter.py.in
* gdcmPython/demo : add python demos using VTK
[gdcm.git] / gdcmPython / demo / vtkGdcmWriter.py.in
1 import sys
2 import os
3
4 sys.path.append('${GDCM_BINARY_DIR}')
5 if os.name == 'posix':
6    sys.path.append('${GDCM_BINARY_DIR}/bin')
7 else:
8    sys.path.append('${GDCM_BINARY_DIR}/bin/Release')
9    sys.path.append('${GDCM_BINARY_DIR}/bin/Debug')
10
11 from gdcmPython.vtk import *
12 from vtkpython import *
13
14 # Get the file names
15 try:
16    fileName = sys.argv[1]
17 except IndexError:
18    fileName = os.path.join(GDCM_DATA_PATH, "test.acr")
19
20 # read the image
21 reader = vtkGdcmReader()
22 reader.SetFileName(fileName)
23
24 # write the image
25 writer = vtkGdcmWriter()
26 writer.SetInput(reader.GetOutput())
27 writer.SetFileName("outputPy.dcm")
28 writer.Write()
29
30 # re-read the image
31 reader2 = vtkGdcmReader()
32 reader2.SetFileName("outputPy.dcm")
33 reader2.Update()
34
35 # show the image
36 viewer = vtkImageViewer()
37 viewer.SetInput(reader2.GetOutput())
38 rng = reader.GetOutput().GetScalarRange()
39 viewer.SetColorWindow(rng[1] - rng[0])
40 viewer.SetColorLevel(0.5 * (rng[1] + rng[0]))
41
42 dim = reader.GetOutput().GetDimensions()
43 viewer.SetSize(dim[0],dim[1])
44 if(dim[2] != 1):
45    # For multifame dicom, take a snapshot of the center slice (+/- 1)
46    viewer.SetZSlice(dim[2] / 2)
47 else:
48    viewer.SetZSlice(0)
49 viewer.Render()
50
51 # sys.stdin.read(1)
52