21 #ifndef otbUnaryFunctorNeighborhoodVectorImageFilter_hxx
22 #define otbUnaryFunctorNeighborhoodVectorImageFilter_hxx
25 #include "itkImageRegionIterator.h"
26 #include "itkNeighborhoodAlgorithm.h"
27 #include "itkProgressReporter.h"
35 template <
class TInputImage,
class TOutputImage,
class TFunction>
38 this->DynamicMultiThreadingOn();
39 this->SetNumberOfRequiredInputs(1);
41 for (
unsigned int i = 0; i < InputImageDimension; ++i)
49 template <
class TInputImage,
class TOutputImage,
class TFunction>
52 Superclass::GenerateOutputInformation();
54 this->GetOutput()->SetNumberOfComponentsPerPixel(this->GetInput()->GetNumberOfComponentsPerPixel());
60 template <
class TInputImage,
class TOutputImage,
class TFunction>
65 this->CallCopyOutputRegionToInputRegion(inputRegionForThread, outputRegionForThread);
68 itk::ZeroFluxNeumannBoundaryCondition<TInputImage> nbc;
69 neighInputIt.OverrideBoundaryCondition(&nbc);
70 neighInputIt.GoToBegin();
72 itk::ImageRegionIterator<TOutputImage> outputIt(this->GetOutput(), outputRegionForThread);
75 while (!outputIt.IsAtEnd() && !neighInputIt.IsAtEnd())
77 outputIt.Set(m_Functor(neighInputIt));
InputImageType::RegionType InputImageRegionType
UnaryFunctorNeighborhoodVectorImageFilter()
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
itk::ConstNeighborhoodIterator< TInputImage > NeighborhoodIteratorType
OutputImageType::RegionType OutputImageRegionType
void GenerateOutputInformation(void) override
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.