OTB  9.0.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::Sentinel1ThermalNoiseLookupData Class Reference

#include <otbSentinel1ThermalNoiseLookupData.h>

+ Inheritance diagram for otb::Sentinel1ThermalNoiseLookupData:
+ Collaboration diagram for otb::Sentinel1ThermalNoiseLookupData:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using IndexValueType = itk::IndexValueType
 
using Pointer = itk::SmartPointer< Self >
 
using Self = Sentinel1ThermalNoiseLookupData
 
using Superclass = itk::LightObject
 
- Public Types inherited from otb::SarCalibrationLookupData
enum  {
  SIGMA = 0,
  BETA,
  GAMMA,
  DN,
  NOISE
}
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::IndexValueType IndexValueType
 
typedef itk::SmartPointer< SelfPointer
 
typedef SarCalibrationLookupData Self
 
typedef itk::LightObject Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
double GetValue (const IndexValueType x, const IndexValueType y) const override
 
void InitParameters (double firstLineTime, double lastLineTime, int numOfLines, std::vector< Sentinel1CalibrationStruct > const &rangeNoiseVectorList, std::vector< Sentinel1AzimuthNoiseStruct > const &azimuthNoiseVectorList)
 
- Public Member Functions inherited from otb::SarCalibrationLookupData
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual short GetType ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 SarCalibrationLookupData ()
 
void SetType (short t)
 
 ~SarCalibrationLookupData () override=default
 
virtual void ToKeywordlist (MetaData::Keywordlist &kwl, const std::string &prefix) const
 
virtual void FromKeywordlist (const MetaData::Keywordlist &kwl, const std::string &prefix)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from otb::SarCalibrationLookupData
static Pointer New ()
 

Protected Member Functions

 Sentinel1ThermalNoiseLookupData ()
 
 ~Sentinel1ThermalNoiseLookupData ()=default
 

Private Member Functions

double GetAzimuthNoise (const IndexValueType x, const IndexValueType y) const
 
int GetAzimuthVectorIndex (int x, int y) const
 
int GetPixelIndex (int x, const std::vector< int > &vec) const
 
double GetRangeNoise (const IndexValueType x, const IndexValueType y) const
 
int GetRangeVectorIndex (int y) const
 

Private Attributes

int m_AzimuthCount = 0
 
std::vector< Sentinel1AzimuthNoiseStructm_AzimuthNoiseVectorList
 
double m_FirstLineTime = 0.
 
double m_LastLineTime = 0.
 
double m_LineTimeInterval = 0.
 
int m_NumOfLines = 0
 
int m_RangeCount = 0
 
std::vector< Sentinel1CalibrationStructm_RangeNoiseVectorList
 

Detailed Description

Calculate the Sentinel 1 thermal noise contribution for the given pixel.

This class computes the thermal noise using the noise LUTs contained in the product metadata. Range noise and azimuth noise are considered. The noise contribution is the product of the interpolated LUTs at the pixel index. Only range noise is used if the azimuth noise LUT is not available (it is the case for older products).

Reference: MPC-0392 DI-MPC-TN Thermal Denoising of Products Generated by the S-1 IPF

This class is templated over the input image type and the coordinate representation type (e.g. float or double ).

Definition at line 61 of file otbSentinel1ThermalNoiseLookupData.h.

Member Typedef Documentation

◆ ConstPointer

using otb::Sentinel1ThermalNoiseLookupData::ConstPointer = itk::SmartPointer<const Self>

Definition at line 69 of file otbSentinel1ThermalNoiseLookupData.h.

◆ IndexValueType

Definition at line 71 of file otbSentinel1ThermalNoiseLookupData.h.

◆ Pointer

Definition at line 68 of file otbSentinel1ThermalNoiseLookupData.h.

◆ Self

Standard typedefs

Definition at line 66 of file otbSentinel1ThermalNoiseLookupData.h.

◆ Superclass

Definition at line 67 of file otbSentinel1ThermalNoiseLookupData.h.

Constructor & Destructor Documentation

◆ Sentinel1ThermalNoiseLookupData()

otb::Sentinel1ThermalNoiseLookupData::Sentinel1ThermalNoiseLookupData ( )
inlineprotected

Definition at line 90 of file otbSentinel1ThermalNoiseLookupData.h.

References m_FirstLineTime.

◆ ~Sentinel1ThermalNoiseLookupData()

