26 #ifndef __TERRALIB_RP_INTERNAL_RASTERATTRIBUTES_H
27 #define __TERRALIB_RP_INTERNAL_RASTERATTRIBUTES_H
30 #include "../statistics/core/NumericStatisticalSummary.h"
31 #include "../statistics/core/NumericStatisticalComplexSummary.h"
38 #include <boost/numeric/ublas/io.hpp>
39 #include <boost/numeric/ublas/matrix.hpp>
96 std::vector<std::complex<
double> > getComplexValuesFromBand(const
te::rst::Raster& raster,
unsigned int band, const
te::gm::Polygon& polygon);
109 std::vector<
double> getValuesFromBand(const
te::rst::Raster& raster,
unsigned int band, const
te::gm::Polygon& polygon);
121 void getValuesFromBand(const
te::rst::Raster& raster,
unsigned int band, const
te::gm::Polygon& polygon, std::map<
double,
int>& values);
134 std::vector<std::vector<std::complex<
double> > > getComplexValuesFromRaster(const
te::rst::Raster& raster, const
te::gm::Polygon& polygon, std::vector<
unsigned int> bands,
unsigned int rowstep = 1,
unsigned int colstep = 1);
147 std::vector<std::vector<
double> > getValuesFromRaster(const
te::rst::Raster& raster, const
te::gm::Polygon& polygon, std::vector<
unsigned int> bands,
unsigned int rowstep = 1,
unsigned int colstep = 1);
156 te::stat::NumericStatisticalSummary getStatistics(std::vector<
double>& pixels);
168 void getStatisticsFromPolygon(const
te::rst::Raster& raster,
unsigned int band, const
te::gm::Polygon& polygon,
te::stat::NumericStatisticalSummary &summary,
double noDataValue = 0.0);
177 te::stat::NumericStatisticalComplexSummary getComplexStatistics(std::vector <std::complex <
double> >& pixels);
189 boost::numeric::ublas::matrix<
double> getCovarianceMatrix(const std::vector<std::vector<
double> >& vpixels, const std::vector<
double>& vmeans);
201 boost::numeric::ublas::matrix<std::complex <
double> > getComplexCovarianceMatrix(const std::vector<std::vector<std::complex <
double> > >& vpixels, const std::vector<std::complex <
double > >& vmeans);
222 boost::numeric::ublas::matrix<
double> getGLCM(const
te::rst::Raster& rin,
unsigned int band,
int dx,
int dy,
223 double minPixel,
double maxPixel,
double gLevels = 256);
245 boost::numeric::ublas::matrix<
double> getGLCM(const
te::rst::Raster& rin,
unsigned int band,
int dx,
int dy,
246 const
te::gm::Polygon& polygon,
double minPixel,
double maxPixel,
double gLevels = 256);
258 te::rp::
Texture getGLCMMetrics(
boost::numeric::ublas::matrix<
double> glcm,
double noDataValue = 0.0);
261 bool m_enableTaskProgress;
267 #endif // __TERRALIB_RP_INTERNAL_RASTERATTRIBUTES_H