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>
7 #include <itkImageBase.h>
17 template< unsigned int _VDim >
18 class SimpleNeighborhood
19 : public fpa::Image::Functors::Base< itk::ImageBase< _VDim >, itk::FunctionBase< itk::Index< _VDim >, std::vector< itk::Index< _VDim > > > >
22 typedef itk::ImageBase< _VDim > TImage;
23 typedef typename TImage::IndexType TIndex;
24 typedef typename TIndex::OffsetType TOffset;
25 typedef std::vector< TIndex > TOutput;
26 typedef itk::FunctionBase< TIndex, TOutput > TBaseFunctor;
27 typedef fpa::Image::Functors::Base< TImage, TBaseFunctor > Superclass;
28 typedef SimpleNeighborhood Self;
29 typedef itk::SmartPointer< Self > Pointer;
30 typedef itk::SmartPointer< const Self > ConstPointer;
34 itkTypeMacro( SimpleNeighborhood, Base );
36 itkGetConstMacro( Order, unsigned int );
37 itkSetMacro( Order, unsigned int );
40 virtual TOutput Evaluate( const TIndex& center ) const override;
43 SimpleNeighborhood( );
44 virtual ~SimpleNeighborhood( );
46 void _1stCombination( ) const;
47 void _2ndCombination( ) const;
50 // Purposely not implemented
51 SimpleNeighborhood( const Self& other );
52 Self& operator=( const Self& other );
56 mutable std::vector< TOffset > m_Offsets;
65 #ifndef ITK_MANUAL_INSTANTIATION
66 # include <fpa/Image/Functors/SimpleNeighborhood.hxx>
67 #endif // ITK_MANUAL_INSTANTIATION
69 #endif // __fpa__Image__Functors__SimpleNeighborhood__h__