otb::Sentinel1ThermalNoiseLookupData::~Sentinel1ThermalNoiseLookupData ( )
protecteddefault

Member Function Documentation

◆ CreateAnother()

virtual::itk::LightObject::Pointer otb::Sentinel1ThermalNoiseLookupData::CreateAnother ( void  ) const

◆ GetAzimuthNoise()

double otb::Sentinel1ThermalNoiseLookupData::GetAzimuthNoise ( const IndexValueType  x,
const IndexValueType  y 
) const
private

Compute azimuth thermal noise contribution

◆ GetAzimuthVectorIndex()

int otb::Sentinel1ThermalNoiseLookupData::GetAzimuthVectorIndex ( int  x,
int  y 
) const
private

◆ GetNameOfClass()

virtual const char* otb::Sentinel1ThermalNoiseLookupData::GetNameOfClass ( ) const
virtual

RTTI

Reimplemented from otb::SarCalibrationLookupData.

◆ GetPixelIndex()

int otb::Sentinel1ThermalNoiseLookupData::GetPixelIndex ( int  x,
const std::vector< int > &  vec 
) const
private

◆ GetRangeNoise()

double otb::Sentinel1ThermalNoiseLookupData::GetRangeNoise ( const IndexValueType  x,
const IndexValueType  y 
) const
private

Compute range thermal noise contribution

◆ GetRangeVectorIndex()

int otb::Sentinel1ThermalNoiseLookupData::GetRangeVectorIndex ( int  y) const
private

◆ GetValue()

double otb::Sentinel1ThermalNoiseLookupData::GetValue ( const IndexValueType  x,
const IndexValueType  y 
) const
overridevirtual

Compute noise contribution for a given pixel

Reimplemented from otb::SarCalibrationLookupData.

◆ InitParameters()

void otb::Sentinel1ThermalNoiseLookupData::InitParameters ( double  firstLineTime,
double  lastLineTime,
int  numOfLines,
std::vector< Sentinel1CalibrationStruct > const &  rangeNoiseVectorList,
std::vector< Sentinel1AzimuthNoiseStruct > const &  azimuthNoiseVectorList 
)

Init the LUT using metadatas

◆ New()

static Pointer otb::Sentinel1ThermalNoiseLookupData::New ( )
static

Creation through the object factory

Member Data Documentation

◆ m_AzimuthCount

int otb::Sentinel1ThermalNoiseLookupData::m_AzimuthCount = 0
private

Definition at line 117 of file otbSentinel1ThermalNoiseLookupData.h.

◆ m_AzimuthNoiseVectorList

std::vector<Sentinel1AzimuthNoiseStruct> otb::Sentinel1ThermalNoiseLookupData::m_AzimuthNoiseVectorList
private

Azimuth noise LUT container

Definition at line 123 of file otbSentinel1ThermalNoiseLookupData.h.

◆ m_FirstLineTime

double otb::Sentinel1ThermalNoiseLookupData::m_FirstLineTime = 0.
private

First line of the S1 product

Definition at line 107 of file otbSentinel1ThermalNoiseLookupData.h.

Referenced by Sentinel1ThermalNoiseLookupData().

◆ m_LastLineTime

double otb::Sentinel1ThermalNoiseLookupData::m_LastLineTime = 0.
private

Last line of the product

Definition at line 110 of file otbSentinel1ThermalNoiseLookupData.h.

◆ m_LineTimeInterval

double otb::Sentinel1ThermalNoiseLookupData::m_LineTimeInterval = 0.
private

Duration between two lines

Definition at line 113 of file otbSentinel1ThermalNoiseLookupData.h.

◆ m_NumOfLines

int otb::Sentinel1ThermalNoiseLookupData::m_NumOfLines = 0
private

Definition at line 115 of file otbSentinel1ThermalNoiseLookupData.h.

◆ m_RangeCount

int otb::Sentinel1ThermalNoiseLookupData::m_RangeCount = 0
private

Definition at line 116 of file otbSentinel1ThermalNoiseLookupData.h.

◆ m_RangeNoiseVectorList

std::vector<Sentinel1CalibrationStruct> otb::Sentinel1ThermalNoiseLookupData::m_RangeNoiseVectorList
private

Range noise LUT container

Definition at line 120 of file otbSentinel1ThermalNoiseLookupData.h.


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