26 #ifndef __TERRALIB_RP_INTERNAL_MIXTUREMODELLINEARSTRATEGY_H
27 #define __TERRALIB_RP_INTERNAL_MIXTUREMODELLINEARSTRATEGY_H
38 #include <boost/numeric/ublas/matrix.hpp>
75 AbstractParameters* clone() const;
88 bool execute(const
te::rst::Raster& inputRaster, const std::vector<
unsigned int>& inputRasterBands,
89 const std::vector<std::
string>& inputSensorBands, const std::map<std::
string, std::vector<
double> >& components,
90 std::vector<
te::rst::Raster*>& outputRaster, const
bool normalize, const
bool enableProgressInterface) throw(
te::rp::
Exception);
93 bool getTransformMatrix(
boost::numeric::ublas::matrix<
double>& matrix) const;
96 bool setTransformMatrix(
boost::numeric::ublas::matrix<
double>& matrix) ;
99 bool generateTransformMatrix(const std::vector<
unsigned int>& inputRasterBands, const std::vector<std::
string>& inputSensorBands,
100 const std::map<std::
string, std::vector<
double> >& components);
103 bool getMinMax(std::vector<
double>&, std::vector<
double>&) const;
104 bool getMinMaxError(std::vector<
double>&, std::vector<
double>&) const;
108 bool m_isInitialized;
110 boost::numeric::ublas::matrix<
double> m_transfMatrix;
111 boost::numeric::ublas::matrix<
double> m_transposeA;
112 std::vector<
double> m_min;
113 std::vector<
double> m_max;
114 std::vector<
double> m_minerror;
115 std::vector<
double> m_maxerror;
140 #endif // __TERRALIB_RP_INTERNAL_MIXTUREMODELLINEARSTRATEGY_H