Raster processing auxiliary functions. More...
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::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::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... | |
bool TERPEXPORT | te::rp::Copy2DiskRaster (const te::rst::Raster &inputRaster, const std::string &fileName) |
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, 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... | |
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 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... | |
TERASTEREXPORT std::vector< te::gm::Point * > | te::rst::GetRandomPointsInRaster (const te::rst::Raster &inputRaster, unsigned int numberOfPoints=1000) |
Creates a vector of random positions (points) inside the raster. 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... | |
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::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... | |
Raster processing auxiliary functions.
Wavelet Atrous Filter types.
Enumerator | |
---|---|
InvalidWAFilter |
Invalid filter type. |
B3SplineWAFilter |
Spline filter type. |
TriangleWAFilter |
Triangle filter type. |
Definition at line 74 of file Functions.h.
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.
feeder | Input rasters feeder. |
inputRasterBands | Input raster bands (one band for each input raster). |
interpMethod | The interpolator method to use. |
outputRasterInfo | Output raster connection info. |
outputDataSourceType | Output raster datasource type. |
outputRasterPtr | A pointer to the generated output raster. |
void TERPEXPORT te::rp::Convert2DoublesVector | ( | void * | inputVector, |
const int | inputVectorDataType, | ||
unsigned int | inputVectorSize, | ||
double * | outputVector | ||
) |
Convert vector elements.
inputVector | Input vector. |
inputVectorDataType | Input vector data type. |
inputVectorSize | The numer of input vector elements. |
outputVector | A pré-allocated output vector. |
void TERPEXPORT te::rp::ConvertDoublesVector | ( | double * | inputVector, |
unsigned int | inputVectorSize, | ||
const int | outputVectorDataType, | ||
void * | outputVector | ||
) |
Convert a doubles vector.
inputVector | Input vector. |
inputVectorSize | The numer of input vector elements. |
inputVectorDataType | Input vector data type. |
outputVector | A pré-allocated output vector. |
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.
inputIHSRaster | The input raster. |
intensityBandIdx | The intensity band index. |
hueBandIdx | The hue band index. |
saturationBandIdx | The saturation band index. |
rgbRangeMin | The minimum RGB value. |
rgbRangeMax | The maximum RGB value. |
outputRGBRaster | An output pré-initiated raster (with the same dimensions of inputIHSRaster) where the RGB data will be written. |
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.
inputRGBRaster | The input raster. |
redBandIdx | The red band index. |
greenBandIdx | The red band index. |
blueBandIdx | The red band index. |
rgbRangeMin | The minimum RGB value. |
rgbRangeMax | The maximum RGB value. |
outputIHSRaster | An output pré-initiated raster (with the same dimensions of inputRGBRaster) where the IHS data will be written (double or float as the data type). |
bool TERPEXPORT te::rp::Copy2DiskRaster | ( | const te::rst::Raster & | inputRaster, |
const std::string & | fileName | ||
) |
Create a new raster into a GDAL datasource.
rasterGrid | The template grid used to create the output raster. |
bandsProperties | The template band properties used to create the output raster. |
fileName | The output tif file name. |
outRasterHandler | The created raster handler. |
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.
rasterGrid | The template grid used to create the output raster. |
bandsProperties | The template band properties used to create the output raster. |
fileName | The output tif file name. |
outRasterHandler | The created raster handler. |
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.
rasterGrid | The template grid used to create the output raster. |
bandsProperties | The template band properties used to create the output raster. |
fileName | The output tif file name. |
outRasterPtr | The created raster pointer. |
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.
rasterGrid | The template grid used to create the output raster. |
bandsProperties | The template band properties used to create the output raster. |
outRasterHandler | The created raster handler. |
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.
rasterGrid | The template grid used to create the output raster. |
bandsProperties | The template band properties used to create the output raster. |
outDataSetName | The data set name to give to the created data set. |
dataSourceType | The data source type string (i.e. GDAL, MEM.)( See te::rst::RasterFactory dictionary for valid registered values ). |
outRasterHandler | The created raster handler. |
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.
rasterGrid | The template grid used to create the output raster. |
bandsProperties | The template band properties used to create the output raster. |
outDataSetName | The data set name to give to the created data set. |
outDataSource | The data source to use when creating the output data set. |
outRasterHandler | The created raster handler. |
bool te::rp::CreateRasterFileFromMatrix | ( | const te::rp::Matrix< MatrixElementT > & | matrix, |
const bool | normalize, | ||
const std::string & | fileName | ||
) |
Create a tiff file from a matrix.
matrix | The matrix. |
normalize | Enable/disable pixel normalization (8bit); |
tifFileName | Tif file name. |
return | true if OK, false on errors. |
Definition at line 219 of file Functions.h.
References te::dt::DOUBLE_TYPE, te::rp::Matrix< TemplateElementType >::getColumnsNumber(), te::rp::Matrix< TemplateElementType >::getLinesNumber(), te::rst::GrayIdxCInt, te::sa::Grid, te::rst::RasterFactory::make(), TERP_TRUE_OR_RETURN_FALSE, and te::dt::UCHAR_TYPE.
TERPEXPORT boost::numeric::ublas::matrix< double > te::rp::CreateWaveletAtrousFilter | ( | const WaveletAtrousFilterType & | filterType | ) |
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.
inputRaster | Input raster. |
inputRasterBands | Input raster bands. |
outputRastersInfos | Output rasters connections infos. (one info for each decomposed band). |
outputDataSourceType | Output raster datasource type. |
outputRastersPtrs | Pointers to the generated outputs rasters. |
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.
inputRaster | Input raster. |
inputRasterBands | Input raster bands. |
pcaMatrix | The matrix generated over the principal components process. |
pcaRaster | The pré-initiated output PCA raster (with the same dimensions of inputRaster) and double as the data type. |
pcaRasterBands | Output raster bands. |
maxThreads | The maximum number of threads to use (0-auto, 1-single thread used). |
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.
inputRaster | Input raster. |
inputRasterBands | Input raster bands. |
waveletRaster | The pré-initiated output wavelet raster (with the same dimensions of inputRaster) and double as the data type. |
levelsNumber | The number of decomposed wavelet levels to generate for each input raster band; |
filter | The square filter to use. |
TERPEXPORT std::vector<std::string> te::rp::GetBandNames | ( | ) |
Returns a vector os with band's names.
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.
band1 | The input band 1. |
band2 | The input band 2. |
maxThreads | The maximum number of threads to use (0-auto, 1-single thread used). |
mean1ValuePtr | A pointer to a pre-calculated band1 mean value or zero if it does not exist. |
mean2ValuePtr | A pointer to a pre-calculated band2 mean value or zero if it does not exist. |
covarianceValue | The calculated covariance value. |
|
inline |
Returns the real data type range (all values that can be represented by the given data type).
dataType | The data type. |
min | The minimum value. |
max | The maximum value. |
Definition at line 180 of file Functions.h.
References te::rst::GetDataTypeRanges().
TERPEXPORT bool te::rp::GetDetailedExtent | ( | const te::rst::Grid & | grid, |
te::gm::LinearRing & | detailedExtent | ||
) |
Create a datailed extent from the given grid.
grid | Input grid. |
detailedExtent | The created detailed extent. |
TERPEXPORT std::pair<double, double> te::rp::GetDigitalNumberBandInfo | ( | std::string | bandName | ) |
Returns the maximun and minimum digital numbers of a given sensor/band.
TERPEXPORT double te::rp::GetDigitalNumberBandMax | ( | std::string | bandName | ) |
Returns the maximum digital number of a given sensor/band.
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.
grid | Input grid. |
indexedDetailedExtent | The created detailed extent. |
TERPEXPORT bool te::rp::GetMeanValue | ( | const te::rst::Band & | band, |
const unsigned int | maxThreads, | ||
double & | meanValue | ||
) |
Get the mean of band pixel values.
band | The input raster band. |
maxThreads | The maximum number of threads to use (0-auto, 1-single thread used). |
meanValue | The calculated mean value. |
TERASTEREXPORT std::vector<te::gm::Point*> te::rst::GetRandomPointsInRaster | ( | const te::rst::Raster & | inputRaster, |
unsigned int | numberOfPoints = 1000 |
||
) |
Creates a vector of random positions (points) inside the raster.
inputRaster | The given raster. |
numberOfPoints | The number of random positions to be created (default = 1000). |
TERPEXPORT std::pair<double, double> te::rp::GetSpectralBandInfo | ( | std::string | bandName | ) |
Returns the maximun and minimum reflectance values of a given sensor/band.
TERPEXPORT double te::rp::GetSpectralBandMax | ( | std::string | bandName | ) |
Returns the maximum reflectance value of a given sensor/band.
TERPEXPORT double te::rp::GetSpectralBandMin | ( | std::string | bandName | ) |
Returns the minimum reflectance value of a given sensor/band.
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.
band | The input raster band. |
maxThreads | The maximum number of threads to use (0-auto, 1-single thread used). |
meanValuePtr | A pointer to a pre-calculated band mean value or zero if it does not exist. |
stdDevValue | The calculated standard deviation value. |
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.
pcaRaster | The principal components raster (with the same dimensions of outputRaster). |
pcaMatrix | The matrix generated by the direct principal components process. |
outputRaster | The regenerated output raster (with the same dimentions. |
outputRasterBands | Output raster bands. |
maxThreads | The maximum number of threads to use (0-auto, 1-single thread used). |
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.
waveletRaster | The input wavelet raster (with the same dimensions of outputRaster). |
levelsNumber | The number of decomposed wavelet levels present inside the wavelet raster. |
outputRaster | The regenerated output raster. |
outputRasterBands | Output raster bands. |
TERPEXPORT bool te::rp::NormalizeRaster | ( | te::rst::Raster & | inputRaster, |
double | nmin = 0.0 , |
||
double | nmax = 255.0 |
||
) |
Normalizes one raster in a given interval.
inputRaster | The given raster. |
nmin | The new minimum value (default = 0.0). |
nmax | The new maximum value (default = 255.0). |
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.
inputRaster | Input raster. |
inputRasterBands | Input raster bands. |
remapMatrix | The remap function matrix. |
outputRaster | The pré-initiated output raster (with the same dimentions of inputRaster). |
outputRasterBands | Output raster bands. |
maxThreads | The maximum number of threads to use (0-auto, 1-single thread used). |