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