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);
 
  224         boost::numeric::ublas::matrix<
double> getGLCM(const 
te::rst::Raster& rin, 
unsigned int band, 
int dx, 
int dy, 
 
  225             double minPixel, 
double maxPixel, 
unsigned int gLevels = 256);
 
  247         boost::numeric::ublas::matrix<
double> getGLCM(const 
te::rst::Raster& rin, 
unsigned int band, 
int dx, 
int dy, 
 
  248             const 
te::gm::Polygon& polygon, 
double minPixel, 
double maxPixel, 
unsigned int gLevels = 256);
 
  260         te::rp::
Texture getGLCMMetrics(
boost::numeric::ublas::matrix<
double> glcm, 
double noDataValue = 0.0);
 
  263         bool m_enableTaskProgress;
 
A structure to hold the set of GLCM metrics.
 
Raster Processing algorithm output parameters base interface.
 
Raster Processing algorithm base interface.
 
Extraction of attributes from Raster, Bands, and Polygons.
 
bool execute(AlgorithmOutputParameters &outputParams) _NOEXCEPT_OP(false)
Executes the algorithm using the supplied parameters.
 
RasterAttributes(bool enableTaskProgress=true)
Public constructor.
 
bool initialize(const AlgorithmInputParameters &inputParams) _NOEXCEPT_OP(false)
Initialize the algorithm instance making it ready for execution.
 
void reset() _NOEXCEPT_OP(false)
Clear all internal allocated objects and reset the algorithm to its initial state.
 
bool isInitialized() const
Returns true if the algorithm instance is initialized and ready for execution.
 
A structure to hold the set of GLCM metrics.
 
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
 
Proxy configuration file for TerraView (see terraview_config.h).
 
An exception class for the XML module.