23 #ifndef otbKullbackLeiblerSupervizedDistanceImageFilter_h
24 #define otbKullbackLeiblerSupervizedDistanceImageFilter_h
74 template <
class TInput1,
class TInput2,
class TInputROIImage,
class TOutput>
82 void Evaluate(
const typename TInput1::ImageType* img1,
const typename TInput2::ImageType* img2,
const TInputROIImage* imgROI);
85 TOutput
operator()(
const TInput1& it1,
const TInput2& it2);
90 typedef itk::ConstNeighborhoodIterator<typename ROIConversionType1::OutputImageType>
ROIInputType1;
94 typedef itk::ConstNeighborhoodIterator<typename ROIConversionType2::OutputImageType>
ROIInputType2;
105 template <
class TInputImage1,
class TInputImage2,
class TInputROIImage,
class TOutputImage>
108 TInputImage1, TInputImage2, TOutputImage,
109 Functor::KullbackLeiblerSupervizedDistance<typename itk::ConstNeighborhoodIterator<TInputImage1>,
110 typename itk::ConstNeighborhoodIterator<TInputImage2>, TInputROIImage, typename TOutputImage::PixelType>>
116 TInputImage1, TInputImage2, TOutputImage,
118 TInputROIImage,
typename TOutputImage::PixelType>>
135 void SetTrainingArea(
const TInputROIImage* trainingImage);
138 void BeforeThreadedGenerateData(
void)
override;
142 this->SetNumberOfRequiredInputs(3);
155 #ifndef OTB_MANUAL_INSTANTIATION
Implements neighborhood-wise generic operation of two images.
Functor for KullbackLeiblerSupervizedDistanceImageFilter. Please refer to KullbackLeiblerSupervizedDi...
itk::ConstNeighborhoodIterator< typename ROIConversionType1::OutputImageType > ROIInputType1
itk::ConstNeighborhoodIterator< typename ROIConversionType2::OutputImageType > ROIInputType2
CumulantsForEdgeworth< ROIInputType2 > * m_CumROI2
KullbackLeiblerSupervizedDistance(const KullbackLeiblerSupervizedDistance &)
CumulantsForEdgeworth< ROIInputType1 > * m_CumROI1
TOutput operator()(const TInput1 &it1, const TInput2 &it2)
ROIdataConversion< typename TInput2::ImageType, TInputROIImage > ROIConversionType2
ROIdataConversion< typename TInput1::ImageType, TInputROIImage > ROIConversionType1
KullbackLeiblerSupervizedDistance()
virtual ~KullbackLeiblerSupervizedDistance()
void Evaluate(const typename TInput1::ImageType *img1, const typename TInput2::ImageType *img2, const TInputROIImage *imgROI)
Implements KullbackLeibler distance over Edgeworth approximation, between a Neighborhood and a predef...
TInputImage2::PixelType MeasurementType2
void operator=(const Self &)=delete
TInputImage1::PixelType MeasurementType1
KullbackLeiblerSupervizedDistanceImageFilter()
itk::SmartPointer< Self > Pointer
KullbackLeiblerSupervizedDistanceImageFilter(const Self &)=delete
otb::BinaryFunctorNeighborhoodImageFilter< TInputImage1, TInputImage2, TOutputImage, Functor::KullbackLeiblerSupervizedDistance< typename itk::ConstNeighborhoodIterator< TInputImage1 >, typename itk::ConstNeighborhoodIterator< TInputImage2 >, TInputROIImage, typename TOutputImage::PixelType > > Superclass
~KullbackLeiblerSupervizedDistanceImageFilter() override
std::vector< MeasurementType2 > TrainingMeasureType2
std::vector< MeasurementType1 > TrainingMeasureType1
itk::SmartPointer< const Self > ConstPointer
KullbackLeiblerSupervizedDistanceImageFilter Self
image data to vector conversion.
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.