26 #ifndef __TERRALIB_RP_INTERNAL_MIXTUREMODELPCASTRATEGY_H
27 #define __TERRALIB_RP_INTERNAL_MIXTUREMODELPCASTRATEGY_H
39 #include <boost/numeric/ublas/matrix.hpp>
74 te::common::AbstractParameters* clone() const;
87 bool execute(const
te::rst::Raster& inputRaster, const std::vector<
unsigned int>& inputRasterBands,
88 const std::vector<std::
string>& inputSensorBands, const std::map<std::
string, std::vector<
double> >& components,
89 std::vector<
te::rst::Raster*>& outputRaster, const
bool normalize, const
bool enableProgressInterface) throw(
te::rp::
Exception);
92 bool getTransformMatrix(
boost::numeric::ublas::matrix<
double>& matrix ) const;
95 bool setTransformMatrix(
boost::numeric::ublas::matrix<
double>& matrix);
98 bool generateTransformMatrix(const std::vector<
unsigned int>& inputRasterBands, const std::vector<std::
string>& inputSensorBands,
99 const std::map<std::
string, std::vector<
double> >& components);
102 bool getMinMax(std::vector<
double>&, std::vector<
double>&) const;
103 bool getMinMaxError(std::vector<
double>&, std::vector<
double>&) const;
107 bool m_isInitialized;
109 boost::numeric::ublas::matrix<
double> m_transfMatrix;
110 std::vector<
double> m_min;
111 std::vector<
double> m_max;
112 std::vector<
double> m_minerror;
113 std::vector<
double> m_maxerror;
138 #endif // __TERRALIB_RP_INTERNAL_MIXTUREMODELPCASTRATEGY_H