Functions.h File Reference

Raster Processing functions. More...

#include "Config.h"
#include "FeedersRaster.h"
#include "Matrix.h"
#include "Macros.h"
#include "RasterHandler.h"
#include "../dataaccess/datasource/DataSource.h"
#include "../raster/Raster.h"
#include "../raster/RasterFactory.h"
#include "../raster/Grid.h"
#include "../raster/BandProperty.h"
#include "../raster/Interpolator.h"
#include "../raster/Utils.h"
#include "../srs/Converter.h"
#include "../geometry/LinearRing.h"
#include "../geometry/GTParameters.h"
#include "../geometry/MultiPoint.h"
#include "../geometry/Surface.h"
#include <memory>
#include <map>
#include <vector>
#include <string>
#include <limits>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/shared_ptr.hpp>

Go to the source code of this file.

Namespaces

 te
 URI C++ Library.
 
 te::rp
 Namespace for Raster Processing module of TerraLib.
 
 te::rst
 Namespace for the Raster module of TerraLib.
 

Enumerations

enum  te::rp::WaveletAtrousFilterType { te::rp::InvalidWAFilter, te::rp::B3SplineWAFilter, te::rp::TriangleWAFilter }
 Wavelet Atrous Filter types. More...
 

Functions

TERPEXPORT bool te::rp::ComposeBands (te::rp::FeederConstRaster &feeder, const std::vector< unsigned int > &inputRasterBands, const te::rst::Interpolator::Method &interpMethod, const std::map< std::string, std::string > &outputRasterInfo, const std::string &outputDataSourceType, std::auto_ptr< te::rst::Raster > &outputRasterPtr)
 Compose a set of bands into one multi-band raster. More...
 
void TERPEXPORT te::rp::Convert2DoublesVector (void *inputVector, const int inputVectorDataType, unsigned int inputVectorSize, double *outputVector)
 Convert vector elements. More...
 
void TERPEXPORT te::rp::ConvertDoublesVector (double *inputVector, unsigned int inputVectorSize, const int outputVectorDataType, void *outputVector)
 Convert a doubles vector. More...
 
TERPEXPORT bool te::rp::ConvertHLS2RGB (const te::rst::Raster &inputHLSRaster, const unsigned int hueBandIdx, const unsigned int lightBandIdx, const unsigned int saturationBandIdx, const double rgbRangeMin, const double rgbRangeMax, te::rst::Raster &outputRGBRaster)
 HLS to RGB conversion. More...
 
TERPEXPORT bool te::rp::ConvertHLS2RGB (const te::rst::Raster &inputHRaster, const unsigned int hueBandIdx, const te::rst::Raster &inputLRaster, const unsigned int lightBandIdx, const te::rst::Raster &inputSRaster, const unsigned int saturationBandIdx, const double rgbRangeMin, const double rgbRangeMax, te::rst::Raster &outputRGBRaster)
 HLS to RGB conversion. More...
 
TERPEXPORT bool te::rp::ConvertIHS2RGB (const te::rst::Raster &inputIHSRaster, const unsigned int intensityBandIdx, const unsigned int hueBandIdx, const unsigned int saturationBandIdx, const double rgbRangeMin, const double rgbRangeMax, te::rst::Raster &outputRGBRaster)
 IHS to RGB conversion. More...
 
TERPEXPORT bool te::rp::ConvertIHS2RGB (const te::rst::Raster &inputIRaster, const unsigned int intensityBandIdx, const te::rst::Raster &inputHRaster, const unsigned int hueBandIdx, const te::rst::Raster &inputSRaster, const unsigned int saturationBandIdx, const double rgbRangeMin, const double rgbRangeMax, te::rst::Raster &outputRGBRaster)
 IHS to RGB conversion. More...
 
TERPEXPORT bool te::rp::ConvertRGB2HLS (const te::rst::Raster &inputRGBRaster, const unsigned int redBandIdx, const unsigned int greenBandIdx, const unsigned int blueBandIdx, const double rgbRangeMin, const double rgbRangeMax, te::rst::Raster &outputHLSRaster)
 RGB to HLS conversion. More...
 
TERPEXPORT bool te::rp::ConvertRGB2HLS (const te::rst::Raster &inputRedRaster, const unsigned int redBandIdx, const te::rst::Raster &inputGreenRaster, const unsigned int greenBandIdx, const te::rst::Raster &inputBlueRaster, const unsigned int blueBandIdx, const double rgbRangeMin, const double rgbRangeMax, te::rst::Raster &outputHLSRaster)
 RGB to HLS conversion. More...
 
TERPEXPORT bool te::rp::ConvertRGB2IHS (const te::rst::Raster &inputRGBRaster, const unsigned int redBandIdx, const unsigned int greenBandIdx, const unsigned int blueBandIdx, const double rgbRangeMin, const double rgbRangeMax, te::rst::Raster &outputIHSRaster)
 RGB to IHS conversion. More...
 
