2 #include <vtkPolyDataWriter.h>
3 #include <vtkSmartPointer.h>
5 #include <fpa/Image/Skeleton.h>
6 #include <fpa/Image/SkeletonReader.h>
7 #include <fpa/Image/SkeletonToPolyDataFilter.h>
9 // -------------------------------------------------------------------------
10 const unsigned int Dim = 3;
11 typedef fpa::Image::Skeleton< Dim > TSkeleton;
12 typedef fpa::Image::SkeletonToPolyDataFilter< TSkeleton > TFilter;
14 // -------------------------------------------------------------------------
15 int main( int argc, char* argv[] )
22 << "Usage: " << argv[ 0 ]
23 << " input_skeleton output_polydata"
28 std::string input_skeleton_filename = argv[ 1 ];
29 std::string output_polydata_filename = argv[ 2 ];
31 fpa::Image::SkeletonReader< TSkeleton >::Pointer reader =
32 fpa::Image::SkeletonReader< TSkeleton >::New( );
33 reader->SetFileName( input_skeleton_filename );
38 catch( std::exception& err )
40 std::cerr << "Error caught: " << err.what( ) << std::endl;
45 vtkSmartPointer< TFilter > filter = vtkSmartPointer< TFilter >::New( );
46 filter->SetInput( reader->GetOutput( ) );
48 vtkSmartPointer< vtkPolyDataWriter > writer =
49 vtkSmartPointer< vtkPolyDataWriter >::New( );
50 writer->SetInputConnection( filter->GetOutputPort( ) );
51 writer->SetFileName( output_polydata_filename.c_str( ) );
57 << "Error: FrontAlgorithms was compiled without VTK support."