X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2Fexamples%2Fexample_Thinning.cxx;fp=appli%2Fexamples%2Fexample_Thinning.cxx;h=abd614461e3dd146fd297daad4d14c4306db6066;hb=dc4791c63d865f011d4fcac4112deb69e860491c;hp=0000000000000000000000000000000000000000;hpb=b6fa7f73265dc1f5bf2fb8dc07c747ae0060d3bb;p=FrontAlgorithms.git diff --git a/appli/examples/example_Thinning.cxx b/appli/examples/example_Thinning.cxx new file mode 100644 index 0000000..abd6144 --- /dev/null +++ b/appli/examples/example_Thinning.cxx @@ -0,0 +1,40 @@ +#include "itkBinaryThinningImageFilter.h" +#include "itkImage.h" +#include "itkImageFileReader.h" +#include "itkImageFileWriter.h" +#include "itkRescaleIntensityImageFilter.h" + +typedef itk::Image ImageType; + +int main(int argc, char *argv[]) +{ + + typedef itk::ImageFileReader ImageReader; + ImageReader::Pointer reader = ImageReader::New(); + std::string fileName = argv[1]; + reader->SetFileName(fileName); + reader->Update(); + ImageType::Pointer image = reader->GetOutput(); + + typedef itk::BinaryThinningImageFilter BinaryThinningImageFilterType; + BinaryThinningImageFilterType::Pointer binaryThinningImageFilter = BinaryThinningImageFilterType::New(); + binaryThinningImageFilter->SetInput(image); + binaryThinningImageFilter->Update(); + + // Rescale the image so that it can be seen (the output is 0 and 1, we want 0 and 255) + typedef itk::RescaleIntensityImageFilter< ImageType, ImageType > RescaleType; + RescaleType::Pointer rescaler = RescaleType::New(); + rescaler->SetInput( binaryThinningImageFilter->GetOutput() ); + rescaler->SetOutputMinimum(0); + rescaler->SetOutputMaximum(255); + rescaler->Update(); + + typedef itk::ImageFileWriter< ImageType > WriterType; + WriterType::Pointer writer = WriterType::New(); + writer->SetFileName(argv[2]); + writer->SetInput(rescaler->GetOutput()); + writer->Update(); + + return EXIT_SUCCESS; +} +