#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$