]> Creatis software - FrontAlgorithms.git/blob - appli/experiments/Hausdorff.cxx
...
[FrontAlgorithms.git] / appli / experiments / Hausdorff.cxx
1 #include <itkImage.h>
2 #include <itkImageFileReader.h>
3 #include <itkHausdorffDistanceImageFilter.h>
4
5 typedef double TScalar;
6 typedef itk::Image< TScalar, 3 > TImage;
7 typedef itk::ImageFileReader< TImage > TReader;
8 typedef itk::HausdorffDistanceImageFilter< TImage, TImage > THausdorff;
9
10 int main( int argc, char* argv[] )
11 {
12   if( argc < 3 )
13   {
14     std::cerr
15       << "Usage: " << argv[ 0 ]
16       << " image1 image2"
17       << std::endl;
18     return( 1 );
19
20   } // fi
21   std::string image1_name = argv[ 1 ];
22   std::string image2_name = argv[ 2 ];
23
24   TReader::Pointer reader1 = TReader::New( );
25   reader1->SetFileName( image1_name );
26   reader1->Update( );
27
28   TReader::Pointer reader2 = TReader::New( );
29   reader2->SetFileName( image2_name );
30   reader2->Update( );
31
32   THausdorff::Pointer hausdorff = THausdorff::New( );
33   hausdorff->SetInput1( reader1->GetOutput( ) );
34   hausdorff->SetInput2( reader2->GetOutput( ) );
35   hausdorff->SetUseImageSpacing( true );
36   hausdorff->Update( );
37
38   std::cout
39     << image1_name << " "
40     << image2_name << " "
41     << hausdorff->GetHausdorffDistance( ) << " "
42     << hausdorff->GetAverageHausdorffDistance( )
43     << std::endl;
44
45   return( 0 );
46 }
47
48 // eof - $RCSfile$