// ------------------------------------------------------------------------- // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co) // ------------------------------------------------------------------------- #ifndef __cpExtensions__Algorithms__SkeletonToImageFilter__h__ #define __cpExtensions__Algorithms__SkeletonToImageFilter__h__ #include #include // ------------------------------------------------------------------------- namespace cpExtensions { namespace Algorithms { /** */ template< class _TSkeleton, class _TImage > class SkeletonToImageFilter : public itk::ImageSource< _TImage > { public: // Basic types typedef SkeletonToImageFilter Self; typedef itk::ImageSource< _TImage > Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; typedef _TSkeleton TSkeleton; typedef _TImage TImage; typedef typename _TImage::IndexType TIndex; typedef typename _TImage::PixelType TPixel; typedef typename _TImage::PointType TPoint; typedef typename _TImage::RegionType TRegion; typedef itk::ImageBase< _TImage::ImageDimension > TImageBase; public: itkNewMacro( Self ); itkTypeMacro( SkeletonToImageFilter, itk::ImageSource ); itkGetConstMacro( InsideValue, TPixel ); itkGetConstMacro( OutsideValue, TPixel ); itkSetMacro( InsideValue, TPixel ); itkSetMacro( OutsideValue, TPixel ); public: const TImageBase* GetTemplateImage( ) const; void SetTemplateImage( TImageBase* image ); const TSkeleton* GetSkeleton( ) const; void SetSkeleton( TSkeleton* skeleton ); protected: SkeletonToImageFilter( ); virtual ~SkeletonToImageFilter( ); virtual void GenerateData( ) cpExtensions_OVERRIDE; private: // Purposely not implemented SkeletonToImageFilter( const Self& ); void operator=( const Self& ); protected: TPixel m_InsideValue; TPixel m_OutsideValue; }; } // ecapseman } // ecapseman // ------------------------------------------------------------------------- #ifndef ITK_MANUAL_INSTANTIATION # include #endif // ITK_MANUAL_INSTANTIATION #endif // __cpExtensions__Algorithms__SkeletonToImageFilter__h__ // eof - $RCSfile$