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 void fpaPlugins::MinimumSpanningTreeWriter::
30 typedef fpa::Image::MinimumSpanningTree< 2 > _2D;
31 typedef fpa::Image::MinimumSpanningTree< 3 > _3D;
33 auto _2d = this->GetInputData< _2D >( "Input" );
34 auto _3d = this->GetInputData< _3D >( "Input" );
36 if ( _2d != NULL ) this->_GD0( _2d );
37 else if( _3d != NULL ) this->_GD0( _3d );
38 else this->_Error( "Not a valid MST." );
41 // -------------------------------------------------------------------------
42 template< class _TTree >
43 void fpaPlugins::MinimumSpanningTreeWriter::
46 typedef fpa::IO::MinimumSpanningTreeWriter< _TTree > _TFilter;
48 _TFilter* writer = this->_CreateITK< _TFilter >( );
49 writer->SetInput( tree );
50 writer->SetFileName( this->m_Parameters.GetSaveFileName( "FileName" ) );
55 catch( itk::ExceptionObject& err )
57 this->_Error( err.GetDescription( ) );