#include "MinimumSpanningTreeWriter.h" #include "MinimumSpanningTree.h" #include // ------------------------------------------------------------------------- fpaPlugins::MinimumSpanningTreeWriter:: MinimumSpanningTreeWriter( ) : Superclass( ) { this->_AddInput( "Input" ); this->m_Parameters.Clear( ); this->m_Parameters.ConfigureAsSaveFileName( "FileName" ); this->m_Parameters.SetAcceptedFileExtensions( "FileName", "Minimum spanning tree files (*.mst)" ); } // ------------------------------------------------------------------------- fpaPlugins::MinimumSpanningTreeWriter:: ~MinimumSpanningTreeWriter( ) { } // ------------------------------------------------------------------------- void fpaPlugins::MinimumSpanningTreeWriter:: _GenerateData( ) { typedef fpa::Image::MinimumSpanningTree< 2 > _2D; typedef fpa::Image::MinimumSpanningTree< 3 > _3D; auto _2d = this->GetInputData< _2D >( "Input" ); auto _3d = this->GetInputData< _3D >( "Input" ); if ( _2d != NULL ) this->_GD0( _2d ); else if( _3d != NULL ) this->_GD0( _3d ); else this->_Error( "Not a valid MST." ); } // ------------------------------------------------------------------------- template< class _TTree > void fpaPlugins::MinimumSpanningTreeWriter:: _GD0( _TTree* tree ) { typedef fpa::IO::MinimumSpanningTreeWriter< _TTree > _TFilter; _TFilter* writer = this->_CreateITK< _TFilter >( ); writer->SetInput( tree ); writer->SetFileName( this->m_Parameters.GetSaveFileName( "FileName" ) ); try { writer->Update( ); } catch( itk::ExceptionObject& err ) { this->_Error( err.GetDescription( ) ); } // yrt } // eof - $RCSfile$