25#ifndef __TERRALIB_RP_INTERNAL_GEOMOSAIC_H
26#define __TERRALIB_RP_INTERNAL_GEOMOSAIC_H
31#include "../raster/Interpolator.h"
32#include "../geometry/MultiPolygon.h"
33#include "../sam/rtree/Index.h"
66 friend class GeoComposition;
83 FixedMosaicCenterSMethod = 1,
84 BlendedRCenterSMethod = 2
132 AbstractParameters* clone() const;
141 static
void getEqTypesInfo( std::vector< std::pair<
EqType, std::
string > >& eqTypesInfo );
175 AbstractParameters* clone() const;
192 bool isInitialized() const;
219 : m_procStatus( Invalid )
242 const std::vector< unsigned int >& inputRastersBands,
244 std::vector< double >& rasterMeans,
245 std::vector< double >& rasterStdDevs )
const;
267 const unsigned int inRasterIndex,
268 const std::vector< unsigned int >& inputRastersBands,
273 const unsigned int mosaicCenterRasterIdx,
275 std::vector< double >& rasterMeans,
276 std::vector< double >& rasterStdDevs,
277 std::vector< double >& offsets,
278 std::vector< double >& scales,
279 std::vector< double >& newRasterMeans,
280 std::vector< double >& newRasterStdDevs )
const;
293 const double& globalMosaicCenterX,
294 const double& globalMosaicCenterY,
297 bool& mextRasterWasFound,
298 unsigned int& mextRasterIndex );
310 const unsigned int inputRasterIdx,
311 std::unique_ptr< te::gm::Polygon >& vAreaPolygon,
312 std::unique_ptr< te::gm::MultiPolygon >& vAreaMultiPolygon );
Blended pixel value calculation for two overlaped rasters.
MultiPolygon is a MultiSurface whose elements are Polygons.
Raster Processing algorithm output parameters base interface.
Raster Processing algorithm base interface.
Feeder from a input rasters.
GeoMosaic output parameters.
std::string m_rType
Output raster data source type (as described in te::raster::RasterFactory ).
std::map< std::string, std::string > m_rInfo
The necessary information to create the output rasters (as described in te::raster::RasterFactory).
OutputParameters(const OutputParameters &)
std::unique_ptr< te::rst::Raster > m_outputRasterPtr
The generated output mosaic raster (A 1024x1024 blocked raster will be created if the choosen output ...
void reset() _NOEXCEPT_OP(false)
Clear all internal allocated resources and reset the parameters instance to its initial state.
std::unique_ptr< te::gm::Polygon > m_bBoxPolPtr
std::vector< double > m_bandsMeans
std::unique_ptr< te::gm::MultiPolygon > m_validDataAreaMultiPolPtr
ProcessedRasterInfosDataT()
std::vector< double > m_bandsStdDevs
std::unique_ptr< te::gm::Polygon > m_validDataAreaPolPtr
Create a mosaic from a set of geo-referenced rasters.
GeoMosaic::InputParameters m_inputParameters
Input execution parameters.
bool getRasterDataValidArea(const te::rst::Raster &inputRaster, const unsigned int inputRasterIdx, std::unique_ptr< te::gm::Polygon > &vAreaPolygon, std::unique_ptr< te::gm::MultiPolygon > &vAreaMultiPolygon)
Returns the given raster valid data area.
bool getEqualizationParams(const te::rst::Raster &inRaster, const unsigned int inRasterIndex, const std::vector< unsigned int > &inputRastersBands, ProcessedRastersInfosT &processedRastersInfos, const te::sam::rtree::Index< unsigned int > &blendedRastersInfosTree, te::gm::MultiPolygon const *const validAreaDelimiterPolPtr, const te::rst::Raster &mosaicRaster, const unsigned int mosaicCenterRasterIdx, te::gm::MultiPolygon const *const mosaicValidAreaDelimiterPolPtr, std::vector< double > &rasterMeans, std::vector< double > &rasterStdDevs, std::vector< double > &offsets, std::vector< double > &scales, std::vector< double > &newRasterMeans, std::vector< double > &newRasterStdDevs) const
Calcule of input raster equalization parameters.
bool getRasterStats(const te::rst::Raster &inRaster, const std::vector< unsigned int > &inputRastersBands, te::gm::MultiPolygon const *const validAreaDelimiterPolPtr, std::vector< double > &rasterMeans, std::vector< double > &rasterStdDevs) const
Calcule of raster statistics.
bool getNextRasterIndex2Process(const double &globalMosaicCenterX, const double &globalMosaicCenterY, ProcessedRastersInfosT &procRastersInfos, te::gm::MultiPolygon const *const mosaicValidAreasUnionPtr, bool &mextRasterWasFound, unsigned int &mextRasterIndex)
Find the index of the next raster to process.
bool m_isInitialized
Tells if this instance is initialized.
std::vector< ProcessedRasterInfosDataT > ProcessedRastersInfosT
An abstract class for raster data strucutures.
A class that represents an R-tree.
InterpolationMethod
Allowed interpolation methods.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.