File: WatershedSegmentation1.py

package info (click to toggle)
insighttoolkit 3.20.1%2Bgit20120521-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 80,672 kB
  • ctags: 85,253
  • sloc: cpp: 458,133; ansic: 196,222; fortran: 28,000; python: 3,839; tcl: 1,811; sh: 1,184; java: 583; makefile: 428; csh: 220; perl: 193; xml: 20
file content (35 lines) | stat: -rw-r--r-- 886 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

import itk
import sys
itk.auto_progress(2)

reader = itk.ImageFileReader.IF2.New()
reader.SetFileName( sys.argv[1] )

diffusion = itk.GradientAnisotropicDiffusionImageFilter.IF2IF2.New()
diffusion.SetInput(reader.GetOutput())
diffusion.SetTimeStep(0.0625)
diffusion.SetConductanceParameter(9.0)
diffusion.SetNumberOfIterations( 5 );

gradient = itk.GradientMagnitudeImageFilter.IF2IF2.New()
gradient.SetInput(diffusion.GetOutput())

watershed = itk.WatershedImageFilter.IF2.New()
watershed.SetInput(gradient.GetOutput())
watershed.SetThreshold(0.01)
watershed.SetLevel(0.2)

relabel = itk.RelabelComponentImageFilter.IUL2IUS2.New()
relabel.SetInput( watershed.GetOutput() )

cast = itk.CastImageFilter.IUS2IUC2.New()
cast.SetInput( relabel.GetOutput() )

writer = itk.ImageFileWriter.IUC2.New()
writer.SetFileName( sys.argv[2] )
writer.SetInput( cast.GetOutput()  )
writer.Update()