]> Creatis software - FrontAlgorithms.git/blobdiff - tests/image/SkeletonToPolyData.cxx
...
[FrontAlgorithms.git] / tests / image / SkeletonToPolyData.cxx
diff --git a/tests/image/SkeletonToPolyData.cxx b/tests/image/SkeletonToPolyData.cxx
new file mode 100644 (file)
index 0000000..6ee6fd8
--- /dev/null
@@ -0,0 +1,63 @@
+
+#include <vtkPolyDataWriter.h>
+#include <vtkSmartPointer.h>
+
+#include <fpa/Image/Skeleton.h>
+#include <fpa/Image/SkeletonReader.h>
+#include <fpa/Image/SkeletonToPolyDataFilter.h>
+
+// -------------------------------------------------------------------------
+const unsigned int Dim = 3;
+typedef fpa::Image::Skeleton< Dim > TSkeleton;
+typedef fpa::Image::SkeletonToPolyDataFilter< TSkeleton > TFilter;
+
+// -------------------------------------------------------------------------
+int main( int argc, char* argv[] )
+{
+#ifdef USE_VTK
+  // Get arguments
+  if( argc < 3 )
+  {
+    std::cerr
+      << "Usage: " << argv[ 0 ]
+      << " input_skeleton output_polydata"
+      << std::endl;
+    return( 1 );
+
+  } // fi
+  std::string input_skeleton_filename = argv[ 1 ];
+  std::string output_polydata_filename = argv[ 2 ];
+
+  fpa::Image::SkeletonReader< TSkeleton >::Pointer reader =
+    fpa::Image::SkeletonReader< TSkeleton >::New( );
+  reader->SetFileName( input_skeleton_filename );
+  try
+  {
+    reader->Update( );
+  }
+  catch( std::exception& err )
+  {
+    std::cerr << "Error caught: " << err.what( ) << std::endl;
+    return( 1 );
+
+  } // yrt
+
+  vtkSmartPointer< TFilter > filter = vtkSmartPointer< TFilter >::New( );
+  filter->SetInput( reader->GetOutput( ) );
+
+  vtkSmartPointer< vtkPolyDataWriter > writer =
+    vtkSmartPointer< vtkPolyDataWriter >::New( );
+  writer->SetInputConnection( filter->GetOutputPort( ) );
+  writer->SetFileName( output_polydata_filename.c_str( ) );
+  writer->Update( );
+
+  return( 0 );
+#else // USE_VTK
+  std::cerr
+    << "Error: FrontAlgorithms was compiled without VTK support."
+    << std::endl;
+  return( 1 );
+#endif // USE_VTK
+}
+
+// eof - $RCSfile$