OTB  7.4.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
otb::LeeImageFilter< TInputImage, TOutputImage > Class Template Reference

#include <otbLeeImageFilter.h>

+ Inheritance diagram for otb::LeeImageFilter< TInputImage, TOutputImage >:
+ Collaboration diagram for otb::LeeImageFilter< TInputImage, TOutputImage >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef TInputImage InputImageType
 
typedef InputImageType::PixelType InputPixelType
 
typedef itk::NumericTraits< InputPixelType >::RealType InputRealType
 
typedef OutputImageType::RegionType OutputImageRegionType
 
typedef TOutputImage OutputImageType
 
typedef OutputImageType::PixelType OutputPixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef LeeImageFilter Self
 
typedef InputImageType::SizeType SizeType
 
typedef itk::ImageToImageFilter< InputImageType, OutputImageTypeSuperclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
void GenerateInputRequestedRegion () override
 
virtual const char * GetNameOfClass () const
 
virtual const double & GetNbLooks () const
 
virtual const SizeTypeGetRadius () const
 
virtual void SetNbLooks (double _arg)
 
virtual void SetRadius (SizeType _arg)
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int InputImageDimension = TInputImage::ImageDimension
 
static const unsigned int OutputImageDimension = TOutputImage::ImageDimension
 

Protected Member Functions

void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId) override
 
 ~LeeImageFilter () override
 
 LeeImageFilter ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 

Private Member Functions

 LeeImageFilter (const Self &)=delete
 
void operator= (const Self &)=delete
 

Private Attributes

double m_NbLooks
 
SizeType m_Radius
 

Detailed Description

template<class TInputImage, class TOutputImage>
class otb::LeeImageFilter< TInputImage, TOutputImage >

Anti-speckle image filter.

This class implements Lee's filter for despeckleing of SAR images. The estimated reflectivity R is computed as follows:

R=I*W+E[I]*(1-W), where W=1-Cu*Cu/(Ci*Ci) Cu = 1/sqrt(nb of look) Ci = sqrt(VAR[I])/E[I]

