te::rp::MixtureModelLinearStrategy Class Reference

#include <MixtureModelLinearStrategy.h>

Inheritance diagram for te::rp::MixtureModelLinearStrategy:
te::rp::MixtureModelStrategy

Classes

class  Parameters
 MixtureModel Parameters. More...
 

Public Member Functions

bool execute (const te::rst::Raster &inputRaster, const std::vector< unsigned int > &inputRasterBands, const std::vector< std::string > &inputSensorBands, const std::map< std::string, std::vector< double > > &components, std::vector< te::rst::Raster * > &outputRaster, const bool normalize, const bool enableProgressInterface) throw (te::rp::Exception)
 Executes the segmentation strategy. More...
 
bool generateTransformMatrix (const std::vector< unsigned int > &inputRasterBands, const std::vector< std::string > &inputSensorBands, const std::map< std::string, std::vector< double > > &components)
 Generates the used transformation matrix (when applicable). More...
 
const std::string & getErrorMessage () const
 Return the current error message if there is any. More...
 
bool getMinMax (std::vector< double > &, std::vector< double > &) const
 
bool getMinMaxError (std::vector< double > &, std::vector< double > &) const
 
bool getTransformMatrix (boost::numeric::ublas::matrix< double > &matrix) const
 Returns the used transformation matrix (when applicable). More...
 
bool initialize (StrategyParameters const *const strategyParams) throw (te::rp::Exception)
 Initialize the segmentation strategy. More...
 
 MixtureModelLinearStrategy ()
 
bool setTransformMatrix (boost::numeric::ublas::matrix< double > &matrix)
 Sets the used transformation matrix. More...
 
 ~MixtureModelLinearStrategy ()
 

Protected Member Functions

bool executeLST (const te::rst::Raster &inputRaster, const std::vector< unsigned int > &inputRasterBands, const std::vector< std::string > &inputSensorBands, const std::map< std::string, std::vector< double > > &components, std::vector< te::rst::Raster * > &outputRaster, const bool normalize, const bool enableProgressInterface) throw (te::rp::Exception)
 
bool executeRLS3T (const te::rst::Raster &inputRaster, const std::vector< unsigned int > &inputRasterBands, const std::vector< std::string > &inputSensorBands, const std::map< std::string, std::vector< double > > &components, std::vector< te::rst::Raster * > &outputRaster, const bool normalize, const bool enableProgressInterface) throw (te::rp::Exception)
 
virtual void reset ()
 Reset to an initial state. More...
 
void setErrorMessage (const std::string &newErrorMessage)
 Set the current error message. More...
 

Protected Attributes

boost::numeric::ublas::matrix< double > m_AMatrix
 
bool m_isInitialized
 True if this instance is initialized. More...
 
std::vector< double > m_max
 Maximum value. More...
 
std::vector< double > m_maxerror
 Maximum error value. More...
 
std::vector< double > m_min
 A matrix. More...
 
std::vector< double > m_minerror
 Minimun error value. More...
 
MixtureModelLinearStrategy::Parameters m_parameters
 Internal execution parameters. More...
 

Private Attributes

std::string m_errorMessage
 Current error message. More...
 

Detailed Description

