13 #ifndef itkNeighborhoodFunctorImageFilter_h
14 #define itkNeighborhoodFunctorImageFilter_h
16 #include "itkImageToImageFilter.h"
17 #include "itkZeroFluxNeumannBoundaryCondition.h"
18 #include "itkConstNeighborhoodIterator.h"
22 #include <itkHistogramToTextureFeaturesFilter.h>
23 #include "itkHistogram.h"
28 template<
typename TInputImageType,
typename TFeatureImageType ,
class FunctorType>
33 typedef ImageToImageFilter<TInputImageType, TFeatureImageType>
Superclass;
44 TFeatureImageType::ImageDimension);
46 TInputImageType::ImageDimension);
54 typedef itk::Size<InputImageDimension>
SizeType;
73 { m_BoundsCondition = i; }
77 {
return m_BoundsCondition; }
83 void SetMask(
const typename MaskImageType::Pointer & ptr){m_MaskImage = ptr;}
104 this->DynamicMultiThreadingOff();
106 m_MaskImage =
nullptr;
108 this->SetNumberOfIndexedOutputs(FunctorType::OutputCount);
115 ThreadIdType threadId)
override;
130 void operator=(
const Self &);
140 FunctorType m_Functor;
142 itk::Size<InputImageDimension> m_Size;
144 typename MaskImageType::Pointer m_MaskImage;
149 #ifndef ITK_MANUAL_INSTANTIATION
150 #include "../src/Features/itkNeighborhoodFunctorImageFilter.cpp"
ImageBoundaryCondition< InputImageType > * ImageBoundaryConditionPointerType
Superclass::OutputImageRegionType OutputImageRegionType
SizeType GetNeighborhoodSize()
MaskImageType::PixelType MaskImagePixelType
void GenerateInputRequestedRegion() override
FeatureImageType::PixelType FeaturePixelType
ImageBoundaryConditionPointerType GetBoundaryCondition()
SmartPointer< Self > Pointer
NeighborhoodFunctorImageFilter Self
NeighborhoodFunctorImageFilter()
itk::Size< InputImageDimension > SizeType
void OverrideBoundaryCondition(const ImageBoundaryConditionPointerType i)
void SetNeighborhoodSize(unsigned int size)
TFeatureImageType FeatureImageType
itk::Image< short, InputImageDimension > MaskImageType
itkStaticConstMacro(InputImageDimension, unsigned int, TInputImageType::ImageDimension)
SmartPointer< const Self > ConstPointer
const FunctorType & GetFunctorReference() const
void ThreadedGenerateData(const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
void SetMask(const typename MaskImageType::Pointer &ptr)
FunctorType & GetFunctorReference()
void SetNeighborhoodSize(SizeType size)
ZeroFluxNeumannBoundaryCondition< InputImageType > DefaultBoundaryCondition
~NeighborhoodFunctorImageFilter() override
void SetFunctor(const FunctorType &func)
ImageToImageFilter< TInputImageType, TFeatureImageType > Superclass
Neighborhood< InputImagePixelType, InputImageDimension > NeighborhoodType
TInputImageType InputImageType
void BeforeThreadedGenerateData() override
TInputImageType::PixelType InputImagePixelType
itkStaticConstMacro(ImageDimension, unsigned int, TFeatureImageType::ImageDimension)