26#ifndef __TERRALIB_RP_INTERNAL_RASTERATTRIBUTES_H
27#define __TERRALIB_RP_INTERNAL_RASTERATTRIBUTES_H
38#include <boost/numeric/ublas/io.hpp>
39#include <boost/numeric/ublas/matrix.hpp>
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);
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);
A structure to hold the set of GLCM metrics.
Polygon is a subclass of CurvePolygon whose rings are defined by linear rings.
Raster Processing algorithm output parameters base interface.
bool execute(AlgorithmOutputParameters &outputParams) _NOEXCEPT_OP(false)
Executes the algorithm using the supplied parameters.
std::vector< double > getValuesFromBand(const te::rst::Raster &raster, unsigned int band, const te::gm::Polygon &polygon)
Returns the pixel values for the band, inside the polygon.
RasterAttributes(bool enableTaskProgress=true)
Public constructor.
bool m_enableTaskProgress
bool initialize(const AlgorithmInputParameters &inputParams) _NOEXCEPT_OP(false)
Initialize the algorithm instance making it ready for execution.
boost::numeric::ublas::matrix< double > getCovarianceMatrix(const std::vector< std::vector< double > > &vpixels, const std::vector< double > &vmeans)
Returns the covariance matrix between vectors of pixel values.
void getStatisticsFromPolygon(const te::rst::Raster &raster, unsigned int band, const te::gm::Polygon &polygon, te::stat::NumericStatisticalSummary &summary, double noDataValue=0.0)
Computes several statistics from a set of pixels inside a polygon.
boost::numeric::ublas::matrix< double > getGLCM(const te::rst::Raster &rin, unsigned int band, int dx, int dy, double minPixel, double maxPixel, unsigned int gLevels=256)
Computes the Gray-Level Co-occurrence Matrix (GLCM) from a raster band.
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)
Returns the pixel values for all the bands in raster, inside the polygon.
void reset() _NOEXCEPT_OP(false)
Clear all internal allocated objects and reset the algorithm to its initial state.
te::rp::Texture getGLCMMetrics(boost::numeric::ublas::matrix< double > glcm, double noDataValue=0.0)
Compute texture metrics from GLCM matrix.
boost::numeric::ublas::matrix< std::complex< double > > getComplexCovarianceMatrix(const std::vector< std::vector< std::complex< double > > > &vpixels, const std::vector< std::complex< double > > &vmeans)
Returns the covariance matrix between vectors of pixel values.
std::vector< std::complex< double > > getComplexValuesFromBand(const te::rst::Raster &raster, unsigned int band, const te::gm::Polygon &polygon)
Returns the pixel values (real and imag) for the band, inside the polygon.
bool isInitialized() const
Returns true if the algorithm instance is initialized and ready for execution.
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)
Returns the pixel values (real and imag) for all the bands in raster, inside the polygon.
te::stat::NumericStatisticalSummary getStatistics(std::vector< double > &pixels)
Returns several statistics from a set of pixels.
te::stat::NumericStatisticalComplexSummary getComplexStatistics(std::vector< std::complex< double > > &pixels)
Returns several statistics from a set of pixels (real and imag).
A raster band description.
An abstract class for raster data strucutures.
Namespace for the Vector Geometry module of TerraLib.
Namespace for the Map Tools module of TerraLib.
Namespace for Raster Processing module of TerraLib.
Namespace for the Raster module of TerraLib.
This is the namespace for the Statistics module.
Raster Processing algorithm base interface class.
A structure to hold the set of GLCM metrics.
Configuration flags for the Raster Processing module of TerraLib.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.