Note
The transformation matrix (A) returned by getTransformMatrix by definition: A * X = R, we have A, so that X = inv(A' * A) * A' * R where A is the set of known reflectances for each component, R is the reflectances of a specific pixel and X is the proportion of each component.
Reference: Modelo Linear de Mistura Espectral Conceitos Teóricos, Algoritmos e Aplicações em Estudos na Amazônia Legal Linear Spectral Mixing Model, Theoretical Concepts, Algorithms and Applications in Studies in the Legal Amazon, Yosio Edemir Shimabukuro , Andeise Cerqueira Dutra e Egidio Arai.
Reference: Utilização de atributos derivados de proporções de classes dentro de um elemento de resolução de imagem pixel na classificação multiespectral de imagens de sensoriamento remoto, Ana Paula Dutra de Aguiar, Junho 1991.

Definition at line 56 of file MixtureModelLinearStrategy.h.

Constructor & Destructor Documentation

◆ MixtureModelLinearStrategy()

te::rp::MixtureModelLinearStrategy::MixtureModelLinearStrategy ( )

◆ ~MixtureModelLinearStrategy()

te::rp::MixtureModelLinearStrategy::~MixtureModelLinearStrategy ( )

Member Function Documentation

◆ execute()

bool te::rp::MixtureModelLinearStrategy::execute ( const te::rst::Raster inputRaster,
const std::vector< unsigned int > &  inputRasterBands,
const std::vector< std::string > &  inputSensorBands,
const std::map< std::string, std::vector< double > > &  components,
std::vector< te::rst::Raster * > &  outputRaster,
const bool  normalize,
const bool  enableProgressInterface 
)
throw (te::rp::Exception
)
virtual

Executes the segmentation strategy.

Parameters
inputRasterInput raster.
inputRasterBandsInput raster bands.
componentsThe set of endmembers and its radiances.
outputRasterOutput raster vector, contains output raster and error raster if requested.
enableProgressInterfaceEnable the internal strategy to update the progress interface.
Returns
true if OK, false on errors.

Implements te::rp::MixtureModelStrategy.

◆ executeLST()

bool te::rp::MixtureModelLinearStrategy::executeLST ( const te::rst::Raster inputRaster,
const std::vector< unsigned int > &  inputRasterBands,
const std::vector< std::string > &  inputSensorBands,
const std::map< std::string, std::vector< double > > &  components,
std::vector< te::rst::Raster * > &  outputRaster,
const bool  normalize,
const bool  enableProgressInterface 
)
throw (te::rp::Exception
)
protected

◆ executeRLS3T()

bool te::rp::MixtureModelLinearStrategy::executeRLS3T ( const te::rst::Raster inputRaster,
const std::vector< unsigned int > &  inputRasterBands,
const std::vector< std::string > &  inputSensorBands,
const std::map< std::string, std::vector< double > > &  components,
std::vector< te::rst::Raster * > &  outputRaster,
const bool  normalize,
const bool  enableProgressInterface 
)
throw (te::rp::Exception
)
protected

◆ generateTransformMatrix()

bool te::rp::MixtureModelLinearStrategy::generateTransformMatrix ( const std::vector< unsigned int > &  inputRasterBands,
const std::vector< std::string > &  inputSensorBands,
const std::map< std::string, std::vector< double > > &  components 
)
virtual

Generates the used transformation matrix (when applicable).

Parameters
inputRasterBandsInput raster bands.
inputSensorBandsInput names of the sensor/bands.
componentsA set of endmembers and its radiances.
Returns
true if OK, false on errors or not applicable cases.

Implements te::rp::MixtureModelStrategy.

◆ getErrorMessage()

const std::string& te::rp::MixtureModelStrategy::getErrorMessage ( ) const
inherited

Return the current error message if there is any.

Returns
Return the current error message if there is any.

◆ getMinMax()

bool te::rp::MixtureModelLinearStrategy::getMinMax ( std::vector< double > &  ,
std::vector< double > &   
) const
virtual

◆ getMinMaxError()

bool te::rp::MixtureModelLinearStrategy::getMinMaxError ( std::vector< double > &  ,
std::vector< double > &   
) const
virtual

◆ getTransformMatrix()

bool te::rp::MixtureModelLinearStrategy::getTransformMatrix ( boost::numeric::ublas::matrix< double > &  matrix) const
virtual

Returns the used transformation matrix (when applicable).

Parameters
matrixThe transformation matrix.
Returns
true if OK, false on errors or not applicable cases.

Implements te::rp::MixtureModelStrategy.

◆ initialize()

bool te::rp::MixtureModelLinearStrategy::initialize ( StrategyParameters const *const  strategyParams)
throw (te::rp::Exception
)
virtual

Initialize the segmentation strategy.

Parameters
strategyParamsA pointer to the user given specific segmentation strategy parameters ou NULL if no parameters are present.
Returns
true if OK, false on errors.

Implements te::rp::MixtureModelStrategy.

◆ reset()

virtual void te::rp::MixtureModelStrategy::reset ( )
protectedvirtualinherited

Reset to an initial state.

◆ setErrorMessage()

void te::rp::MixtureModelStrategy::setErrorMessage ( const std::string &  newErrorMessage)
protectedinherited

Set the current error message.

Parameters
newErrorMessageNew error message;

◆ setTransformMatrix()

bool te::rp::MixtureModelLinearStrategy::setTransformMatrix ( boost::numeric::ublas::matrix< double > &  matrix)
virtual

Sets the used transformation matrix.

Parameters
matrixThe transformation matrix.
Returns
true if OK, false on errors or not applicable cases.

Implements te::rp::MixtureModelStrategy.

Member Data Documentation

◆ m_AMatrix

boost::numeric::ublas::matrix<double> te::rp::MixtureModelLinearStrategy::m_AMatrix
protected

Definition at line 129 of file MixtureModelLinearStrategy.h.

◆ m_errorMessage

std::string te::rp::MixtureModelStrategy::m_errorMessage
privateinherited

Current error message.

Definition at line 134 of file MixtureModelStrategy.h.

◆ m_isInitialized

bool te::rp::MixtureModelLinearStrategy::m_isInitialized
protected

True if this instance is initialized.

Definition at line 127 of file MixtureModelLinearStrategy.h.

◆ m_max

std::vector<double> te::rp::MixtureModelLinearStrategy::m_max
protected

Maximum value.

Definition at line 131 of file MixtureModelLinearStrategy.h.

◆ m_maxerror

std::vector<double> te::rp::MixtureModelLinearStrategy::m_maxerror
protected

Maximum error value.

Definition at line 133 of file MixtureModelLinearStrategy.h.

◆ m_min

std::vector<double> te::rp::MixtureModelLinearStrategy::m_min
protected

A matrix.

Minimun value

Definition at line 130 of file MixtureModelLinearStrategy.h.

◆ m_minerror

std::vector<double> te::rp::MixtureModelLinearStrategy::m_minerror
protected

Minimun error value.

Definition at line 132 of file MixtureModelLinearStrategy.h.

◆ m_parameters

MixtureModelLinearStrategy::Parameters te::rp::MixtureModelLinearStrategy::m_parameters
protected

Internal execution parameters.

Definition at line 128 of file MixtureModelLinearStrategy.h.


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