]> Creatis software - gdcm.git/blob - gdcmPython/demo/vtkGdcmWriter.py.in
cdb94fd7fe0566157e69af6b5bb11d302aa5c738
[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_ROOT, "test.acr")
19
20 # read the image
21 reader = vtkGdcmReader()
22 reader.SetFileName(fileName)
23 reader.Update()
24
25 # write the image
26 writer = vtkGdcmWriter()
27 writer.SetInput(reader.GetOutput())
28 writer.SetFileName("outputPy.dcm")
29 writer.Write()
30
31 # re-read the image
32 reader2 = vtkGdcmReader()
33 reader2.SetFileName("outputPy.dcm")
34 reader2.Update()
35
36 # show the image
37 viewer = vtkImageViewer()
38 viewer.SetInput(reader2.GetOutput())
39 rng = reader.GetOutput().GetScalarRange()
40 viewer.SetColorWindow(rng[1] - rng[0])
41 viewer.SetColorLevel(0.5 * (rng[1] + rng[0]))
42
43 dim = reader.GetOutput().GetDimensions()
44 viewer.SetSize(dim[0],dim[1])
45 if(dim[2] != 1):
46    # For multifame dicom, take a snapshot of the center slice (+/- 1)
47    viewer.SetZSlice(dim[2] / 2)
48 else:
49    viewer.SetZSlice(0)
50 viewer.Render()
51
52 # sys.stdin.read(1)
53