#include #include #include #include #include // ------------------------------------------------------------------------- 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$