]> Creatis software - FrontAlgorithms.git/blobdiff - tests/image/SkeletonFilter.cxx
...
[FrontAlgorithms.git] / tests / image / SkeletonFilter.cxx
index ec0aa74aa1c20e850e2ccc71d5232ce42e7437e1..0cdeb6a8a97c948171f98f9566e4640f0f54d704 100644 (file)
@@ -1,9 +1,10 @@
 #include "BaseFunctions.h"
 #include <itkImage.h>
 #include <fpa/Image/SkeletonFilter.h>
+#include <fpa/Image/SkeletonWriter.h>
 
 // -------------------------------------------------------------------------
-const unsigned int Dim = 3;
+const unsigned int Dim = 2;
 typedef short TPixel;
 
 typedef itk::Image< TPixel, Dim >                 TInputImage;
@@ -56,18 +57,29 @@ int main( int argc, char* argv[] )
   else
     filter->SeedFromMaximumDistanceOn( );
 
+  // Configure distance map
+  filter->GetDistanceMap( )->InsideIsPositiveOn( );
+  filter->GetDistanceMap( )->SquaredDistanceOff( );
+  filter->GetDistanceMap( )->UseImageSpacingOn( );
+
   // Update
   filter->Update( );
 
   // Save results
-  /* TODO
-     std::string err1 =
-     fpa::tests::image::Write( filter->GetOutput( ), output_image_filename );
-     std::string err2 =
-     fpa::tests::image::Write( filter->GetMarks( ), output_marks_filename );
-     if( err1 != "" ) std::cerr << err1 << std::endl;
-     if( err2 != "" ) std::cerr << err2 << std::endl;
-  */
+  fpa::Image::SkeletonWriter< TFilter::TSkeleton >::Pointer writer =
+    fpa::Image::SkeletonWriter< TFilter::TSkeleton >::New( );
+  writer->SetInput( filter->GetOutput( ) );
+  writer->SetFileName( output_skeleton_filename );
+  try
+  {
+    writer->Update( );
+  }
+  catch( std::exception& err )
+  {
+    std::cerr << "Error caught: " << err.what( ) << std::endl;
+    return( 1 );
+
+  } // yrt
   return( 0 );
 }