Loading...
Searching...
No Matches
te::rp::RasterAttributes Class Reference

Extraction of attributes from Raster, Bands, and Polygons. More...

#include <RasterAttributes.h>

Inheritance diagram for te::rp::RasterAttributes:
te::rp::Algorithm

Public Member Functions

bool execute (AlgorithmOutputParameters &outputParams) _NOEXCEPT_OP(false)
 Executes the algorithm using the supplied parameters.
 
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.
 
te::stat::NumericStatisticalComplexSummary getComplexStatistics (std::vector< std::complex< double > > &pixels)
 Returns several statistics from a set of pixels (real and imag).
 
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.
 
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.
 
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.
 
const std::string & getErrorMessage () const
 Return the current error message if there is any.
 
boost::numeric::ublas::matrix< double > getGLCM (const te::rst::Raster &rin, unsigned int band, int dx, int dy, const te::gm::Polygon &polygon, double minPixel, double maxPixel, unsigned int gLevels=256)
 Computes the Gray-Level Co-occurrence Matrix (GLCM) from a raster band, inside the 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.
 
te::rp::Texture getGLCMMetrics (boost::numeric::ublas::matrix< double > glcm, double noDataValue=0.0)
 Compute texture metrics from GLCM matrix.
 
te::stat::NumericStatisticalSummary getStatistics (std::vector< double > &pixels)
 Returns several statistics from a set of pixels.
 
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.
 
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.
 
void getValuesFromBand (const te::rst::Raster &raster, unsigned int band, const te::gm::Polygon &polygon, std::map< double, int > &values)
 Returns the pixel values for the band, inside the polygon.
 
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.
 
bool initialize (const AlgorithmInputParameters &inputParams) _NOEXCEPT_OP(false)
 Initialize the algorithm instance making it ready for execution.
 
bool isInitialized () const
 Returns true if the algorithm instance is initialized and ready for execution.
 
 RasterAttributes (bool enableTaskProgress=true)
 Public constructor.
 
void reset () _NOEXCEPT_OP(false)
 Clear all internal allocated objects and reset the algorithm to its initial state.
 
 ~RasterAttributes ()
 

Protected Member Functions

void setErrorMessage (const std::string &newErrorMessage)
 Set the current error message.
 

Private Attributes

bool m_enableTaskProgress
 
std::string m_errorMessage
 Current error message.
 

Detailed Description

Extraction of attributes from Raster, Bands, and Polygons.

Definition at line 64 of file RasterAttributes.h.

Constructor & Destructor Documentation

◆ RasterAttributes()

te::rp::RasterAttributes::RasterAttributes ( bool enableTaskProgress = true)

Public constructor.

◆ ~RasterAttributes()

te::rp::RasterAttributes::~RasterAttributes ( )

Member Function Documentation

◆ execute()

bool te::rp::RasterAttributes::execute ( AlgorithmOutputParameters & outputParams)
virtual

Executes the algorithm using the supplied parameters.

Parameters
outputParamsOutput parameters.
Returns
true if OK, false on errors.
Note
A return error string can be obtained via Algorithm::getErrorMessage()

Implements te::rp::Algorithm.

◆ getComplexCovarianceMatrix()

boost::numeric::ublas::matrix< std::complex< double > > te::rp::RasterAttributes::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.

Parameters
vpixelsThe vector of pixel vectors, with vpixels[band][pixel].
vmeansThe vector of pixels means, one mean per vector of pixels.
Returns
The covariance matrix between the vectors of pixel values.
Warning
All vectors sizes must fit.

References getComplexCovarianceMatrix().

Referenced by getComplexCovarianceMatrix().

◆ getComplexStatistics()

te::stat::NumericStatisticalComplexSummary te::rp::RasterAttributes::getComplexStatistics ( std::vector< std::complex< double > > & pixels)

Returns several statistics from a set of pixels (real and imag).

Parameters
pixelsA vector of pixel values.
Returns
A series of statistics (
See also
te::stat::NumericStatisticalSummary).

References getComplexStatistics().

Referenced by getComplexStatistics().

◆ getComplexValuesFromBand()

std::vector< std::complex< double > > te::rp::RasterAttributes::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.