(http://www.isprs.org/proceedings/XXXV/congress/comm2/papers/110.pdf)

Definition at line 50 of file otbLeeImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage , class TOutputImage >
typedef itk::SmartPointer<const Self> otb::LeeImageFilter< TInputImage, TOutputImage >::ConstPointer

Definition at line 65 of file otbLeeImageFilter.h.

◆ InputImageRegionType

template<class TInputImage , class TOutputImage >
typedef InputImageType::RegionType otb::LeeImageFilter< TInputImage, TOutputImage >::InputImageRegionType

Definition at line 76 of file otbLeeImageFilter.h.

◆ InputImageType

template<class TInputImage , class TOutputImage >
typedef TInputImage otb::LeeImageFilter< TInputImage, TOutputImage >::InputImageType

Definition at line 58 of file otbLeeImageFilter.h.

◆ InputPixelType

template<class TInputImage , class TOutputImage >
typedef InputImageType::PixelType otb::LeeImageFilter< TInputImage, TOutputImage >::InputPixelType

Definition at line 71 of file otbLeeImageFilter.h.

◆ InputRealType

template<class TInputImage , class TOutputImage >
typedef itk::NumericTraits<InputPixelType>::RealType otb::LeeImageFilter< TInputImage, TOutputImage >::InputRealType

Definition at line 75 of file otbLeeImageFilter.h.

◆ OutputImageRegionType

template<class TInputImage , class TOutputImage >
typedef OutputImageType::RegionType otb::LeeImageFilter< TInputImage, TOutputImage >::OutputImageRegionType

Definition at line 77 of file otbLeeImageFilter.h.

◆ OutputImageType

template<class TInputImage , class TOutputImage >
typedef TOutputImage otb::LeeImageFilter< TInputImage, TOutputImage >::OutputImageType

Definition at line 59 of file otbLeeImageFilter.h.

◆ OutputPixelType

template<class TInputImage , class TOutputImage >
typedef OutputImageType::PixelType otb::LeeImageFilter< TInputImage, TOutputImage >::OutputPixelType

Definition at line 74 of file otbLeeImageFilter.h.

◆ Pointer

template<class TInputImage , class TOutputImage >
typedef itk::SmartPointer<Self> otb::LeeImageFilter< TInputImage, TOutputImage >::Pointer

Definition at line 64 of file otbLeeImageFilter.h.

◆ Self

template<class TInputImage , class TOutputImage >
typedef LeeImageFilter otb::LeeImageFilter< TInputImage, TOutputImage >::Self

standard class typedefs

Definition at line 62 of file otbLeeImageFilter.h.

◆ SizeType

template<class TInputImage , class TOutputImage >
typedef InputImageType::SizeType otb::LeeImageFilter< TInputImage, TOutputImage >::SizeType

Definition at line 78 of file otbLeeImageFilter.h.

◆ Superclass

template<class TInputImage , class TOutputImage >
typedef itk::ImageToImageFilter<InputImageType, OutputImageType> otb::LeeImageFilter< TInputImage, TOutputImage >::Superclass

Definition at line 63 of file otbLeeImageFilter.h.

Constructor & Destructor Documentation

◆ LeeImageFilter() [1/2]

template<class TInputImage , class TOutputImage >
otb::LeeImageFilter< TInputImage, TOutputImage >::LeeImageFilter ( )
protected

Definition at line 41 of file otbLeeImageFilter.hxx.

◆ ~LeeImageFilter()

template<class TInputImage , class TOutputImage >
otb::LeeImageFilter< TInputImage, TOutputImage >::~LeeImageFilter ( )
inlineoverrideprotected

Definition at line 102 of file otbLeeImageFilter.h.

◆ LeeImageFilter() [2/2]

template<class TInputImage , class TOutputImage >
otb::LeeImageFilter< TInputImage, TOutputImage >::LeeImageFilter ( const Self )
privatedelete

Member Function Documentation

◆ CreateAnother()

template<class TInputImage , class TOutputImage >
virtual::itk::LightObject::Pointer otb::LeeImageFilter< TInputImage, TOutputImage >::CreateAnother ( void  ) const

◆ GenerateInputRequestedRegion()

template<class TInputImage , class TOutputImage >
void otb::LeeImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion ( void  )
override

LeeImageFilter needs a larger input requested region than the output requested region. As such, LeeImageFilter needs to provide an implementation for GenerateInputRequestedRegion() in order to inform the pipeline execution model.

See also
ImageToImageFilter::GenerateInputRequestedRegion()

Definition at line 49 of file otbLeeImageFilter.hxx.

◆ GetNameOfClass()

template<class TInputImage , class TOutputImage >
virtual const char* otb::LeeImageFilter< TInputImage, TOutputImage >::GetNameOfClass ( ) const
virtual

typemacro

◆ GetNbLooks()

template<class TInputImage , class TOutputImage >
virtual const double& otb::LeeImageFilter< TInputImage, TOutputImage >::GetNbLooks ( ) const
virtual

Getthe number of look used for computation

◆ GetRadius()

template<class TInputImage , class TOutputImage >
virtual const SizeType& otb::LeeImageFilter< TInputImage, TOutputImage >::GetRadius ( ) const
virtual

Get the radius of the neighborhood used in this filter

◆ New()

template<class TInputImage , class TOutputImage >
static Pointer otb::LeeImageFilter< TInputImage, TOutputImage >::New ( )
static

Object factory management

◆ operator=()

template<class TInputImage , class TOutputImage >
void otb::LeeImageFilter< TInputImage, TOutputImage >::operator= ( const Self )
privatedelete

◆ PrintSelf()

template<class TInputImage , class TOutput >
void otb::LeeImageFilter< TInputImage, TOutput >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

Standard "PrintSelf" method

Definition at line 198 of file otbLeeImageFilter.hxx.

◆ SetNbLooks()

template<class TInputImage , class TOutputImage >
virtual void otb::LeeImageFilter< TInputImage, TOutputImage >::SetNbLooks ( double  _arg)
virtual

Set the number of look used for computation

◆ SetRadius()

template<class TInputImage , class TOutputImage >
virtual void otb::LeeImageFilter< TInputImage, TOutputImage >::SetRadius ( SizeType  _arg)
virtual

Set the radius of the neighborhood used in this filter

◆ ThreadedGenerateData()

template<class TInputImage , class TOutputImage >
void otb::LeeImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
itk::ThreadIdType  threadId 
)
overrideprotected

LeeImageFilter can be multithreaded. As such, it provides a definition of ThreadedGenerateData()

LEE filter: $ R = E[I] + b(I-E[I])$ with $ b = C^2r / ( C^2r + C^2v )$ $ Cv = 1 / \sqrt(L) $ with L the number of look. $ Cr = \sqrt(Var(I)) / E[I] where Var(I) = E[I^2] - E[I]^2 $

See also
ImageToImageFilter::ThreadedGenerateData(), ImageToImageFilter::GenerateData()

Definition at line 97 of file otbLeeImageFilter.hxx.

Member Data Documentation

◆ InputImageDimension

template<class TInputImage , class TOutputImage >
const unsigned int otb::LeeImageFilter< TInputImage, TOutputImage >::InputImageDimension = TInputImage::ImageDimension
static

Extract input and output image dimension

Definition at line 54 of file otbLeeImageFilter.h.

◆ m_NbLooks

template<class TInputImage , class TOutputImage >
double otb::LeeImageFilter< TInputImage, TOutputImage >::m_NbLooks
private

Number of look of the filter

Definition at line 127 of file otbLeeImageFilter.h.

◆ m_Radius

template<class TInputImage , class TOutputImage >
SizeType otb::LeeImageFilter< TInputImage, TOutputImage >::m_Radius
private

Radius of the filter

Definition at line 124 of file otbLeeImageFilter.h.

◆ OutputImageDimension

template<class TInputImage , class TOutputImage >
const unsigned int otb::LeeImageFilter< TInputImage, TOutputImage >::OutputImageDimension = TOutputImage::ImageDimension
static

Extract input and output image dimension

Definition at line 55 of file otbLeeImageFilter.h.


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