TERPEXPORT bool te::rp::ConvertRGB2IHS (const te::rst::Raster &inputRedRaster, const unsigned int redBandIdx, const te::rst::Raster &inputGreenRaster, const unsigned int greenBandIdx, const te::rst::Raster &inputBlueRaster, const unsigned int blueBandIdx, const double rgbRangeMin, const double rgbRangeMax, te::rst::Raster &outputIHSRaster)
 RGB to IHS conversion. More...
 
bool TERPEXPORT te::rp::Copy2DiskRaster (const te::rst::Raster &inputRaster, const std::string &fileName)
 Create a new raster into a GDAL datasource. More...
 
TERPEXPORT void te::rp::CreateFixedStepPalette (const double paletteSize, const bool randomize, std::vector< te::rst::BandProperty::ColorEntry > &palette)
 Create a fixed step sequential color palette. More...
 
bool TERPEXPORT te::rp::CreateNewGdalRaster (const te::rst::Grid &rasterGrid, std::vector< te::rst::BandProperty * > bandsProperties, const std::string &fileName, RasterHandler &outRasterHandler)
 Create a new raster into a GDAL datasource. More...
 
bool TERPEXPORT te::rp::CreateNewGdalRaster (const te::rst::Grid &rasterGrid, std::vector< te::rst::BandProperty * > bandsProperties, const std::string &fileName, std::auto_ptr< te::rst::Raster > &outRasterPtr)
 Create a new raster into a GDAL datasource. More...
 
bool TERPEXPORT te::rp::CreateNewMemRaster (const te::rst::Grid &rasterGrid, std::vector< te::rst::BandProperty * > bandsProperties, RasterHandler &outRasterHandler)
 Create a new raster into a new memory datasource. More...
 
bool TERPEXPORT te::rp::CreateNewRaster (const te::rst::Grid &rasterGrid, const std::vector< te::rst::BandProperty * > &bandsProperties, const std::string &outDataSetName, const std::string &dataSourceType, RasterHandler &outRasterHandler)
 Create a new raster into the givem data source. More...
 
bool TERPEXPORT te::rp::CreateNewRaster (const te::rst::Grid &rasterGrid, const std::vector< te::rst::BandProperty * > &bandsProperties, const std::string &outDataSetName, te::da::DataSource &outDataSource, RasterHandler &outRasterHandler)
 Create a new raster into the givem data source. More...
 
bool TERPEXPORT te::rp::CreateNewRaster (const te::rst::Grid &rasterGrid, const std::vector< te::rst::BandProperty * > &bandsProperties, const std::map< std::string, std::string > &rasterInfo, const std::string &rasterType, std::auto_ptr< te::rst::Raster > &outRasterPtr)
 Create a new raster into the givem data source. More...
 
template<typename MatrixElementT >
bool te::rp::CreateRasterFileFromMatrix (const te::rp::Matrix< MatrixElementT > &matrix, const bool normalize, const std::string &fileName)
 Create a tiff file from a matrix. More...
 
TERPEXPORT boost::numeric::ublas::matrix< double > te::rp::CreateWaveletAtrousFilter (const WaveletAtrousFilterType &filterType)
 Create a Wavele Atrous Filter. More...
 
TERPEXPORT bool te::rp::DecomposeBands (const te::rst::Raster &inputRaster, const std::vector< unsigned int > &inputRasterBands, const std::vector< std::map< std::string, std::string > > &outputRastersInfos, const std::string &outputDataSourceType, std::vector< boost::shared_ptr< te::rst::Raster > > &outputRastersPtrs)
 Decompose a multi-band raster into a set of one-band rasters. More...
 
TERPEXPORT bool te::rp::DirectPrincipalComponents (const te::rst::Raster &inputRaster, const std::vector< unsigned int > &inputRasterBands, boost::numeric::ublas::matrix< double > &pcaMatrix, te::rst::Raster &pcaRaster, const std::vector< unsigned int > &pcaRasterBands, const unsigned int maxThreads)
 Generate all principal components from the given input raster. More...
 
TERPEXPORT bool te::rp::DirectWaveletAtrous (const te::rst::Raster &inputRaster, const std::vector< unsigned int > &inputRasterBands, te::rst::Raster &waveletRaster, const unsigned int levelsNumber, const boost::numeric::ublas::matrix< double > &filter)
 Generate all wavelet planes from the given input raster. More...
 
TERPEXPORT std::vector< std::string > te::rp::GetBandNames ()
 Returns a vector os with band's names. More...
 
