From 93762d5ff42e302398ff3b3105f87ccd73123957 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C5=BEenan=20Zuki=C4=87?= Date: Mon, 11 Nov 2024 10:54:26 -0500 Subject: [PATCH] ENH: Revive ExtractContoursFromImage as SimpleContourExtractor The example was commented out since the initial import commit: ENH: Adding media wiki examples to sphinx examples a82f59e7ef3b9e54961bc403f9198cb6c98d35f9 --- src/Filtering/ImageFeature/CMakeLists.txt | 2 ++ .../CMakeLists.txt | 6 ++-- .../Code.cxx | 35 ++++++++++--------- .../Documentation.rst | 0 4 files changed, 24 insertions(+), 19 deletions(-) rename src/Filtering/ImageFeature/{ExtractContoursFromImage => SimpleContourExtractor}/CMakeLists.txt (82%) rename src/Filtering/ImageFeature/{ExtractContoursFromImage => SimpleContourExtractor}/Code.cxx (72%) rename src/Filtering/ImageFeature/{ExtractContoursFromImage => SimpleContourExtractor}/Documentation.rst (100%) diff --git a/src/Filtering/ImageFeature/CMakeLists.txt b/src/Filtering/ImageFeature/CMakeLists.txt index e17fc6691..4f522e376 100644 --- a/src/Filtering/ImageFeature/CMakeLists.txt +++ b/src/Filtering/ImageFeature/CMakeLists.txt @@ -17,6 +17,8 @@ add_example(ApplyAFilterOnlyToASpecifiedImageRegion) add_example(ApplyAFilterToASpecifiedRegionOfAnImage) +add_example(SimpleContourExtractor) + add_example(ZeroCrossingBasedEdgeDecor) compare_to_baseline(EXAMPLE_NAME ZeroCrossingBasedEdgeDecor BASELINE_PREFIX ZeroCrossingBasedEdgeDecor diff --git a/src/Filtering/ImageFeature/ExtractContoursFromImage/CMakeLists.txt b/src/Filtering/ImageFeature/SimpleContourExtractor/CMakeLists.txt similarity index 82% rename from src/Filtering/ImageFeature/ExtractContoursFromImage/CMakeLists.txt rename to src/Filtering/ImageFeature/SimpleContourExtractor/CMakeLists.txt index ecfac63f0..2fe65a76d 100644 --- a/src/Filtering/ImageFeature/ExtractContoursFromImage/CMakeLists.txt +++ b/src/Filtering/ImageFeature/SimpleContourExtractor/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.16.3) -project(ExtractContoursFromImage) +project(SimpleContourExtractor) find_package(ITK REQUIRED) include(${ITK_USE_FILE}) @@ -15,11 +15,11 @@ install(TARGETS ${PROJECT_NAME} ) install(FILES Code.cxx CMakeLists.txt - DESTINATION share/ITKSphinxExamples/Code/Filtering/ImageFeature/ExtractContoursFromImage/ + DESTINATION share/ITKSphinxExamples/Code/Filtering/ImageFeature/SimpleContourExtractor/ COMPONENT Code ) enable_testing() -add_test(NAME ExtractContoursFromImageTest +add_test(NAME SimpleContourExtractorTest COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PROJECT_NAME}) diff --git a/src/Filtering/ImageFeature/ExtractContoursFromImage/Code.cxx b/src/Filtering/ImageFeature/SimpleContourExtractor/Code.cxx similarity index 72% rename from src/Filtering/ImageFeature/ExtractContoursFromImage/Code.cxx rename to src/Filtering/ImageFeature/SimpleContourExtractor/Code.cxx index a57a92e1a..b2a7f5dba 100644 --- a/src/Filtering/ImageFeature/ExtractContoursFromImage/Code.cxx +++ b/src/Filtering/ImageFeature/SimpleContourExtractor/Code.cxx @@ -15,7 +15,7 @@ * limitations under the License. * *=========================================================================*/ -/* + #include "itkImage.h" #include "itkImageFileWriter.h" #include "itkSimpleContourExtractorImageFilter.h" @@ -23,20 +23,22 @@ using UnsignedCharImageType = itk::Image; -static void CreateImage(UnsignedCharImageType::Pointer image); +static void +CreateImage(UnsignedCharImageType::Pointer image); -int main() +int +main() { auto image = UnsignedCharImageType::New(); CreateImage(image); - using SimpleContourExtractorImageFilterType = itk::SimpleContourExtractorImageFilter ; - SimpleContourExtractorImageFilterType::Pointer contourFilter - = SimpleContourExtractorImageFilterType::New(); + using SimpleContourExtractorImageFilterType = + itk::SimpleContourExtractorImageFilter; + SimpleContourExtractorImageFilterType::Pointer contourFilter = SimpleContourExtractorImageFilterType::New(); contourFilter->SetInput(image); contourFilter->Update(); - using WriterType = itk::ImageFileWriter< UnsignedCharImageType >; + using WriterType = itk::ImageFileWriter; auto writer = WriterType::New(); writer->SetFileName("output.png"); writer->SetInput(contourFilter->GetOutput()); @@ -45,36 +47,37 @@ int main() return EXIT_SUCCESS; } -void CreateImage(UnsignedCharImageType::Pointer image) +void +CreateImage(UnsignedCharImageType::Pointer image) { // Create an image itk::Index<2> start{}; auto size = itk::Size<2>::Filled(100); - itk::ImageRegion<2> region(start,size); + itk::ImageRegion<2> region(start, size); image->SetRegions(region); image->Allocate(); image->FillBuffer(0); // Create a line pixels - for(unsigned int i = 40; i < 60; ++i) - { + for (unsigned int i = 40; i < 60; ++i) + { auto pixel = itk::Index<2>::Filled(i); image->SetPixel(pixel, 255); - } + } // Create another line of pixels - for(unsigned int i = 10; i < 20; ++i) - { + for (unsigned int i = 10; i < 20; ++i) + { itk::Index<2> pixel; pixel[0] = 10; pixel[1] = i; image->SetPixel(pixel, 255); - } + } - using WriterType = itk::ImageFileWriter< UnsignedCharImageType >; + using WriterType = itk::ImageFileWriter; auto writer = WriterType::New(); writer->SetFileName("input.png"); writer->SetInput(image); diff --git a/src/Filtering/ImageFeature/ExtractContoursFromImage/Documentation.rst b/src/Filtering/ImageFeature/SimpleContourExtractor/Documentation.rst similarity index 100% rename from src/Filtering/ImageFeature/ExtractContoursFromImage/Documentation.rst rename to src/Filtering/ImageFeature/SimpleContourExtractor/Documentation.rst