1 #ifndef __fpa__Image__Functors__SimpleNeighborhood__h__
2 #define __fpa__Image__Functors__SimpleNeighborhood__h__
5 #include <fpa/Image/Functors/Base.h>
6 #include <itkFunctionBase.h>
16 template< class _TImage >
17 class SimpleNeighborhood
18 : public fpa::Image::Functors::Base< _TImage, itk::FunctionBase< typename _TImage::IndexType, std::vector< typename _TImage::IndexType > > >
21 typedef _TImage TImage;
22 typedef typename TImage::IndexType TIndex;
23 typedef typename TIndex::OffsetType TOffset;
24 typedef std::vector< TIndex > TOutput;
25 typedef itk::FunctionBase< TIndex, TOutput > TBaseFunctor;
26 typedef fpa::Image::Functors::Base< TImage, TBaseFunctor > Superclass;
27 typedef SimpleNeighborhood Self;
28 typedef itk::SmartPointer< Self > Pointer;
29 typedef itk::SmartPointer< const Self > ConstPointer;
33 itkTypeMacro( SimpleNeighborhood, Base );
35 itkGetConstMacro( Order, unsigned int );
36 itkSetMacro( Order, unsigned int );
39 virtual TOutput Evaluate( const TIndex& center ) const override;
42 SimpleNeighborhood( );
43 virtual ~SimpleNeighborhood( );
45 void _1stCombination( ) const;
46 void _2ndCombination( ) const;
49 // Purposely not implemented
50 SimpleNeighborhood( const Self& other );
51 Self& operator=( const Self& other );
55 mutable std::vector< TOffset > m_Offsets;
64 #ifndef ITK_MANUAL_INSTANTIATION
65 # include <fpa/Image/Functors/SimpleNeighborhood.hxx>
66 #endif // ITK_MANUAL_INSTANTIATION
68 #endif // __fpa__Image__Functors__SimpleNeighborhood__h__