OTB  9.0.0
Orfeo Toolbox
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision > Class Template Reference

#include <otbSimpleRcsPanSharpeningFusionImageFilter.h>

+ Inheritance diagram for otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >:
+ Collaboration diagram for otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >:

Classes

class  FusionFunctor
 
class  NoDataFusionFunctor
 

Public Types

typedef itk::Array< TInternalPrecision > ArrayType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef otb::Image< TInternalPrecision, TPanImageType::ImageDimension > InternalImageType
 
typedef itk::SmartPointer< SelfPointer
 
typedef InternalImageType::SizeType RadiusType
 
typedef SimpleRcsPanSharpeningFusionImageFilter Self
 
typedef itk::ImageToImageFilter< TXsImageType, TOutputImageType > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 

Static Public Member Functions

static Pointer New ()
 
typedef FunctorImageFilter< FusionFunctorFusionFilterType
 
typedef FunctorImageFilter< NoDataFusionFunctorNoDataFusionFilterType
 
typedef otb::ConvolutionImageFilter< TPanImageType, InternalImageType, itk::ZeroFluxNeumannBoundaryCondition< TPanImageType >, TInternalPrecision > ConvolutionFilterType
 
ConvolutionFilterType::Pointer m_ConvolutionFilter
 
FusionFilterType::Pointer m_FusionFilter
 
NoDataFusionFilterType::Pointer m_NoDataFusionFilter
 
bool m_UseNoData
 
RadiusType m_Radius
 
ArrayType m_Filter
 
itk::ProgressAccumulator::Pointer m_ProgressAccumulator
 
virtual RadiusType GetRadius ()
 
virtual void SetRadius (RadiusType _arg)
 
virtual void SetFilter (ArrayType _arg)
 
virtual const ArrayTypeGetFilter () const
 
virtual void SetPanInput (const TPanImageType *image)
 
const TPanImageType * GetPanInput (void) const
 
virtual void SetXsInput (const TXsImageType *path)
 
const TXsImageType * GetXsInput (void) const
 
 SimpleRcsPanSharpeningFusionImageFilter ()
 
 ~SimpleRcsPanSharpeningFusionImageFilter () override
 
void GenerateData () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 SimpleRcsPanSharpeningFusionImageFilter (Self &)
 
void operator= (const Self &)
 

Detailed Description

template<class TPanImageType, class TXsImageType, class TOutputImageType, class TInternalPrecision = float>
class otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >

This class performs a simple Pan sharpening operation.

Given a Pan image and the corresponding Xs image (oversampled to have the same number of pixels), this filter realizes a simple Pan sharpening operation:

\[ \frac{XS}{\mathrm{Filtered}(PAN)} PAN \]

This filter supports streaming and multithreading.

Examples
Fusion/PanSharpeningExample.cxx.

Definition at line 52 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

Member Typedef Documentation

◆ ArrayType

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
typedef itk::Array<TInternalPrecision> otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::ArrayType

Typedef for the radius of the smoothing filter

Definition at line 66 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ ConstPointer

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
typedef itk::SmartPointer<const Self> otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::ConstPointer

Definition at line 60 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ ConvolutionFilterType

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
typedef otb::ConvolutionImageFilter<TPanImageType, InternalImageType, itk::ZeroFluxNeumannBoundaryCondition<TPanImageType>, TInternalPrecision> otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::ConvolutionFilterType
private

Typedef of the convolution filter performing smoothing

Definition at line 239 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ FusionFilterType

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
typedef FunctorImageFilter<FusionFunctor> otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::FusionFilterType
private

Typedef of the FunctorImageFilter applying the fusion functor to p, p_smooth and xs.

Definition at line 229 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ InternalImageType

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
typedef otb::Image<TInternalPrecision, TPanImageType::ImageDimension> otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::InternalImageType

Internal image type used as the smoothing filter output

Definition at line 63 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ NoDataFusionFilterType

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
typedef FunctorImageFilter<NoDataFusionFunctor> otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::NoDataFusionFilterType
private

Typedef of the FunctorImageFilter applying the no data fusion functor to p, p_smooth and xs.

Definition at line 235 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ Pointer

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
typedef itk::SmartPointer<Self> otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::Pointer

Definition at line 59 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ RadiusType

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
typedef InternalImageType::SizeType otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::RadiusType

Define the radius type for the smoothing operation

Definition at line 72 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ Self

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
typedef SimpleRcsPanSharpeningFusionImageFilter otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::Self

Standard class typedefs

Definition at line 57 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ Superclass

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
typedef itk::ImageToImageFilter<TXsImageType, TOutputImageType> otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::Superclass

Definition at line 58 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

Constructor & Destructor Documentation

◆ SimpleRcsPanSharpeningFusionImageFilter() [1/2]

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision >
otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::SimpleRcsPanSharpeningFusionImageFilter
protected

