]> Creatis software - FrontAlgorithms.git/blobdiff - tests/image/VTK/SkeletonToPolyData.cxx
...
[FrontAlgorithms.git] / tests / image / VTK / SkeletonToPolyData.cxx
diff --git a/tests/image/VTK/SkeletonToPolyData.cxx b/tests/image/VTK/SkeletonToPolyData.cxx
new file mode 100644 (file)
index 0000000..0c58d56
--- /dev/null
@@ -0,0 +1,54 @@
+// =========================================================================
+// @author Leonardo Florez Valencia
+// @email florez-l@javeriana.edu.co
+// =========================================================================
+
+#include <vtkPolyDataWriter.h>
+#include <vtkSmartPointer.h>
+#include <fpa/DataStructures/Image/Skeleton.h>
+#include <fpa/Common/Image/SkeletonReader.h>
+#include <fpa/VTK/Image/SkeletonToPolyDataFilter.h>
+
+// -------------------------------------------------------------------------
+const unsigned int Dim = 2;
+typedef fpa::DataStructures::Image::Skeleton< Dim > TSkeleton;
+
+// -------------------------------------------------------------------------
+int main( int argc, char* argv[] )
+{
+  // Get arguments
+  if( argc < 3 )
+  {
+    std::cerr
+      << "Usage: " << argv[ 0 ]
+      << " input_skeleton output_vtk"
+      << std::endl;
+    return( 1 );
+
+  } // fi
+  std::string input_skeleton_filename = argv[ 1 ];
+  std::string output_vtk_filename = argv[ 2 ];
+
+  // Read image
+  typedef fpa::Common::Image::SkeletonReader< TSkeleton > TReader;
+  TReader::Pointer input_skeleton_reader = TReader::New( );
+  input_skeleton_reader->SetFileName( input_skeleton_filename );
+  input_skeleton_reader->Update( );
+
+  // Execute filter
+  typedef fpa::VTK::Image::SkeletonToPolyDataFilter< TSkeleton > TFilter;
+  vtkSmartPointer< TFilter > filter = vtkSmartPointer< TFilter >::New( );
+  filter->SetInput( input_skeleton_reader->GetOutput( ) );
+  filter->Update( );
+
+  // Save results
+  vtkSmartPointer< vtkPolyDataWriter > output_vtk_writer =
+    vtkSmartPointer< vtkPolyDataWriter >::New( );
+  output_vtk_writer->SetFileName( output_vtk_filename.c_str( ) );
+  output_vtk_writer->SetInputConnection( filter->GetOutputPort( ) );
+  output_vtk_writer->Update( );
+
+  return( 0 );
+}
+
+// eof - $RCSfile$