--- /dev/null
+// =========================================================================
+// @author Leonardo Florez Valencia
+// @email florez-l@javeriana.edu.co
+// =========================================================================
+#ifndef __fpa__Filters__SingleSeedInterface__hxx__
+#define __fpa__Filters__SingleSeedInterface__hxx__
+
+// -------------------------------------------------------------------------
+template< class _TTraits >
+fpa::Filters::SingleSeedInterface< _TTraits >::
+SingleSeedInterface( itk::ProcessObject* f )
+ : m_Filter( f )
+{
+}
+
+// -------------------------------------------------------------------------
+template< class _TTraits >
+fpa::Filters::SingleSeedInterface< _TTraits >::
+~SingleSeedInterface( )
+{
+}
+
+// -------------------------------------------------------------------------
+template< class _TTraits >
+void fpa::Filters::SingleSeedInterface< _TTraits >::
+SetSeed( const TPoint& s )
+{
+ this->m_InputSeed.Point = s;
+ this->m_InputSeed.IsPoint = true;
+ if( this->m_Filter.IsNotNull( ) )
+ this->m_Filter->Modified( );
+}
+
+// -------------------------------------------------------------------------
+template< class _TTraits >
+void fpa::Filters::SingleSeedInterface< _TTraits >::
+SetSeed( const TVertex& s )
+{
+ this->m_InputSeed.Vertex = s;
+ this->m_InputSeed.IsPoint = false;
+ if( this->m_Filter.IsNotNull( ) )
+ this->m_Filter->Modified( );
+}
+
+// -------------------------------------------------------------------------
+template< class _TTraits >
+const typename fpa::Filters::SingleSeedInterface< _TTraits >::
+TNodes& fpa::Filters::SingleSeedInterface< _TTraits >::
+GetSeeds( ) const
+{
+ return( this->m_UnifiedSeed );
+}
+
+// -------------------------------------------------------------------------
+template< class _TTraits >
+void fpa::Filters::SingleSeedInterface< _TTraits >::
+_PrepareSeeds( const itk::DataObject* input )
+{
+ // Input object is an image?
+ typedef itk::ImageBase< Self::Dimension > _TImageBase;
+ const _TImageBase* image = dynamic_cast< const _TImageBase* >( input );
+ if( image != NULL )
+ {
+ this->m_UnifiedSeed.clear( );
+ TSeed iSeed = this->m_InputSeed;
+ if( iSeed.IsPoint )
+ image->TransformPhysicalPointToIndex( iSeed.Point, iSeed.Vertex );
+ TNode node;
+ node.Vertex = iSeed.Vertex;
+ node.Parent = iSeed.Vertex;
+ node.FrontId = iSeed.FrontId;
+ this->m_UnifiedSeed.insert( node );
+
+ } // fi
+}
+
+#endif // __fpa__Filters__SingleSeedInterface__hxx__
+// eof - $RCSfile$