--- /dev/null
+
+#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$