OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Private Attributes | List of all members
otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType > Class Template Reference

#include <otbTimeSeriesLeastSquareFittingFunctor.h>

Public Types

typedef TTimeFunction::CoefficientsType CoefficientsType
 

Public Member Functions

TTimeFunction EstimateTimeFunction (const TSeriesType &series) const
 
CoefficientsType GetCoefficients (const TSeriesType &series) const
 
TSeriesType operator() (const TSeriesType &series)
 
void SetDates (const TDateType &doy)
 
void SetWeights (const TWeightType &weights)
 
 TimeSeriesLeastSquareFittingFunctor ()
 
virtual ~TimeSeriesLeastSquareFittingFunctor ()
 

Private Attributes

TDateType m_DoySeries
 
TWeightType m_WeightSeries
 

Detailed Description

template<class TSeriesType, class TTimeFunction, class TDateType = TSeriesType, class TWeightType = TSeriesType>
class otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >

Implements a least squares fitting of a time profile.

This functor implements a least squares fitting of a time profile. The time series as well as the date series are supposed to accept the [] syntax to get the values and the Size() method to get their length. The fitting is performed using a time function which is just a weighted sum of basis functions : $ f(t) = c_0 * \phi_0(t) + c_1 * \phi_1(t) + c_1 * \phi_1(t) + \cdots $ Using a matrix notation, this can be written as follows : $ F = \Phi c $ $ F = ( f(t_i) ) $ $ c = ( c_j ) $ $ \Phi_{ij} = ( \phi_j(t_i) ) $ If information about the error of each measure is available, it can be provided using a weight series $\sigma_i$ (the higher the error, the higher the $ \sigma_i $. The problem then becomes: $ b = A c $ $ b = (\frac{ f(t_i) }{\sigma_i}) $ $ A_{ij} = \frac{\Phi_{ij}}{\sigma_i} $

Definition at line 59 of file otbTimeSeriesLeastSquareFittingFunctor.h.

Member Typedef Documentation

◆ CoefficientsType

template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
typedef TTimeFunction::CoefficientsType otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::CoefficientsType

Definition at line 62 of file otbTimeSeriesLeastSquareFittingFunctor.h.

Constructor & Destructor Documentation

◆ TimeSeriesLeastSquareFittingFunctor()

template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::TimeSeriesLeastSquareFittingFunctor ( )
inline

◆ ~TimeSeriesLeastSquareFittingFunctor()

template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
virtual otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::~TimeSeriesLeastSquareFittingFunctor ( )
inlinevirtual

Destructor.

Definition at line 71 of file otbTimeSeriesLeastSquareFittingFunctor.h.

Member Function Documentation

◆ EstimateTimeFunction()

template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
TTimeFunction otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::EstimateTimeFunction ( const TSeriesType &  series) const
inline

◆ GetCoefficients()

template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
CoefficientsType otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::GetCoefficients ( const TSeriesType &  series) const
inline

◆ operator()()

template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
TSeriesType otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::operator() ( const TSeriesType &  series)
inline

◆ SetDates()

template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
void otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::SetDates ( const TDateType &  doy)
inline

◆ SetWeights()

template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
void otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::SetWeights ( const TWeightType &  weights)
inline

Member Data Documentation

◆ m_DoySeries

template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
TDateType otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::m_DoySeries
private

◆ m_WeightSeries

template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
TWeightType otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::m_WeightSeries
private

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