Constructor

Definition at line 31 of file otbSimpleRcsPanSharpeningFusionImageFilter.hxx.

◆ ~SimpleRcsPanSharpeningFusionImageFilter()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::~SimpleRcsPanSharpeningFusionImageFilter ( )
inlineoverrideprotected

Destructor

Definition at line 98 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ SimpleRcsPanSharpeningFusionImageFilter() [2/2]

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::SimpleRcsPanSharpeningFusionImageFilter ( Self )
private

Typedef of the FunctorImageFilter applying the fusion functor to p, p_smooth and xs.

Member Function Documentation

◆ CreateAnother()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
virtual::itk::LightObject::Pointer otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::CreateAnother ( void  ) const

◆ GenerateData()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision >
void otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::GenerateData
overrideprotected

Call to generate data, wiring composite internal minipipeline

Definition at line 90 of file otbSimpleRcsPanSharpeningFusionImageFilter.hxx.

References otb::ReadNoDataFlags().

◆ GetFilter()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
virtual const ArrayType& otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::GetFilter ( ) const
virtual

Typedef of the FunctorImageFilter applying the fusion functor to p, p_smooth and xs.

◆ GetNameOfClass()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
virtual const char* otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::GetNameOfClass ( ) const
virtual

Run-time type information

◆ GetPanInput()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision >
const TPanImageType * otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::GetPanInput ( void  ) const

Typedef of the FunctorImageFilter applying the fusion functor to p, p_smooth and xs.

Definition at line 58 of file otbSimpleRcsPanSharpeningFusionImageFilter.hxx.

◆ GetRadius()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
virtual RadiusType otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::GetRadius ( )
virtual

Set the smoothing filter radius

◆ GetXsInput()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision >
const TXsImageType * otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::GetXsInput ( void  ) const

Typedef of the FunctorImageFilter applying the fusion functor to p, p_smooth and xs.

Definition at line 79 of file otbSimpleRcsPanSharpeningFusionImageFilter.hxx.

◆ New()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
static Pointer otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::New ( )
static

Method for creation through object factory

◆ operator=()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
void otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::operator= ( const Self )
private

Typedef of the FunctorImageFilter applying the fusion functor to p, p_smooth and xs.

◆ PrintSelf()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision >
void otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

PrintSelf method

Definition at line 184 of file otbSimpleRcsPanSharpeningFusionImageFilter.hxx.

◆ SetFilter()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
virtual void otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::SetFilter ( ArrayType  _arg)
virtual

Set the kernel used for the smoothing filter

◆ SetPanInput()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision >
void otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::SetPanInput ( const TPanImageType *  image)
virtual

Typedef of the FunctorImageFilter applying the fusion functor to p, p_smooth and xs.

Definition at line 48 of file otbSimpleRcsPanSharpeningFusionImageFilter.hxx.

◆ SetRadius()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
virtual void otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::SetRadius ( RadiusType  _arg)
virtual

Typedef of the FunctorImageFilter applying the fusion functor to p, p_smooth and xs.

◆ SetXsInput()

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision >
void otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::SetXsInput ( const TXsImageType *  path)
virtual

Typedef of the FunctorImageFilter applying the fusion functor to p, p_smooth and xs.

Definition at line 69 of file otbSimpleRcsPanSharpeningFusionImageFilter.hxx.

Member Data Documentation

◆ m_ConvolutionFilter

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
ConvolutionFilterType::Pointer otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::m_ConvolutionFilter
private

Pointer to the internal convolution filter

Definition at line 242 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ m_Filter

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
ArrayType otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::m_Filter
private

Kernel used for the smoothing filter

Definition at line 257 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ m_FusionFilter

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
FusionFilterType::Pointer otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::m_FusionFilter
private

Pointer to the fusion filter

Definition at line 245 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ m_NoDataFusionFilter

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
NoDataFusionFilterType::Pointer otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::m_NoDataFusionFilter
private

Pointer to the fusion filter

Definition at line 248 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ m_ProgressAccumulator

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
itk::ProgressAccumulator::Pointer otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::m_ProgressAccumulator
private

The internal progress accumulator

Definition at line 260 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ m_Radius

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
RadiusType otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::m_Radius
private

Radius used for the smoothing filter

Definition at line 254 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.

◆ m_UseNoData

template<class TPanImageType , class TXsImageType , class TOutputImageType , class TInternalPrecision = float>
bool otb::SimpleRcsPanSharpeningFusionImageFilter< TPanImageType, TXsImageType, TOutputImageType, TInternalPrecision >::m_UseNoData
private

Boolean used for no data

Definition at line 251 of file otbSimpleRcsPanSharpeningFusionImageFilter.h.


The documentation for this class was generated from the following files: