Skip to content

Commit fdb2c6b

Browse files
committed
ENH: Test SetSeeds/GetSeeds container interface in region growing filters
Add round-trip smoke tests for SetSeeds/GetSeeds to ConfidenceConnectedImageFilter, ConnectedThresholdImageFilter, NeighborhoodConnectedImageFilter, and VectorConfidenceConnectedImageFilter tests. Verifies ClearSeeds empties the container and SetSeeds/GetSeeds round-trip correctly.
1 parent de01678 commit fdb2c6b

4 files changed

Lines changed: 62 additions & 0 deletions

File tree

Modules/Segmentation/RegionGrowing/test/itkConfidenceConnectedImageFilterTest.cxx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,22 @@ itkConfidenceConnectedImageFilterTest(int argc, char * argv[])
102102
// Exercise AddSeed() method
103103
filter->AddSeed(seed);
104104

105+
// Exercise SetSeeds/GetSeeds container interface
106+
const FilterType::SeedsContainerType seeds = filter->GetSeeds();
107+
filter->ClearSeeds();
108+
if (!filter->GetSeeds().empty())
109+
{
110+
std::cerr << "Test FAILED!" << std::endl;
111+
std::cerr << "Seed container not empty after ClearSeeds." << std::endl;
112+
return EXIT_FAILURE;
113+
}
114+
filter->SetSeeds(seeds);
115+
if (filter->GetSeeds() != seeds)
116+
{
117+
std::cerr << "Test FAILED!" << std::endl;
118+
std::cerr << "Seed container from GetSeeds does not match SetSeeds input." << std::endl;
119+
return EXIT_FAILURE;
120+
}
105121

106122
return EXIT_SUCCESS;
107123
}

Modules/Segmentation/RegionGrowing/test/itkConnectedThresholdImageFilterTest.cxx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,18 @@ itkConnectedThresholdImageFilterTest(int argc, char * argv[])
7979
return EXIT_FAILURE;
8080
}
8181

82+
// Exercise SetSeeds/GetSeeds container interface using SeedsContainerType alias
83+
connectedThresholdFilter->AddSeed(seed);
84+
const ConnectedThresholdImageFilterType::SeedsContainerType seeds = connectedThresholdFilter->GetSeeds();
85+
connectedThresholdFilter->ClearSeeds();
86+
connectedThresholdFilter->SetSeeds(seeds);
87+
if (connectedThresholdFilter->GetSeeds() != seeds)
88+
{
89+
std::cerr << "Test FAILED !" << std::endl;
90+
std::cerr << "Seed container from GetSeeds does not match SetSeeds input." << std::endl;
91+
return EXIT_FAILURE;
92+
}
93+
8294
connectedThresholdFilter->SetSeed(seed);
8395

8496

Modules/Segmentation/RegionGrowing/test/itkNeighborhoodConnectedImageFilterTest.cxx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,5 +83,22 @@ itkNeighborhoodConnectedImageFilterTest(int argc, char * argv[])
8383
writer->SetFileName(argv[2]);
8484
writer->Update();
8585

86+
// Exercise SetSeeds/GetSeeds container interface
87+
const FilterType::SeedsContainerType seeds = filter->GetSeeds();
88+
filter->ClearSeeds();
89+
if (!filter->GetSeeds().empty())
90+
{
91+
std::cerr << "Test FAILED!" << std::endl;
92+
std::cerr << "Seed container not empty after ClearSeeds." << std::endl;
93+
return EXIT_FAILURE;
94+
}
95+
filter->SetSeeds(seeds);
96+
if (filter->GetSeeds() != seeds)
97+
{
98+
std::cerr << "Test FAILED!" << std::endl;
99+
std::cerr << "Seed container from GetSeeds does not match SetSeeds input." << std::endl;
100+
return EXIT_FAILURE;
101+
}
102+
86103
return EXIT_SUCCESS;
87104
}

Modules/Segmentation/RegionGrowing/test/itkVectorConfidenceConnectedImageFilterTest.cxx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,23 @@ itkVectorConfidenceConnectedImageFilterTest(int argc, char * argv[])
104104
writer->SetFileName(argv[2]);
105105
writer->Update();
106106

107+
// Exercise SetSeeds/GetSeeds container interface
108+
const FilterType::SeedsContainerType seeds = filter->GetSeeds();
109+
filter->ClearSeeds();
110+
if (!filter->GetSeeds().empty())
111+
{
112+
std::cerr << "Test FAILED!" << std::endl;
113+
std::cerr << "Seed container not empty after ClearSeeds." << std::endl;
114+
return EXIT_FAILURE;
115+
}
116+
filter->SetSeeds(seeds);
117+
if (filter->GetSeeds() != seeds)
118+
{
119+
std::cerr << "Test FAILED!" << std::endl;
120+
std::cerr << "Seed container from GetSeeds does not match SetSeeds input." << std::endl;
121+
return EXIT_FAILURE;
122+
}
123+
107124
// Exercise SetSeed() method
108125
filter->SetSeed(seed1);
109126

0 commit comments

Comments
 (0)