#ifndef __FPA__BASE__EXTRACTPATHFROMMINIMUMSPANNINGTREE__HXX__ #define __FPA__BASE__EXTRACTPATHFROMMINIMUMSPANNINGTREE__HXX__ // ------------------------------------------------------------------------- template< class T > const T* fpa::Base::ExtractPathFromMinimumSpanningTree< T >:: GetInput( ) const { return( dynamic_cast< const T* >( this->itk::ProcessObject::GetInput( 0 ) ) ); } // ------------------------------------------------------------------------- template< class T > void fpa::Base::ExtractPathFromMinimumSpanningTree< T >:: SetInput( const T* tree ) { this->itk::ProcessObject::SetNthInput( 0, const_cast< T* >( tree ) ); } // ------------------------------------------------------------------------- template< class T > typename fpa::Base::ExtractPathFromMinimumSpanningTree< T >:: TPath* fpa::Base::ExtractPathFromMinimumSpanningTree< T >:: GetOutput( ) { return( itkDynamicCastInDebugMode< TPath* >( this->GetPrimaryOutput( ) ) ); } // ------------------------------------------------------------------------- template< class T > fpa::Base::ExtractPathFromMinimumSpanningTree< T >:: ExtractPathFromMinimumSpanningTree( ) : Superclass( ) { this->itk::ProcessObject::SetNumberOfRequiredInputs( 1 ); typename TPath::Pointer out = TPath::New( ); this->itk::ProcessObject::SetNumberOfRequiredOutputs( 1 ); this->itk::ProcessObject::SetNthOutput( 0, out.GetPointer( ) ); } // ------------------------------------------------------------------------- template< class T > fpa::Base::ExtractPathFromMinimumSpanningTree< T >:: ~ExtractPathFromMinimumSpanningTree( ) { } // ------------------------------------------------------------------------- template< class T > void fpa::Base::ExtractPathFromMinimumSpanningTree< T >:: GenerateData( ) { auto tree = this->GetInput( ); auto path = this->GetOutput( ); auto lst = tree->GetPath( this->m_Vertex0, this->m_Vertex1 ); path->Initialize( ); for( auto i = lst.begin( ); i != lst.end( ); ++i ) path->AddVertex( *i ); path->SetReferenceImage( tree ); } #endif // __FPA__BASE__EXTRACTPATHFROMMINIMUMSPANNINGTREE__HXX__ // eof - $RCSfile$