#ifndef __FPA__IMAGE__FASTMARCHING__H__ #define __FPA__IMAGE__FASTMARCHING__H__ #include #include #include #include #include #include namespace fpa { namespace Image { /** * @param I Input image type */ template< class I, class C > class FastMarching : public Algorithm< I, fpa::Base::FastMarching< typename I::IndexType, C, typename I::PixelType, itk::Functor::IndexLexicographicCompare< I::ImageDimension >, itk::ImageToImageFilter< I, itk::Image< C, I::ImageDimension > > > > { public: // Standard class typdedefs typedef typename I::IndexType TVertex; typedef typename I::PixelType TVertexValue; typedef itk::Image< C, I::ImageDimension > TCostImage; typedef itk::ImageToImageFilter< I, TCostImage > TBaseFilter; typedef fpa::Base::FastMarching< TVertex, C, TVertexValue, itk::Functor::IndexLexicographicCompare< I::ImageDimension >, TBaseFilter > TBaseAlgorithm; typedef FastMarching Self; typedef Algorithm< I, TBaseAlgorithm > Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; public: itkNewMacro( Self ); itkTypeMacro( FastMarching, fpaBaseFastMarching ); protected: FastMarching( ) : Superclass( ) { } virtual ~FastMarching( ) { } private: // Purposely not implemented FastMarching( const Self& ); void operator=( const Self& ); }; } // ecapseman } // ecapseman #endif // __FPA__IMAGE__FASTMARCHING__H__ // eof - $RCSfile$