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;
107 m_BoundsCondition =
static_cast< ImageBoundaryConditionPointerType
>( &m_DefaultBoundaryCondition );
108 this->SetNumberOfIndexedOutputs(FunctorType::OutputCount);
115 ThreadIdType threadId)
override;
130 void operator=(
const Self &);
134 ImageBoundaryConditionPointerType m_BoundsCondition;
137 DefaultBoundaryCondition m_DefaultBoundaryCondition;
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" 153 #endif // itkFeatureImageFilter_h Neighborhood< InputImagePixelType, InputImageDimension > NeighborhoodType
SmartPointer< Self > Pointer
void OverrideBoundaryCondition(const ImageBoundaryConditionPointerType i)
const FunctorType & GetFunctorReference() const
itk::Image< short, InputImageDimension > MaskImageType
NeighborhoodFunctorImageFilter()
void SetFunctor(const FunctorType &func)
itkStaticConstMacro(ImageDimension, unsigned int, TFeatureImageType::ImageDimension)
ImageBoundaryConditionPointerType GetBoundaryCondition()
~NeighborhoodFunctorImageFilter() override
MaskImageType::PixelType MaskImagePixelType
FeatureImageType::PixelType FeaturePixelType
Superclass::OutputImageRegionType OutputImageRegionType
SmartPointer< const Self > ConstPointer
void GenerateInputRequestedRegion() override
TFeatureImageType FeatureImageType
ImageToImageFilter< TInputImageType, TFeatureImageType > Superclass
void SetNeighborhoodSize(SizeType size)
ImageBoundaryCondition< InputImageType > * ImageBoundaryConditionPointerType
TInputImageType InputImageType
FunctorType & GetFunctorReference()
ZeroFluxNeumannBoundaryCondition< InputImageType > DefaultBoundaryCondition
void SetNeighborhoodSize(unsigned int size)
void ThreadedGenerateData(const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
NeighborhoodFunctorImageFilter Self
void BeforeThreadedGenerateData() override
SizeType GetNeighborhoodSize()
void SetMask(const typename MaskImageType::Pointer &ptr)
TInputImageType::PixelType InputImagePixelType
itk::Size< InputImageDimension > SizeType