File: ResampleImageFilter1.py

package info (click to toggle)
insighttoolkit 3.20.1%2Bgit20120521-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 80,652 kB
  • sloc: cpp: 458,133; ansic: 196,223; fortran: 28,000; python: 3,839; tcl: 1,811; sh: 1,184; java: 583; makefile: 430; csh: 220; perl: 193; xml: 20
file content (62 lines) | stat: -rw-r--r-- 1,239 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62


from InsightToolkit import *

from sys import argv


scale = itkScaleTransform2_New()

reader = itkImageFileReaderUS2_New()
writer = itkImageFileWriterUS2_New()

reader.SetFileName( argv[1] )
writer.SetFileName( argv[2] )

parameters = scale.GetParameters()

parameters.SetElement( 0, eval( argv[3] ) )
parameters.SetElement( 1, eval( argv[3] ) )

reader.Update()

inputImage = reader.GetOutput()

size    = inputImage.GetLargestPossibleRegion().GetSize()

centralPixel = itkIndex3()  

centralPixel.SetElement( 0, size.GetElement(0) / 2 )
centralPixel.SetElement( 1, size.GetElement(1) / 2 )

centralPoint = itkPointD2() 

spacing = inputImage.GetSpacing()

interpolator = itkLinearInterpolateImageFunctionUS2D_New()

centralPoint.SetElement(0, centralPixel.GetElement(0) )
centralPoint.SetElement(1, centralPixel.GetElement(1) )

scale.SetCenter( centralPoint )
scale.SetParameters( parameters )

resampler = itkResampleImageFilterUS2US2_New()

resampler.SetInput( reader.GetOutput() )

resampler.SetTransform( scale.GetPointer() )
resampler.SetInterpolator( interpolator.GetPointer() )
resampler.SetSize( size )
resampler.SetOutputSpacing( spacing )

resampler.Update()


writer.SetInput( resampler.GetOutput() )

writer.Update()