1 #include "MinimumSpanningTreeWriter.h"
2 #include "MinimumSpanningTree.h"
4 #include <fpa/IO/MinimumSpanningTreeWriter.h>
5 #include <fpa/IO/MinimumSpanningTreeWriter.hxx>
7 // -------------------------------------------------------------------------
8 fpaPlugins::MinimumSpanningTreeWriter::
9 MinimumSpanningTreeWriter( )
12 this->_AddInput( "Input" );
13 this->m_Parameters.Clear( );
14 this->m_Parameters.ConfigureAsSaveFileName( "FileName" );
15 this->m_Parameters.SetAcceptedFileExtensions(
17 "Minimum spanning tree files (*.mst)"
21 // -------------------------------------------------------------------------
22 fpaPlugins::MinimumSpanningTreeWriter::
23 ~MinimumSpanningTreeWriter( )
27 // -------------------------------------------------------------------------
28 std::string fpaPlugins::MinimumSpanningTreeWriter::
31 typedef fpa::Image::MinimumSpanningTree< 2 > _2D;
32 typedef fpa::Image::MinimumSpanningTree< 3 > _3D;
34 auto _2d = this->GetInputData( "Input" )->GetITK< _2D >( );
35 auto _3d = this->GetInputData( "Input" )->GetITK< _3D >( );
37 if ( _2d != NULL ) return( this->_GD0( _2d ) );
38 else if( _3d != NULL ) return( this->_GD0( _3d ) );
40 return( "MinimumSpanningTreeWriter: Not a valid MST." );
43 // -------------------------------------------------------------------------
44 template< class _TTree >
45 std::string fpaPlugins::MinimumSpanningTreeWriter::
48 typedef fpa::IO::MinimumSpanningTreeWriter< _TTree > _TFilter;
50 _TFilter* writer = this->_CreateITK< _TFilter >( );
51 writer->SetInput( tree );
52 writer->SetFileName( this->m_Parameters.GetSaveFileName( "FileName" ) );
57 catch( itk::ExceptionObject& err )
60 "MinimumSpanningTreeWriter: " + std::string( err.GetDescription( ) )