File: WatershedSegmentation1.java

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 (46 lines) | stat: -rw-r--r-- 1,350 bytes parent folder | download | duplicates (8)
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
/**
 *  Example on the use of the WatershedImageFilter
 *
 */

import InsightToolkit.*;

public class WatershedSegmentation1
{
  public static void main( String argv[] )
  {
    System.out.println("WatershedSegmentation1 Example");

    itkImageFileReaderF2_Pointer reader = itkImageFileReaderF2.itkImageFileReaderF2_New();
    reader.SetFileName( argv[0] );
    
    itkGradientAnisotropicDiffusionImageFilterF2F2_Pointer diffusion = 
      itkGradientAnisotropicDiffusionImageFilterF2F2.itkGradientAnisotropicDiffusionImageFilterF2F2_New();

    diffusion.SetInput( reader.GetOutput() );
    diffusion.SetTimeStep( 0.0625 );
    diffusion.SetConductanceParameter( 9.0 );
    diffusion.SetNumberOfIterations(  5 );

    itkGradientMagnitudeImageFilterF2F2_Pointer gradient = 
      itkGradientMagnitudeImageFilterF2F2.itkGradientMagnitudeImageFilterF2F2_New();

    gradient.SetInput(diffusion.GetOutput());

    itkWatershedImageFilterF2_Pointer watershed = 
      itkWatershedImageFilterF2.itkWatershedImageFilterF2_New();

    watershed.SetInput( gradient.GetOutput() );
    watershed.SetThreshold( 0.01 );
    watershed.SetLevel( 0.2 );

    itkImageFileWriterUL2_Pointer writer = itkImageFileWriterUL2.itkImageFileWriterUL2_New();
    writer.SetFileName( argv[1] );
    writer.SetInput( watershed.GetOutput()  );
    writer.Update();

  }

}