22 #ifndef otbKullbackLeiblerProfileImageFilter_h
23 #define otbKullbackLeiblerProfileImageFilter_h
28 #include "itkArray2D.h"
29 #include "itkVariableLengthVector.h"
42 template <
class TInput>
56 template <
class TInput2>
104 template <
class TInput1,
class TInput2,
class TOutput>
113 void SetRadius(
const unsigned char& min,
const unsigned char& max);
122 TOutput
operator()(
const TInput1& it1,
const TInput2& it2);
166 template <
class TInputImage1,
class TInputImage2,
class TOutputImage>
169 TInputImage1, TInputImage2, TOutputImage,
170 Functor::KullbackLeiblerProfile<typename itk::ConstNeighborhoodIterator<TInputImage1>, typename itk::ConstNeighborhoodIterator<TInputImage2>,
171 typename TOutputImage::PixelType>>
177 TInputImage1, TInputImage2, TOutputImage,
179 typename TOutputImage::PixelType>>
202 #ifndef OTB_MANUAL_INSTANTIATION
Implements neighborhood-wise generic operation of two images being vector images.
Helper class for KullbackLeiblerProfileImageFilter. Please refer to KullbackLeibleProfileImageFilter.
bool IsDataAvailable() const
CumulantSet::iterator Iterator
itk::Vector< double, 4 > CumulantType
int InitSumAndMoments(const TInput &input, itk::Array2D< int > &mask)
CumulantsForEdgeworthProfile()
itk::VariableLengthVector< double > KL_profile(CumulantsForEdgeworthProfile< TInput2 > &cumulants)
CumulantsForEdgeworthProfile(const TInput &input)
CumulantType & GetCumulantAtScale(int i)
int ReInitSumAndMoments(const TInput &input, itk::Array2D< int > &mask, int level)
int MakeSumAndMoments(const TInput &input, std::vector< itk::Array2D< int >> &mask)
virtual ~CumulantsForEdgeworthProfile()
std::vector< CumulantType > CumulantSet
Functor for KullbackLeiblerProfileImageFilter. Please refer to KullbackLeiblerProfileImageFilter.
std::vector< itk::Array2D< int > > m_mask
unsigned char GetRadiusMax(void)
virtual ~KullbackLeiblerProfile()
void SetRadius(const unsigned char &min, const unsigned char &max)
unsigned char m_RadiusMin
void MakeMultiscaleProfile()
TOutput operator()(const TInput1 &it1, const TInput2 &it2)
int GetNumberOfComponentsPerPixel() const
unsigned char m_RadiusMax
unsigned char GetRadiusMin(void)
Implements neighborhood-wise the computation of KullbackLeibler profile over Edgeworth approximation.
KullbackLeiblerProfileImageFilter Self
BinaryFunctorNeighborhoodVectorImageFilter< TInputImage1, TInputImage2, TOutputImage, Functor::KullbackLeiblerProfile< typename itk::ConstNeighborhoodIterator< TInputImage1 >, typename itk::ConstNeighborhoodIterator< TInputImage2 >, typename TOutputImage::PixelType > > Superclass
itk::SmartPointer< const Self > ConstPointer
KullbackLeiblerProfileImageFilter(const Self &)=delete
~KullbackLeiblerProfileImageFilter() override
KullbackLeiblerProfileImageFilter()
itk::SmartPointer< Self > Pointer
void operator=(const Self &)=delete
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.