1 #include "MinimumSpanningTreeWriter.h"
2 #include "MinimumSpanningTree.h"
4 #include <fpa_Instances/Instances.h>
6 // -------------------------------------------------------------------------
7 fpaPlugins::MinimumSpanningTreeWriter::
8 MinimumSpanningTreeWriter( )
11 this->_AddInput( "Input" );
12 this->m_Parameters.Clear( );
13 this->m_Parameters.ConfigureAsSaveFileName( "FileName" );
14 this->m_Parameters.SetAcceptedFileExtensions(
16 "Minimum spanning tree files (*.mst)"
20 // -------------------------------------------------------------------------
21 fpaPlugins::MinimumSpanningTreeWriter::
22 ~MinimumSpanningTreeWriter( )
26 // -------------------------------------------------------------------------
27 std::string fpaPlugins::MinimumSpanningTreeWriter::
30 typedef fpa::Image::MinimumSpanningTree< 2 > _2D;
31 typedef fpa::Image::MinimumSpanningTree< 3 > _3D;
33 auto _2d = this->GetInputData( "Input" )->GetITK< _2D >( );
34 auto _3d = this->GetInputData( "Input" )->GetITK< _3D >( );
36 if ( _2d != NULL ) return( this->_GD0( _2d ) );
37 else if( _3d != NULL ) return( this->_GD0( _3d ) );
39 return( "MinimumSpanningTreeWriter: Not a valid MST." );
42 // -------------------------------------------------------------------------
43 template< class _TTree >
44 std::string fpaPlugins::MinimumSpanningTreeWriter::
47 typedef fpa::IO::MinimumSpanningTreeWriter< _TTree > _TFilter;
49 _TFilter* writer = this->_CreateITK< _TFilter >( );
50 writer->SetInput( tree );
51 writer->SetFileName( this->m_Parameters.GetSaveFileName( "FileName" ) );
56 catch( itk::ExceptionObject& err )
59 "MinimumSpanningTreeWriter: " + std::string( err.GetDescription( ) )