]> Creatis software - FrontAlgorithms.git/blob - tests/image/VTK/SkeletonToPolyData.cxx
0c58d56f642b2ae4d57a313d37363cb881b5b353
[FrontAlgorithms.git] / tests / image / VTK / SkeletonToPolyData.cxx
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5
6 #include <vtkPolyDataWriter.h>
7 #include <vtkSmartPointer.h>
8 #include <fpa/DataStructures/Image/Skeleton.h>
9 #include <fpa/Common/Image/SkeletonReader.h>
10 #include <fpa/VTK/Image/SkeletonToPolyDataFilter.h>
11
12 // -------------------------------------------------------------------------
13 const unsigned int Dim = 2;
14 typedef fpa::DataStructures::Image::Skeleton< Dim > TSkeleton;
15
16 // -------------------------------------------------------------------------
17 int main( int argc, char* argv[] )
18 {
19   // Get arguments
20   if( argc < 3 )
21   {
22     std::cerr
23       << "Usage: " << argv[ 0 ]
24       << " input_skeleton output_vtk"
25       << std::endl;
26     return( 1 );
27
28   } // fi
29   std::string input_skeleton_filename = argv[ 1 ];
30   std::string output_vtk_filename = argv[ 2 ];
31
32   // Read image
33   typedef fpa::Common::Image::SkeletonReader< TSkeleton > TReader;
34   TReader::Pointer input_skeleton_reader = TReader::New( );
35   input_skeleton_reader->SetFileName( input_skeleton_filename );
36   input_skeleton_reader->Update( );
37
38   // Execute filter
39   typedef fpa::VTK::Image::SkeletonToPolyDataFilter< TSkeleton > TFilter;
40   vtkSmartPointer< TFilter > filter = vtkSmartPointer< TFilter >::New( );
41   filter->SetInput( input_skeleton_reader->GetOutput( ) );
42   filter->Update( );
43
44   // Save results
45   vtkSmartPointer< vtkPolyDataWriter > output_vtk_writer =
46     vtkSmartPointer< vtkPolyDataWriter >::New( );
47   output_vtk_writer->SetFileName( output_vtk_filename.c_str( ) );
48   output_vtk_writer->SetInputConnection( filter->GetOutputPort( ) );
49   output_vtk_writer->Update( );
50
51   return( 0 );
52 }
53
54 // eof - $RCSfile$