ITK  4.8.0
Insight Segmentation and Registration Toolkit
SphinxExamples/src/Filtering/ImageGrid/Create3DVolume/Code.py
1 #!/usr/bin/env python
2 
3 import sys
4 import itk
5 
6 if len(sys.argv) != 3:
7  print("Usage: " + sys.argv[0] + " <input1> <input2> <input3> ... <output>")
8  sys.exit(1)
9 
10 InputDimension = 2
11 OutputDimension = 3
12 
13 PixelType = itk.UC
14 
15 InputImageType = itk.Image[PixelType, InputDimension]
16 OutputImageType = itk.Image[PixelType, OutputDimension]
17 
18 reader = itk.ImageFileReader[InputImageType].New()
19 
20 tileFilter = itk.TileImageFilter[InputImageType, OutputImageType].New()
21 
22 layout = [2, 2, 0]
23 tileFilter.SetLayout(layout)
24 
25 for ii in range(1, len(sys.argv)-1):
26  reader.SetFileName(sys.argv[ii])
27  reader.Update()
28 
29  inputImage = reader.GetOutput()
30  inputImage.DisconnectPipeline()
31 
32  tileFilter.SetInput(ii-1, inputImage)
33 
34 defaultValue = 128
35 tileFilter.SetDefaultPixelValue(defaultValue)
36 tileFilter.Update()
37 
38 writer = itk.ImageFileWriter[OutputImageType].New()
39 writer.SetFileName(sys.argv[-1])
40 writer.SetInput(tileFilter.GetOutput())
41 writer.Update()