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>
39 template<
typename TInputImageType,
typename TFeatureImageType ,
class FunctorType>
44 typedef ImageToImageFilter<TInputImageType, TFeatureImageType>
Superclass;
55 TFeatureImageType::ImageDimension);
57 TInputImageType::ImageDimension);
65 typedef itk::Size<InputImageDimension>
SizeType;
84 { m_BoundsCondition = i; }
88 {
return m_BoundsCondition; }
94 void SetMask(
const typename MaskImageType::Pointer & ptr){m_MaskImage = ptr;}
115 this->DynamicMultiThreadingOff();
117 m_MaskImage =
nullptr;
119 this->SetNumberOfIndexedOutputs(FunctorType::OutputCount);
126 ThreadIdType threadId)
override;
141 void operator=(
const Self &);
151 FunctorType m_Functor;
153 itk::Size<InputImageDimension> m_Size;
155 typename MaskImageType::Pointer m_MaskImage;
160 #ifndef ITK_MANUAL_INSTANTIATION
161 #include "../src/Features/itkNeighborhoodFunctorImageFilter.cpp"
Applies a user-supplied functor to each neighbourhood in an image and writes the results to feature i...
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)