TERPEXPORT bool te::rp::GetCovarianceValue (const te::rst::Band &band1, const te::rst::Band &band2, const unsigned int maxThreads, double const *const mean1ValuePtr, double const *const mean2ValuePtr, double &covarianceValue)
 Get the covariance of band pixel values. More...
 
void TERPEXPORT te::rp::GetDataTypeRange (const int dataType, double &min, double &max)
 Returns the real data type range (all values that can be represented by the given data type). More...
 
TERPEXPORT bool te::rp::GetDetailedExtent (const te::rst::Grid &grid, te::gm::LinearRing &detailedExtent)
 Create a datailed extent from the given grid. More...
 
TERPEXPORT std::pair< double, double > te::rp::GetDigitalNumberBandInfo (std::string bandName)
 Returns the maximun and minimum digital numbers of a given sensor/band. More...
 
TERPEXPORT double te::rp::GetDigitalNumberBandMax (std::string bandName)
 Returns the maximum digital number of a given sensor/band. More...
 
TERPEXPORT double te::rp::GetDigitalNumberBandMin (std::string bandName)
 Returns the minimum digital number of a given sensor/band. More...
 
TERPEXPORT bool te::rp::GetIndexedDetailedExtent (const te::rst::Grid &grid, te::gm::LinearRing &indexedDetailedExtent)
 Create a indexed (lines,columns) datailed extent from the given grid. More...
 
TERPEXPORT bool te::rp::GetMeanValue (const te::rst::Band &band, const unsigned int maxThreads, double &meanValue)
 Get the mean of band pixel values. More...
 
TERPEXPORT std::pair< double, double > te::rp::GetSpectralBandInfo (std::string bandName)
 Returns the maximun and minimum reflectance values of a given sensor/band. More...
 
TERPEXPORT double te::rp::GetSpectralBandMax (std::string bandName)
 Returns the maximum reflectance value of a given sensor/band. More...
 
TERPEXPORT double te::rp::GetSpectralBandMin (std::string bandName)
 Returns the minimum reflectance value of a given sensor/band. More...
 
TERPEXPORT bool te::rp::GetStdDevValue (const te::rst::Band &band, const unsigned int maxThreads, double const *const meanValuePtr, double &stdDevValue)
 Get the standard deviation of band pixel values. More...
 
template<typename ContainerT >
double te::rp::GetTPConvexHullArea (const ContainerT &tiePoints, const bool useTPSecondCoordPair)
 Returns the tie points converx hull area. More...
 
TERPEXPORT bool te::rp::InversePrincipalComponents (const te::rst::Raster &pcaRaster, const boost::numeric::ublas::matrix< double > &pcaMatrix, te::rst::Raster &outputRaster, const std::vector< unsigned int > &outputRasterBands, const unsigned int maxThreads)
 Regenerate the original raster from its principal components. More...
 
TERPEXPORT bool te::rp::InverseWaveletAtrous (const te::rst::Raster &waveletRaster, const unsigned int levelsNumber, te::rst::Raster &outputRaster, const std::vector< unsigned int > &outputRasterBands)
 Regenerate the original raster from its wavelets planes. More...
 
TERPEXPORT bool te::rp::NormalizeRaster (te::rst::Raster &inputRaster, double nmin=0.0, double nmax=255.0)
 Normalizes one raster in a given interval. More...
 
TERPEXPORT bool te::rp::RasterResample (const te::rst::Raster &inputRaster, const std::vector< unsigned int > &inputRasterBands, const te::rst::Interpolator::Method interpMethod, const unsigned int firstRow, const unsigned int firstColumn, const unsigned int height, const unsigned int width, const unsigned int newheight, const unsigned int newwidth, const std::map< std::string, std::string > &rinfo, const std::string &dataSourceType, std::auto_ptr< te::rst::Raster > &resampledRasterPtr)
 Resample a subset of the raster, given a box. More...
 
TERPEXPORT bool te::rp::RasterSlicing (const te::rst::Raster &inputRaster, const unsigned int inputRasterBand, const bool createPaletteRaster, const unsigned int slicesNumber, const bool eqHistogram, const std::map< std::string, std::string > &rasterInfo, const std::string &rasterType, const bool enableProgress, std::vector< te::rst::BandProperty::ColorEntry > const *const palettePtr, std::auto_ptr< te::rst::Raster > &outRasterPtr)
 Generate all wavelet planes from the given input raster. More...
 
TERPEXPORT bool te::rp::RemapValues (const te::rst::Raster &inputRaster, const std::vector< unsigned int > &inputRasterBands, const boost::numeric::ublas::matrix< double > &remapMatrix, te::rst::Raster &outputRaster, const std::vector< unsigned int > &outputRasterBands, const unsigned int maxThreads)
 Remap pixel values using a remap function matrix. More...
 

Detailed Description

Raster Processing functions.

Definition in file Functions.h.