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.
| Classes | |
| struct | te::rp::SpectralSensorParams | 
| Namespaces | |
| te | |
| TerraLib. | |
| 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::unique_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 unsigned int 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::unique_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::unique_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::Raster &inputRaster1, const unsigned int inputBandIndex1, const te::rst::Raster &inputRaster2, const unsigned int inputBandIndex2, const bool useRasterCache, 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::Raster &inputRaster, const unsigned int inputBandIndex, const unsigned int maxThreads, double &meanValue) | 
| Get the mean of band pixel values.  More... | |
| TERPEXPORT std::string | te::rp::GetSensorFilename () | 
| Returns a json filename with spectral sensors parameters.  More... | |
| TERPEXPORT std::map< std::string, SpectralSensorParams > | te::rp::getSensorParams () | 
| Returns a map with spectral sensors parameters defined in SpectralSensor.json file.  More... | |
| TERPEXPORT SpectralSensorParams | 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::Raster &inputRaster, const unsigned int inputBandIndex, 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 te::rst::Raster * | te::rp::NormalizeRaster (const te::rst::Raster *inputRaster) | 
| Normalizes a 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::unique_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::unique_ptr< te::rst::Raster > &outRasterPtr, std::map< double, double > limits) | 
| 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... | |
| TERPEXPORT void | te::rp::SaveSensorParams (std::map< std::string, SpectralSensorParams > &) | 
| Saves in SpectralSensor.json file the spectral sensors parameters.  More... | |
| TERPEXPORT bool | te::rp::SelectiveReplaceValues (const te::rst::Raster &inputRaster, const unsigned int &inputRasterBandIdx, const std::vector< std::pair< double, double > > &targetValues, const bool enableProgress, const std::vector< te::gm::Polygon * > &restrictionPols, te::rst::Raster &outputRaster, const unsigned int &outputRasterBandIdx) | 
| Remap all pixel values using a user supplied target values (non-target values are just copied from input to output).  More... | |
Raster Processing functions.
Definition in file Functions.h.