Parameters
rasterThe input raster.
bandThe position of the input band.
polygonThe input polygon.
Returns
The pixel values for the band, inside the polygon.
Warning
Band and polygon must fit.

References getComplexValuesFromBand().

Referenced by getComplexValuesFromBand().

◆ getComplexValuesFromRaster()

std::vector< std::vector< std::complex< double > > > te::rp::RasterAttributes::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.

Parameters
rasterThe input band.
polygonThe input polygon.
bandsBands to be processed from the input raster.
Returns
A vector with the pixel values for all the bands in raster, inside the polygon, with values[band][pixel].
Warning
Bands and polygon must fit.

References getComplexValuesFromRaster().

Referenced by getComplexValuesFromRaster().

◆ getCovarianceMatrix()

boost::numeric::ublas::matrix< double > te::rp::RasterAttributes::getCovarianceMatrix ( const std::vector< std::vector< double > > & vpixels,
const std::vector< double > & vmeans )

Returns the covariance matrix between vectors of pixel values.

Parameters
vpixelsThe vector of pixel vectors, with vpixels[band][pixel].
vmeansThe vector of pixels means, one mean per vector of pixels.
Returns
The covariance matrix between the vectors of pixel values.
Warning
All vectors sizes must fit.

References getCovarianceMatrix().

Referenced by getCovarianceMatrix().

◆ getErrorMessage()

const std::string & te::rp::Algorithm::getErrorMessage ( ) const
inherited

Return the current error message if there is any.

Returns
Return the current error message if there is any.

References getErrorMessage().

Referenced by getErrorMessage().

◆ getGLCM() [1/2]

boost::numeric::ublas::matrix< double > te::rp::RasterAttributes::getGLCM ( const te::rst::Raster & rin,
unsigned int band,
int dx,
int dy,
const te::gm::Polygon & polygon,
double minPixel,
double maxPixel,
unsigned int gLevels = 256 )

Computes the Gray-Level Co-occurrence Matrix (GLCM) from a raster band, inside the polygon.

Parameters
rinThe input raster.
bandThe input band position.
dxThe displacement in x direction, to be considered as neighborhood, can be a non zero value either + or -.
dyThe displacement in y direction, to be considered as neighborhood, can be non zero value either + or -.
polygonThe input polygon.
minPixelThe minimum GL pixel value that occurs in the band (leave 0 for automatic detection).
maxPixelThe maximum GL pixel value that occurs in the band (leave 0 for automatic detection).
gLevelsThe number of Gray Levels (GL) to normalize the GLCM. The GLs will be normalized to the interval [0,(gLevels - 1)]. It is important to emphasize that the matrix will have 'gLevels' lines and 'gLevels' columns. Default value is 256, normalizing the GLs to the interval [0, 255].
Returns
The GLCM from the raster band, inside the polygon.
Exceptions
te::common::ExceptionIt will throw an exception for incorrect parameters or execution errors.
Warning
The pixels from the input band will be considered of type unsigned int.

References getGLCM().

◆ getGLCM() [2/2]

boost::numeric::ublas::matrix< double > te::rp::RasterAttributes::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.

Parameters
rinThe input raster.
bandThe input band position.
dxThe displacement in x direction, to be considered as neighborhood, can be a non zero value either + or -.
dyThe displacement in y direction, to be considered as neighborhood, can be non zero value either + or -.
minPixelThe minimum GL pixel value that occurs in the band (leave 0 for automatic detection).
maxPixelThe maximum GL pixel value that occurs in the band (leave 0 for automatic detection).
gLevelsThe number of Gray Levels (GL) to normalize the GLCM. The GLs will be normalized to the interval [0,(gLevels - 1)]. It is important to emphasize that the matrix will have 'gLevels' lines and 'gLevels' columns. Default value is 256, normalizing the GLs to the interval [0, 255].
Returns
The GLCM from the raster band.
Note
If minPixel = 0 and maxPixel = 0 both values will be automatically detected.
Exceptions
te::common::ExceptionIt will throw an exception for incorrect parameters or execution errors.
Warning
The pixels from the input band will be considered of type unsigned int.

References getGLCM().

Referenced by getGLCM(), and getGLCM().

◆ getGLCMMetrics()

te::rp::Texture te::rp::RasterAttributes::getGLCMMetrics ( boost::numeric::ublas::matrix< double > glcm,
double noDataValue = 0.0 )

