26 #ifndef __TERRALIB_RP_INTERNAL_MIXTUREMODELLINEARSTRATEGY_H
27 #define __TERRALIB_RP_INTERNAL_MIXTUREMODELLINEARSTRATEGY_H
39 #include <boost/numeric/ublas/matrix.hpp>
92 te::common::AbstractParameters* clone() const;
105 bool execute(const
te::rst::Raster& inputRaster, const std::vector<
unsigned int>& inputRasterBands,
106 const std::vector<std::
string>& inputSensorBands, const std::map<std::
string, std::vector<
double> >& components,
107 std::vector<
te::rst::Raster*>& outputRaster, const
bool normalize, const
bool enableProgressInterface) throw(
te::rp::
Exception);
110 bool getTransformMatrix(
boost::numeric::ublas::matrix<
double>& matrix) const;
113 bool setTransformMatrix(
boost::numeric::ublas::matrix<
double>& matrix) ;
116 bool generateTransformMatrix(
117 const std::vector<
unsigned int>& inputRasterBands,
118 const std::vector<std::
string>& inputSensorBands,
119 const std::map<std::
string, std::vector<
double> >& components );
122 bool getMinMax(std::vector<
double>&, std::vector<
double>&) const;
123 bool getMinMaxError(std::vector<
double>&, std::vector<
double>&) const;
127 bool m_isInitialized;
129 boost::numeric::ublas::matrix<
double> m_AMatrix;
130 std::vector<
double> m_min;
131 std::vector<
double> m_max;
132 std::vector<
double> m_minerror;
133 std::vector<
double> m_maxerror;
136 const
te::rst::Raster& inputRaster,
137 const std::vector<
unsigned int>& inputRasterBands,
138 const std::vector<std::
string>& inputSensorBands,
139 const std::map<std::
string, std::vector<
double> >& components,
140 std::vector<
te::rst::Raster*>& outputRaster, const
bool normalize, const
bool enableProgressInterface) throw(
te::rp::
Exception);
143 const
te::rst::Raster& inputRaster,
144 const std::vector<
unsigned int>& inputRasterBands,
145 const std::vector<std::
string>& inputSensorBands,
146 const std::map<std::
string, std::vector<
double> >& components,
147 std::vector<
te::rst::Raster*>& outputRaster, const
bool normalize, const
bool enableProgressInterface) throw(
te::rp::
Exception);
173 #endif // __TERRALIB_RP_INTERNAL_MIXTUREMODELLINEARSTRATEGY_H