From 4f7a9ad44485de053935926e227c76980152bd97 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Leonardo=20Fl=C3=B3rez-Valencia?= Date: Mon, 5 Dec 2016 19:26:02 -0500 Subject: [PATCH] ... --- appli/experiments/CMakeLists.txt | 3 ++ appli/experiments/Hausdorff.cxx | 48 ++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 appli/experiments/Hausdorff.cxx diff --git a/appli/experiments/CMakeLists.txt b/appli/experiments/CMakeLists.txt index 3be8e1c..65b5df1 100644 --- a/appli/experiments/CMakeLists.txt +++ b/appli/experiments/CMakeLists.txt @@ -5,4 +5,7 @@ INCLUDE_DIRECTORIES( ADD_EXECUTABLE(fpa_experiments_Skeleton_00 Skeleton_00.cxx) TARGET_LINK_LIBRARIES(fpa_experiments_Skeleton_00 ${ITK_LIBRARIES} ${VTK_LIBRARIES}) +ADD_EXECUTABLE(fpa_experiments_Hausdorff Hausdorff.cxx) +TARGET_LINK_LIBRARIES(fpa_experiments_Hausdorff ${ITK_LIBRARIES} ${VTK_LIBRARIES}) + ## eof - $RCSfile$ diff --git a/appli/experiments/Hausdorff.cxx b/appli/experiments/Hausdorff.cxx new file mode 100644 index 0000000..dce01ef --- /dev/null +++ b/appli/experiments/Hausdorff.cxx @@ -0,0 +1,48 @@ +#include +#include +#include + +typedef double TScalar; +typedef itk::Image< TScalar, 3 > TImage; +typedef itk::ImageFileReader< TImage > TReader; +typedef itk::HausdorffDistanceImageFilter< TImage, TImage > THausdorff; + +int main( int argc, char* argv[] ) +{ + if( argc < 3 ) + { + std::cerr + << "Usage: " << argv[ 0 ] + << " image1 image2" + << std::endl; + return( 1 ); + + } // fi + std::string image1_name = argv[ 1 ]; + std::string image2_name = argv[ 2 ]; + + TReader::Pointer reader1 = TReader::New( ); + reader1->SetFileName( image1_name ); + reader1->Update( ); + + TReader::Pointer reader2 = TReader::New( ); + reader2->SetFileName( image2_name ); + reader2->Update( ); + + THausdorff::Pointer hausdorff = THausdorff::New( ); + hausdorff->SetInput1( reader1->GetOutput( ) ); + hausdorff->SetInput2( reader2->GetOutput( ) ); + hausdorff->SetUseImageSpacing( true ); + hausdorff->Update( ); + + std::cout + << image1_name << " " + << image2_name << " " + << hausdorff->GetHausdorffDistance( ) << " " + << hausdorff->GetAverageHausdorffDistance( ) + << std::endl; + + return( 0 ); +} + +// eof - $RCSfile$ -- 2.45.0