Compute texture metrics from GLCM matrix.

Parameters
glcmThe input GLCM matrix.
noDataValueThe value that will be used when the matrix received is empty, i. e., when the polygon does not intersects the raster. Default value is 0.0.
Returns
The Texture structure will all available metrics computed

References getGLCMMetrics().

Referenced by getGLCMMetrics().

◆ getStatistics()

te::stat::NumericStatisticalSummary te::rp::RasterAttributes::getStatistics ( std::vector< double > & pixels)

Returns several statistics from a set of pixels.

Parameters
pixelsA vector of pixel values.
Returns
A series of statistics (
See also
te::stat::NumericStatisticalSummary).

References getStatistics().

Referenced by getStatistics().

◆ getStatisticsFromPolygon()

void te::rp::RasterAttributes::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.

Parameters
rasterThe input raster.
bandThe number of the band to compute the statistics.
polygonThe input polygon.
summaryThe statistical summary that will be filled by the method (
See also
te::stat::NumericStatisticalSummary).
Parameters
nodataValueThe value that will be used when the polygon does not intersects the raster. Default value is 0.0.

References getStatisticsFromPolygon().

Referenced by getStatisticsFromPolygon().

◆ getValuesFromBand() [1/2]

std::vector< double > te::rp::RasterAttributes::getValuesFromBand ( const te::rst::Raster & raster,
unsigned int band,
const te::gm::Polygon & polygon )

Returns the pixel values for the band, inside the polygon.

Parameters
rasterThe input raster.
bandThe position of the input band.
polygonThe input polygon.
Returns
The pixel values for the band, inside the polygon.
Warning
Band and polygon must fit.

References getValuesFromBand().

Referenced by getValuesFromBand(), and getValuesFromBand().

◆ getValuesFromBand() [2/2]

void te::rp::RasterAttributes::getValuesFromBand ( const te::rst::Raster & raster,
unsigned int band,
const te::gm::Polygon & polygon,
std::map< double, int > & values )

Returns the pixel values for the band, inside the polygon.

Parameters
rasterThe input raster.
bandThe position of the input band.
polygonThe input polygon.
valuesA map with pixel values as key and the number of occurrence as value for the current band, inside the polygon.
Warning
Band and polygon must fit.

References getValuesFromBand().

◆ getValuesFromRaster()

std::vector< std::vector< double > > te::rp::RasterAttributes::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.

Parameters
rasterThe input band.
polygonThe input polygon.
bandsBands to be processed from the input raster.
Returns
A vector with the pixel values for all the bands in raster, inside the polygon, with values[band][pixel].
Warning
Bands and polygon must fit.

References getValuesFromRaster().

Referenced by getValuesFromRaster().

◆ initialize()

bool te::rp::RasterAttributes::initialize ( const AlgorithmInputParameters & inputParams)
virtual

Initialize the algorithm instance making it ready for execution.

Parameters
inputParamsInput parameters.
Returns
true if OK, false on errors.
Note
A return error string can be obtained via Algorithm::getErrorMessage()

Implements te::rp::Algorithm.

◆ isInitialized()

bool te::rp::RasterAttributes::isInitialized ( ) const
virtual

Returns true if the algorithm instance is initialized and ready for execution.

Returns
true if the algorithm instance is initialized and ready for execution.

Implements te::rp::Algorithm.

◆ reset()

void te::rp::RasterAttributes::reset ( )
virtual

Clear all internal allocated objects and reset the algorithm to its initial state.

Reimplemented from te::rp::Algorithm.

References _NOEXCEPT_OP.

◆ setErrorMessage()

void te::rp::Algorithm::setErrorMessage ( const std::string & newErrorMessage)
protectedinherited

Set the current error message.

Parameters
newErrorMessageNew error message;

References setErrorMessage().

Referenced by setErrorMessage().

Member Data Documentation

◆ m_enableTaskProgress

bool te::rp::RasterAttributes::m_enableTaskProgress
private

Definition at line 263 of file RasterAttributes.h.

◆ m_errorMessage

std::string te::rp::Algorithm::m_errorMessage
privateinherited

Current error message.

Definition at line 104 of file Algorithm.h.


The documentation for this class was generated from the following file: