OTB  6.7.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

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 63 of file otbTimeSeriesLeastSquareFittingFunctor.h.

Constructor & Destructor Documentation

template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::TimeSeriesLeastSquareFittingFunctor ( )
inline
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 72 of file otbTimeSeriesLeastSquareFittingFunctor.h.

Member Function Documentation

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
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
template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
TSeriesType otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::operator() ( const TSeriesType &  series)
inline
template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
void otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::SetDates ( const TDateType &  doy)
inline
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

template<class TSeriesType , class TTimeFunction , class TDateType = TSeriesType, class TWeightType = TSeriesType>
TDateType otb::Functor::TimeSeriesLeastSquareFittingFunctor< TSeriesType, TTimeFunction, TDateType, TWeightType >::m_DoySeries
private
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: