#include <itkConceptChecking.h>
#include <itkProcessObject.h>
-/* TODO
- #include <functional>
- #include <set>
- #include <vector>
-*/
-
namespace fpa
{
namespace Base
typedef _TTraits TTraits;
fpa_Base_TraitTypes( typename TTraits );
- /* TODO
- typedef _TVertex TVertex;
- typedef _TPoint TPoint;
- typedef _TInputValue TInputValue;
- typedef _TOutputValue TOutputValue;
- typedef _TFrontId TFrontId;
- typedef _TCompare TCompare;
- typedef SeedsInterface Self;
-
- struct TSeed
- {
- TVertex Vertex;
- TPoint Point;
- bool IsPoint;
- bool IsUnified;
- TFrontId FrontId;
- TSeed( )
- : IsUnified( false ),
- FrontId( TFrontId( 0 ) )
- { }
- };
- typedef std::vector< TSeed > TSeeds;
-
- struct TNode
- {
- TVertex Vertex;
- TVertex Parent;
- TFrontId FrontId;
-
- // Hack to hide the fact that seed values need to be initialized
- mutable TOutputValue Value;
- };
- struct TNodeCompare
- {
- bool operator()( const TNode& a, const TNode& b ) const
- {
- TCompare cmp;
- return( cmp( a.Vertex, b.Vertex ) );
- }
- };
- typedef std::set< TNode, TNodeCompare > TNodes;
- */
-
private:
itkConceptMacro(
Check_TFrontId,
- ( itk::Concept::IsUnsignedInteger< _TFrontId > )
+ ( itk::Concept::IsUnsignedInteger< TFrontId > )
);
public:
typedef _TTraits TTraits;
fpa_Base_TraitTypes( typename TTraits );
- /* TODO
- typedef _TVertex TVertex;
- typedef _TPoint TPoint;
- typedef _TInputValue TInputValue;
- typedef _TOutputValue TOutputValue;
- typedef _TFrontId TFrontId;
- typedef _TCompare TCompare;
- typedef SeedsInterface Self;
-
- struct TSeed
- {
- TVertex Vertex;
- TPoint Point;
- bool IsPoint;
- bool IsUnified;
- TFrontId FrontId;
- TSeed( )
- : IsUnified( false ),
- FrontId( TFrontId( 0 ) )
- { }
- };
- typedef std::vector< TSeed > TSeeds;
-
- struct TNode
- {
- TVertex Vertex;
- TVertex Parent;
- TFrontId FrontId;
-
- // Hack to hide the fact that seed values need to be initialized
- mutable TOutputValue Value;
- };
- struct TNodeCompare
- {
- bool operator()( const TNode& a, const TNode& b ) const
- {
- TCompare cmp;
- return( cmp( a.Vertex, b.Vertex ) );
- }
- };
- typedef std::set< TNode, TNodeCompare > TNodes;
- */
-
private:
itkConceptMacro(
Check_TFrontId,
- ( itk::Concept::IsUnsignedInteger< _TFrontId > )
+ ( itk::Concept::IsUnsignedInteger< TFrontId > )
);
public:
// -------------------------------------------------------------------------
#define fpa_Base_TraitTypes( _traits_ ) \
+ typedef _traits_::TEvent TEvent; \
+ typedef _traits_::TFrontId TFrontId; \
typedef _traits_::TInputValue TInputValue; \
- typedef _traits_::TOutputValue TOutputValue; \
typedef _traits_::TNeighborhood TNeighborhood; \
typedef _traits_::TNode TNode; \
typedef _traits_::TNodes TNodes; \
+ typedef _traits_::TOutputValue TOutputValue; \
+ typedef _traits_::TPoint TPoint; \
+ typedef _traits_::TSeed TSeed; \
typedef _traits_::TSeeds TSeeds; \
- typedef _traits_::TVertex TVertex; \
- typedef _traits_::TEvent TEvent
+ typedef _traits_::TVertex TVertex
#endif // __fpa__Config__h__
#ifndef __fpa__Image__DefaultTraits__h__
#define __fpa__Image__DefaultTraits__h__
+#include <set>
#include <vector>
#include <itkConceptChecking.h>
-#include <itkImageToImageFilter.h>
+#include <fpa/Base/Event.h>
namespace fpa
{
typedef typename TOutputImage::PixelType TOutputValue;
typedef typename TVertex::LexicographicCompare TCompare;
- typedef std::vector< TVertex > TNeighborhood;
+ typedef fpa::Base::Event< TVertex > TEvent;
+ typedef std::vector< TVertex > TNeighborhood;
- typedef typename TSeedsInterface::TNode TNode;
- typedef typename TSeedsInterface::TNodes TNodes;
- typedef typename TSeedsInterface::TSeed TSeed;
- typedef typename TSeedsInterface::TSeeds TSeeds;
+ struct TSeed
+ {
+ TVertex Vertex;
+ TPoint Point;
+ bool IsPoint;
+ bool IsUnified;
+ TFrontId FrontId;
+ TSeed( )
+ : IsUnified( false ),
+ FrontId( TFrontId( 0 ) )
+ { }
+ };
+ typedef std::vector< TSeed > TSeeds;
+
+ struct TNode
+ {
+ TVertex Vertex;
+ TVertex Parent;
+ TFrontId FrontId;
+
+ // Hack to hide the fact that seed values need to be initialized
+ mutable TOutputValue Value;
+ };
+ struct TNodeCompare
+ {
+ bool operator()( const TNode& a, const TNode& b ) const
+ {
+ TCompare cmp;
+ return( cmp( a.Vertex, b.Vertex ) );
+ }
+ };
+ typedef std::set< TNode, TNodeCompare > TNodes;
private:
itkConceptMacro(
#define __fpa__Image__Dijkstra__h__
#include <fpa/Base/Dijkstra.h>
+#include <fpa/Base/MarksInterfaceWithCollisions.h>
+#include <fpa/Base/SeedsInterface.h>
#include <fpa/Image/Algorithm.h>
#include <fpa/Image/DefaultTraits.h>
#include <fpa/Image/MinimumSpanningTree.h>
{
/**
*/
- template< class _TInputImage, class _TOutputImage, class _TFrontId = unsigned char >
+ template< class _TInputImage, class _TOutputImage, class _TFrontId = unsigned char, class _TTraits = fpa::Image::DefaultTraits< _TInputImage, _TOutputImage, _TFrontId > >
class Dijkstra
- : public fpa::Base::Dijkstra< fpa::Image::Algorithm< fpa::Image::DefaultTraits< _TInputImage, _TOutputImage, _TFrontId > >, fpa::Image::MinimumSpanningTree< _TInputImage::ImageDimension > >
+ : public fpa::Base::Dijkstra< fpa::Image::Algorithm< _TTraits, fpa::Base::MarksInterfaceWithCollisions< _TTraits >, fpa::Base::SeedsInterface< _TTraits > >, fpa::Image::MinimumSpanningTree< _TInputImage::ImageDimension > >
{
public:
typedef _TInputImage TInputImage;
typedef _TOutputImage TOutputImage;
- typedef _TFrontId TFrontId;
+ typedef _TTraits TTraits;
+ typedef fpa::Base::MarksInterfaceWithCollisions< TTraits > TMarksInterface;
+ typedef fpa::Base::SeedsInterface< TTraits > TSeedsInterface;
typedef fpa::Image::MinimumSpanningTree< _TInputImage::ImageDimension > TMST;
- typedef fpa::Image::DefaultTraits< TInputImage, TOutputImage, TFrontId > TTraits;
- typedef fpa::Image::Algorithm< TTraits > TAlgorithm;
+ typedef fpa::Image::Algorithm< TTraits, TMarksInterface, TSeedsInterface > TAlgorithm;
typedef fpa::Base::Dijkstra< TAlgorithm, TMST > Superclass;
typedef Dijkstra Self;
typedef itk::SmartPointer< Self > Pointer;
typedef itk::SmartPointer< const Self > ConstPointer;
- typedef typename Superclass::TOutputValue TOutputValue;
- typedef typename Superclass::TVertex TVertex;
+ fpa_Base_TraitTypes( typename TTraits );
typedef fpa::Image::Functors::Dijkstra::Function< TInputImage, TOutputValue > TWeightFunction;
#define __fpa__Image__Dijkstra__hxx__
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TOutputImage, class _TFrontId >
-fpa::Image::Dijkstra< _TInputImage, _TOutputImage, _TFrontId >::
+template< class _TInputImage, class _TOutputImage, class _TFrontId, class _TTraits >
+fpa::Image::Dijkstra< _TInputImage, _TOutputImage, _TFrontId, _TTraits >::
Dijkstra( )
: Superclass( )
{
}
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TOutputImage, class _TFrontId >
-fpa::Image::Dijkstra< _TInputImage, _TOutputImage, _TFrontId >::
+template< class _TInputImage, class _TOutputImage, class _TFrontId, class _TTraits >
+fpa::Image::Dijkstra< _TInputImage, _TOutputImage, _TFrontId, _TTraits >::
~Dijkstra( )
{
}
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TOutputImage, class _TFrontId >
-void fpa::Image::Dijkstra< _TInputImage, _TOutputImage, _TFrontId >::
+template< class _TInputImage, class _TOutputImage, class _TFrontId, class _TTraits >
+void fpa::Image::Dijkstra< _TInputImage, _TOutputImage, _TFrontId, _TTraits >::
_BeforeGenerateData( )
{
this->Superclass::_BeforeGenerateData( );
}
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TOutputImage, class _TFrontId >
-void fpa::Image::Dijkstra< _TInputImage, _TOutputImage, _TFrontId >::
+template< class _TInputImage, class _TOutputImage, class _TFrontId, class _TTraits >
+void fpa::Image::Dijkstra< _TInputImage, _TOutputImage, _TFrontId, _TTraits >::
_ConfigureOutput( const TOutputValue& v )
{
this->Superclass::_ConfigureOutput( v );
#define __fpa__Image__LabelledSeedsInterface__h__
#include <fpa/Base/SeedsInterface.h>
-
#include <itkImage.h>
namespace fpa
{
/**
*/
- template< class _TVertex, class _TPoint, class _TInputValue, class _TOutputValue, class _TFrontId, class _TCompare = std::greater< _TVertex > >
+ template< class _TTraits >
class LabelledSeedsInterface
- : public fpa::Base::SeedsInterface< _TVertex, _TPoint, _TInputValue, _TOutputValue, _TFrontId, _TCompare >
+ : public fpa::Base::SeedsInterface< _TTraits >
{
public:
- typedef _TVertex TVertex;
- typedef _TPoint TPoint;
- typedef _TInputValue TInputValue;
- typedef _TOutputValue TOutputValue;
- typedef _TFrontId TFrontId;
- typedef _TCompare TCompare;
- typedef LabelledSeedsInterface Self;
- typedef fpa::Base::SeedsInterface< TVertex, TPoint, TInputValue, TOutputValue, TFrontId, TCompare > Superclass;
-
- typedef typename Superclass::TNode TNode;
- typedef typename Superclass::TNodeCompare TNodeCompare;
- typedef typename Superclass::TSeeds TSeeds;
+ typedef _TTraits TTraits;
+ typedef LabelledSeedsInterface Self;
+ typedef fpa::Base::SeedsInterface< TTraits > Superclass;
+ fpa_Base_TraitTypes( typename TTraits );
typedef itk::Image< TFrontId, TVertex::Dimension > TLabelImage;
#include <itkExceptionObject.h>
// -------------------------------------------------------------------------
-template< class _TVertex, class _TPoint, class _TInputValue, class _TOutputValue, class _TFrontId, class _TCompare >
-void
-fpa::Image::LabelledSeedsInterface< _TVertex, _TPoint, _TInputValue, _TOutputValue, _TFrontId, _TCompare >::
+template< class _TTraits >
+void fpa::Image::LabelledSeedsInterface< _TTraits >::
AddSeed( const TVertex& seed )
{
std::ostringstream msg;
}
// -------------------------------------------------------------------------
-template< class _TVertex, class _TPoint, class _TInputValue, class _TOutputValue, class _TFrontId, class _TCompare >
-void
-fpa::Image::LabelledSeedsInterface< _TVertex, _TPoint, _TInputValue, _TOutputValue, _TFrontId, _TCompare >::
+template< class _TTraits >
+void fpa::Image::LabelledSeedsInterface< _TTraits >::
AddSeed( const TPoint& seed )
{
std::ostringstream msg;
}
// -------------------------------------------------------------------------
-template< class _TVertex, class _TPoint, class _TInputValue, class _TOutputValue, class _TFrontId, class _TCompare >
-const typename
-fpa::Image::LabelledSeedsInterface< _TVertex, _TPoint, _TInputValue, _TOutputValue, _TFrontId, _TCompare >::
-TLabelImage*
-fpa::Image::LabelledSeedsInterface< _TVertex, _TPoint, _TInputValue, _TOutputValue, _TFrontId, _TCompare >::
+template< class _TTraits >
+const typename fpa::Image::LabelledSeedsInterface< _TTraits >::
+TLabelImage* fpa::Image::LabelledSeedsInterface< _TTraits >::
GetLabels( ) const
{
return( this->m_LabelImage );
}
// -------------------------------------------------------------------------
-template< class _TVertex, class _TPoint, class _TInputValue, class _TOutputValue, class _TFrontId, class _TCompare >
-void fpa::Image::LabelledSeedsInterface< _TVertex, _TPoint, _TInputValue, _TOutputValue, _TFrontId, _TCompare >::
+template< class _TTraits >
+void fpa::Image::LabelledSeedsInterface< _TTraits >::
SetLabels( const TLabelImage* image )
{
this->m_LabelImage = image;
}
// -------------------------------------------------------------------------
-template< class _TVertex, class _TPoint, class _TInputValue, class _TOutputValue, class _TFrontId, class _TCompare >
-fpa::Image::LabelledSeedsInterface< _TVertex, _TPoint, _TInputValue, _TOutputValue, _TFrontId, _TCompare >::
+template< class _TTraits >
+fpa::Image::LabelledSeedsInterface< _TTraits >::
LabelledSeedsInterface( itk::ProcessObject* filter )
: Superclass( filter )
{
}
// -------------------------------------------------------------------------
-template< class _TVertex, class _TPoint, class _TInputValue, class _TOutputValue, class _TFrontId, class _TCompare >
-fpa::Image::LabelledSeedsInterface< _TVertex, _TPoint, _TInputValue, _TOutputValue, _TFrontId, _TCompare >::
+template< class _TTraits >
+fpa::Image::LabelledSeedsInterface< _TTraits >::
~LabelledSeedsInterface( )
{
}
{
/**
*/
- template< class _TInputImage, class _TOutputImage >
- class MoriTraits
- : public fpa::Image::DefaultTraits< _TInputImage, _TOutputImage, typename _TOutputImage::PixelType >
- {
- public:
- typedef MoriTraits Self;
- typedef _TInputImage TInputImage;
- typedef _TOutputImage TOutputImage;
- typedef typename TOutputImage::PixelType TFrontId;
- typedef fpa::Image::DefaultTraits< TInputImage, TOutputImage, TFrontId > Superclass;
-
- typedef typename Superclass::TVertex TVertex;
- typedef typename Superclass::TInputValue TInputValue;
- typedef typename Superclass::TPoint TPoint;
- typedef typename Superclass::TOutputValue TOutputValue;
- typedef typename Superclass::TCompare TCompare;
- typedef typename Superclass::TNeighborhood TNeighborhood;
- typedef typename Superclass::TFilter TFilter;
-
- typedef fpa::Base::SingleSeedInterface< TVertex, TPoint, TInputValue, TOutputValue, TFrontId, TCompare > TSeedsInterface;
- typedef fpa::Base::MarksInterface< TVertex > TMarksInterface;
-
- typedef typename TSeedsInterface::TNode TNode;
- typedef typename TSeedsInterface::TNodes TNodes;
- typedef typename TSeedsInterface::TSeed TSeed;
- typedef typename TSeedsInterface::TSeeds TSeeds;
-
- private:
- // Purposely not implemented.
- MoriTraits( );
- MoriTraits( const Self& other );
- virtual ~MoriTraits( );
- Self& operator=( const Self& other );
- };
-
- /**
- */
- template< class _TInputImage, class _TOutputImage >
+ template< class _TInputImage, class _TOutputImage, class _TTraits = fpa::Image::DefaultTraits< _TInputImage, _TOutputImage, typename _TOutputImage::PixelType > >
class Mori
- : public fpa::Base::Mori< fpa::Image::Algorithm< fpa::Image::MoriTraits< _TInputImage, _TOutputImage > > >
+ : public fpa::Base::Mori< fpa::Image::Algorithm< _TTraits, fpa::Base::MarksInterface< _TTraits >, fpa::Base::SingleSeedInterface< _TTraits > > >
{
public:
typedef _TInputImage TInputImage;
typedef _TOutputImage TOutputImage;
- typedef fpa::Image::MoriTraits< TInputImage, TOutputImage > TTraits;
- typedef fpa::Image::Algorithm< TTraits > TAlgorithm;
+ typedef _TTraits TTraits;
+ typedef fpa::Base::MarksInterface< _TTraits > TMarksInterface;
+ typedef fpa::Base::SingleSeedInterface< _TTraits > TSeedsInterface;
+ typedef fpa::Image::Algorithm< TTraits, TMarksInterface, TSeedsInterface > TAlgorithm;
typedef Mori Self;
typedef fpa::Base::Mori< TAlgorithm > Superclass;
#include <itkBinaryThresholdImageFilter.h>
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TOutputImage >
-typename fpa::Image::Mori< _TInputImage, _TOutputImage >::
-TOutputImage* fpa::Image::Mori< _TInputImage, _TOutputImage >::
+template< class _TInputImage, class _TOutputImage, class _TTraits >
+typename fpa::Image::Mori< _TInputImage, _TOutputImage, _TTraits >::
+TOutputImage* fpa::Image::Mori< _TInputImage, _TOutputImage, _TTraits >::
GetThresholdedOutput( )
{
return(
}
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TOutputImage >
-const typename fpa::Image::Mori< _TInputImage, _TOutputImage >::
-TOutputImage* fpa::Image::Mori< _TInputImage, _TOutputImage >::
+template< class _TInputImage, class _TOutputImage, class _TTraits >
+const typename fpa::Image::Mori< _TInputImage, _TOutputImage, _TTraits >::
+TOutputImage* fpa::Image::Mori< _TInputImage, _TOutputImage, _TTraits >::
GetThresholdedOutput( ) const
{
return(
}
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TOutputImage >
-fpa::Image::Mori< _TInputImage, _TOutputImage >::
+template< class _TInputImage, class _TOutputImage, class _TTraits >
+fpa::Image::Mori< _TInputImage, _TOutputImage, _TTraits >::
Mori( )
: Superclass( )
{
}
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TOutputImage >
-fpa::Image::Mori< _TInputImage, _TOutputImage >::
+template< class _TInputImage, class _TOutputImage, class _TTraits >
+fpa::Image::Mori< _TInputImage, _TOutputImage, _TTraits >::
~Mori( )
{
}
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TOutputImage >
-void fpa::Image::Mori< _TInputImage, _TOutputImage >::
+template< class _TInputImage, class _TOutputImage, class _TTraits >
+void fpa::Image::Mori< _TInputImage, _TOutputImage, _TTraits >::
_AfterGenerateData( )
{
typedef itk::BinaryThresholdImageFilter< TMarks, TOutputImage > _TFilter;
{
/**
*/
- template< class _TInputImage, class _TLabelImage, class _TScalar >
- class RandomWalkerTraits
- : public fpa::Image::DefaultTraits< _TInputImage, itk::Image< _TScalar, _TInputImage::ImageDimension >, typename _TLabelImage::PixelType >
- {
- public:
- typedef RandomWalkerTraits Self;
- typedef _TInputImage TInputImage;
- typedef _TLabelImage TLabelImage;
- typedef _TScalar TScalar;
- typedef typename _TLabelImage::PixelType TFrontId;
- typedef itk::Image< TScalar, _TInputImage::ImageDimension > TOutputImage;
- typedef fpa::Image::DefaultTraits< TInputImage, TOutputImage, TFrontId > Superclass;
-
- typedef typename Superclass::TVertex TVertex;
- typedef typename Superclass::TInputValue TInputValue;
- typedef typename Superclass::TPoint TPoint;
- typedef typename Superclass::TOutputValue TOutputValue;
- typedef typename Superclass::TCompare TCompare;
- typedef typename Superclass::TNeighborhood TNeighborhood;
- typedef typename Superclass::TFilter TFilter;
-
- typedef fpa::Image::LabelledSeedsInterface< TVertex, TPoint, TInputValue, TOutputValue, TFrontId, TCompare > TSeedsInterface;
- typedef fpa::Base::MarksInterface< TVertex > TMarksInterface;
-
- typedef typename TSeedsInterface::TNode TNode;
- typedef typename TSeedsInterface::TNodes TNodes;
- typedef typename TSeedsInterface::TSeed TSeed;
- typedef typename TSeedsInterface::TSeeds TSeeds;
-
- public:
- itkConceptMacro(
- Check_SameDimension,
- ( itk::Concept::SameDimension< TInputImage::ImageDimension, TLabelImage::ImageDimension > )
- );
-
- private:
- // Purposely not implemented.
- RandomWalkerTraits( );
- RandomWalkerTraits( const Self& other );
- virtual ~RandomWalkerTraits( );
- Self& operator=( const Self& other );
- };
-
- /**
- */
- template< class _TInputImage, class _TLabelImage, class _TScalar >
+ template< class _TInputImage, class _TLabelImage, class _TScalar, class _TTraits = fpa::Image::DefaultTraits< _TInputImage, itk::Image< _TScalar, _TInputImage::ImageDimension >, typename _TLabelImage::PixelType > >
class RandomWalker
- : public fpa::Base::DijkstraBase< fpa::Image::Algorithm< fpa::Image::RandomWalkerTraits< _TInputImage, _TLabelImage, _TScalar > > >
+ : public fpa::Base::DijkstraBase< fpa::Image::Algorithm< _TTraits, fpa::Base::MarksInterface< _TTraits >, fpa::Image::LabelledSeedsInterface< _TTraits > > >
{
public:
typedef _TInputImage TInputImage;
typedef _TLabelImage TLabelImage;
typedef _TScalar TScalar;
+ typedef _TTraits TTraits;
+ fpa_Base_TraitTypes( typename TTraits );
- typedef fpa::Image::RandomWalkerTraits< TInputImage, TLabelImage, TScalar > TTraits;
- typedef fpa::Image::Algorithm< TTraits > TAlgorithm;
- typedef fpa::Base::DijkstraBase< TAlgorithm > Superclass;
- typedef RandomWalker Self;
- typedef itk::SmartPointer< Self > Pointer;
- typedef itk::SmartPointer< const Self > ConstPointer;
-
- typedef typename TTraits::TNode TNode;
- typedef typename TTraits::TNodes TNodes;
- typedef typename TTraits::TSeed TSeed;
- typedef typename TTraits::TVertex TVertex;
+ typedef fpa::Base::MarksInterface< TTraits > TMarksInterface;
+ typedef fpa::Image::LabelledSeedsInterface< TTraits > TSeedsInterface;
+ typedef fpa::Image::Algorithm< TTraits, TMarksInterface, TSeedsInterface > TAlgorithm;
+ typedef fpa::Base::DijkstraBase< TAlgorithm > Superclass;
+ typedef RandomWalker Self;
+ typedef itk::SmartPointer< Self > Pointer;
+ typedef itk::SmartPointer< const Self > ConstPointer;
+
typedef fpa::Image::Functors::Dijkstra::Function< TInputImage, TScalar > TWeightFunction;
public:
#include <fpa/Image/Functors/Dijkstra/Gaussian.h>
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TLabelImage, class _TScalar >
+template< class _TInputImage, class _TLabelImage, class _TScalar, class _TTraits >
itk::ModifiedTimeType
-fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar >::
+fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar, _TTraits >::
GetMTime( ) const
{
const TLabelImage* labels = this->GetLabels( );
}
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TLabelImage, class _TScalar >
-fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar >::
+template< class _TInputImage, class _TLabelImage, class _TScalar, class _TTraits >
+fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar, _TTraits >::
RandomWalker( )
: Superclass( )
{
}
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TLabelImage, class _TScalar >
-fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar >::
+template< class _TInputImage, class _TLabelImage, class _TScalar, class _TTraits >
+fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar, _TTraits >::
~RandomWalker( )
{
}
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TLabelImage, class _TScalar >
-void fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar >::
+template< class _TInputImage, class _TLabelImage, class _TScalar, class _TTraits >
+void fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar, _TTraits >::
_BeforeGenerateData( )
{
this->Superclass::_BeforeGenerateData( );
}
// -------------------------------------------------------------------------
-template< class _TInputImage, class _TLabelImage, class _TScalar >
-typename fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar >::
-TNodes fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar >::
+template< class _TInputImage, class _TLabelImage, class _TScalar, class _TTraits >
+typename fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar, _TTraits >::
+TNodes fpa::Image::RandomWalker< _TInputImage, _TLabelImage, _TScalar, _TTraits >::
_UnifySeeds( )
{
this->m_Seeds.clear( );
public:
typedef _TInputImage TInputImage;
typedef _TOutputImage TOutputImage;
- typedef _TFrontId TFrontId;
typedef _TTraits TTraits;
typedef fpa::Base::MarksInterfaceWithCollisions< TTraits > TMarksInterface;
typedef fpa::Base::SeedsInterface< TTraits > TSeedsInterface;