MCPcopy Create free account
hub / github.com/SimpleITK/SimpleITK / main

Function main

Examples/Segmentation/ConnectedThresholdImageFilter.cxx:34–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32namespace sitk = itk::simple;
33
34int
35main(int argc, char * argv[])
36{
37
38 //
39 // Check command line parameters
40 //
41 if (argc < 7)
42 {
43 std::cerr << "Missing Parameters " << std::endl;
44 std::cerr << "Usage: " << argv[0];
45 std::cerr << " inputImage outputImage lowerThreshold upperThreshold seedX seedY [seed2X seed2Y ... ]" << std::endl;
46 return 1;
47 }
48
49
50 //
51 // Read the image
52 //
53
54 sitk::ImageFileReader reader;
55 reader.SetFileName(std::string(argv[1]));
56 sitk::Image image = reader.Execute();
57
58
59 //
60 // Blur using CurvatureFlowImageFilter
61 //
62 sitk::CurvatureFlowImageFilter blurFilter;
63 blurFilter.SetNumberOfIterations(5);
64 blurFilter.SetTimeStep(0.125);
65 image = blurFilter.Execute(image);
66
67
68 //
69 // Set up ConnectedThresholdImageFilter for segmentation
70 //
71 sitk::ConnectedThresholdImageFilter segmentationFilter;
72 segmentationFilter.SetLower(atof(argv[3]));
73 segmentationFilter.SetUpper(atof(argv[4]));
74 segmentationFilter.SetReplaceValue(255);
75
76 for (int i = 5; i + 1 < argc; i += 2)
77 {
78 std::vector<unsigned int> seed = { (unsigned int)atoi(argv[i]), (unsigned int)atoi(argv[i + 1]) };
79 segmentationFilter.AddSeed(seed);
80 std::cout << "Adding a seed at: ";
81 for (unsigned int j = 0; j < seed.size(); ++j)
82 {
83 std::cout << seed[j] << " ";
84 }
85 std::cout << std::endl;
86 }
87
88 sitk::Image outImage = segmentationFilter.Execute(image);
89
90
91 //

Callers

nothing calls this directly

Calls 2

SetFileNameMethod · 0.45
ExecuteMethod · 0.45

Tested by

no test coverage detected