Blended pixel value calculation for two overlaped rasters. More...

#include <Blender.h>

Inheritance diagram for te::rp::Blender:

Classes

class  BlendIntoRaster1ThreadParams
 The parameters passed to blendIntoRaster1Thread method. More...
 
struct  RasterBlockInfo
 Raster block info. More...
 

Public Types

enum  BlendMethod {
  InvalidBlendMethod, NoBlendMethod, EuclideanDistanceMethod, SumMethod,
  MaxMethod, MinMethod
}
 

Public Member Functions

 Blender ()
 
bool blendIntoRaster1 ()
 Execute blending of the given input rasters and write the result into raster1. More...
 
void getBlendedValues (const double &line, const double &col, double *const values)
 Blend a pixel value using the current parameters. More...
 
bool initialize (te::rst::Raster &raster1, const std::vector< unsigned int > &raster1Bands, const te::rst::Raster &raster2, const std::vector< unsigned int > &raster2Bands, const BlendMethod &blendMethod, const te::rst::Interpolator::Method &interpMethod1, const te::rst::Interpolator::Method &interpMethod2, const double &noDataValue, const bool forceRaster1NoDataValue, const bool forceRaster2NoDataValue, const std::vector< double > &pixelOffsets1, const std::vector< double > &pixelScales1, const std::vector< double > &pixelOffsets2, const std::vector< double > &pixelScales2, te::gm::MultiPolygon const *const r1ValidDataDelimiterPtr, te::gm::MultiPolygon const *const r2ValidDataDelimiterPtr, const te::gm::GeometricTransformation &geomTransformation, const unsigned int threadsNumber, const bool enableProgressInterface)
 Inititate the blender instance. More...
 
 ~Blender ()
 

Protected Types

typedef void(Blender::* BlendFunctPtr) (const double &line, const double &col, double *const values)
 Type definition for the a bleding function pointer. More...
 

Protected Member Functions

void clear ()
 Clear all internal allocated resources. More...
 
void euclideanDistanceMethodImp (const double &line1, const double &col1, double *const values)
 Implementation for EuclideanDistanceMethod. More...
 
void getSegments (te::gm::Geometry const *const geometryPtr, std::vector< std::pair< te::gm::Coord2D, te::gm::Coord2D > > &segments) const
 Extract segments from the given geometry. More...
 
bool getTileIndexers (te::gm::Geometry const *const geometryPtr, boost::ptr_vector< te::rst::TileIndexer > &tileIndexers) const
 Creater polygon tile indexers from the given geometry (only if it is a polygon or a collection of polygons). More...
 
void initState ()
 Reset the instance to its initial default state. More...
 
void maxMethodImp (const double &line1, const double &col1, double *const values)
 Implementation for MaxMethod. More...
 
void minMethodImp (const double &line1, const double &col1, double *const values)
 Implementation for MinMethod. More...
 
void noBlendMethodImp (const double &line1, const double &col1, double *const values)
 Implementation for NoBlendMethod. More...
 
void setBlendFunctionPonter (const BlendMethod blendMethod)
 Set the value of m_blendFuncPtr following the given blend method. More...
 
void sumMethodImp (const double &line1, const double &col1, double *const values)
 Implementation for SumMethod. More...
 

Static Protected Member Functions

static void blendIntoRaster1Thread (BlendIntoRaster1ThreadParams *paramsPtr)
 Thread entry for the method blendIntoRaster1. More...
 

Protected Attributes

BlendFunctPtr m_blendFuncPtr
 The current blend function. More...
 
BlendMethod m_blendMethod
 The blend method to apply. More...
 
bool m_enableProgressInterface
 Enable progress interface. More...
 
double m_euclideanDistanceMethodImp_aux1
 
double m_euclideanDistanceMethodImp_aux2
 
te::gm::Point m_euclideanDistanceMethodImp_auxPoint
 
unsigned int m_euclideanDistanceMethodImp_BandIdx
 
double m_euclideanDistanceMethodImp_currDist
 
std::complex< double > m_euclideanDistanceMethodImp_cValue1
 
std::complex< double > m_euclideanDistanceMethodImp_cValue2
 
double m_euclideanDistanceMethodImp_dist1
 
double m_euclideanDistanceMethodImp_dist2
 
unsigned int m_euclideanDistanceMethodImp_IntersectionTileIndexersIdx
 
double m_euclideanDistanceMethodImp_Point2Col
 
double m_euclideanDistanceMethodImp_Point2Line
 
bool m_euclideanDistanceMethodImp_PointInsideIntersection
 
std::size_t m_euclideanDistanceMethodImp_vecIdx
 
bool m_forceRaster1NoDataValue
 Use noDataValue as the input raster 1 no-data value (The original rasters no-data values will be ignored) More...
 
bool m_forceRaster2NoDataValue
 Use noDataValue as the input raster 2 no-data value (The original rasters no-data values will be ignored) More...
 
te::gm::GeometricTransformationm_geomTransformationPtr
 A transformation mapping raster 1 pixels ( te::gm::GTParameters::TiePoint::first ) to raster 2 ( te::gm::GTParameters::TiePoint::second ) (Note: all coords are indexed by lines/columns). More...
 
std::unique_ptr< te::rst::Interpolatorm_interp1Ptr
 Raster 1 interpolator instance pointer. More...
 
std::unique_ptr< te::rst::Interpolatorm_interp2Ptr
 Raster 2 interpolator instance pointer. More...
 
te::rst::Interpolator::Method m_interpMethod1
 The interpolation method to use when reading raster 1 data. More...
 
te::rst::Interpolator::Method m_interpMethod2
 The interpolation method to use when reading raster 2 data. More...
 
std::unique_ptr< te::gm::Geometrym_intersectionPtr
 The Intersection geometry ( raster 1 indexed coods). More...
 
boost::ptr_vector< te::rst::TileIndexerm_intersectionTileIndexers
 The Intersection geometry tile indexers( raster 1 indexed coods), one indexer for each intersection polygon. More...
 
te::gm::Point m_maxMethodImp_auxPoint
 
unsigned int m_maxMethodImp_BandIdx
 
std::complex< double > m_maxMethodImp_cValue1
 
std::complex< double > m_maxMethodImp_cValue2
 
unsigned int m_maxMethodImp_IntersectionTileIndexersIdx
 
double m_maxMethodImp_Point2Col
 
double m_maxMethodImp_Point2Line
 
bool m_maxMethodImp_PointInsideIntersection
 
te::gm::Point m_minMethodImp_auxPoint
 
unsigned int m_minMethodImp_BandIdx
 
std::complex< double > m_minMethodImp_cValue1
 
std::complex< double > m_minMethodImp_cValue2
 
unsigned int m_minMethodImp_IntersectionTileIndexersIdx
 
double m_minMethodImp_Point2Col
 
double m_minMethodImp_Point2Line
 
bool m_minMethodImp_PointInsideIntersection
 
unsigned int m_noBlendMethodImp_BandIdx
 
std::complex< double > m_noBlendMethodImp_cValue
 
double m_noBlendMethodImp_Point1XProj1
 
double m_noBlendMethodImp_Point1XProj2
 
double m_noBlendMethodImp_Point1YProj1
 
double m_noBlendMethodImp_Point1YProj2
 
double m_noBlendMethodImp_Point2Col
 
double m_noBlendMethodImp_Point2Line
 
double m_noBlendMethodImp_Value
 
double m_outputNoDataValue
 The output raster no-data value. More...
 
std::vector< double > m_pixelOffsets1
 The values offset to be applied to raster 1 pixel values before the blended value calcule (one element for each used raster channel/band). More...
 
std::vector< double > m_pixelOffsets2
 The values offset to be applied to raster 2 pixel values before the blended value calcule (one element for each used raster channel/band). More...
 
std::vector< double > m_pixelScales1
 The values scale to be applied to raster 1 pixel values before the blended value calcule (one element for each used raster channel/band). More...
 
std::vector< double > m_pixelScales2
 The values scale to be applied to raster 2 pixel values before the blended value calcule (one element for each used raster channel/band). More...
 
std::vector< std::pair< te::gm::Coord2D, te::gm::Coord2D > > m_r1IntersectionSegmentsPoints
 A sub-set of the intersection polygon wich is part of raster 1 valid data polygon ( raster 1 indexed coods). More...
 
std::size_t m_r1IntersectionSegmentsPointsSize
 Size of m_r1IntersectionSegmentsPoints;. More...
 
std::unique_ptr< te::gm::MultiPolygonm_r1ValidDataDelimiterPtr
 A pointer to a geometry (raster 1 world/projected coords) delimiting the raster region with valid data, or null if all raster data area is valid. More...
 
std::vector< std::pair< te::gm::Coord2D, te::gm::Coord2D > > m_r2IntersectionSegmentsPoints
 A sub-set of the intersection polygon wich is part of raster 2 valid data polygon ( raster 1 indexed coods). More...
 
std::size_t m_r2IntersectionSegmentsPointsSize
 Size of m_r2IntersectionSegmentsPoints;. More...
 
std::unique_ptr< te::gm::MultiPolygonm_r2ValidDataDelimiterPtr
 A pointer to a geometry (raster 2 world/projected coords) delimiting the raster region with valid data, or null if all raster data area is valid. More...
 
std::vector< unsigned int > m_raster1Bands
 Input raster 1 band indexes to use. More...
 
std::vector< double > m_raster1NoDataValues
 Raster 1 no-data values (on value per band). More...
 
te::rst::Rasterm_raster1Ptr
 Input raster 1. More...
 
std::vector< unsigned int > m_raster2Bands
 Input raster 2 band indexes to use. More...
 
std::vector< double > m_raster2NoDataValues
 Raster 2 no-data values (on value per band). More...
 
te::rst::Raster const * m_raster2Ptr
 Input raster 2. More...
 
te::gm::Point m_sumMethodImp_auxPoint
 
unsigned int m_sumMethodImp_BandIdx
 
std::complex< double > m_sumMethodImp_cValue1
 
std::complex< double > m_sumMethodImp_cValue2
 
unsigned int m_sumMethodImp_IntersectionTileIndexersIdx
 
double m_sumMethodImp_Point2Col
 
double m_sumMethodImp_Point2Line
 
bool m_sumMethodImp_PointInsideIntersection
 
unsigned int m_threadsNumber
 The number of threads to use (0:automatic , 1:disabled, any other integer dictates the number of threads).. More...
 

Detailed Description

Blended pixel value calculation for two overlaped rasters.

The overlap between the two images is modeled by the given geometric transformation direct mapping input raster 1 indexed coords (line, column) to input raster 2 indexed coords.

Note
Optimized for rasters where all bands have the same blocking scheme.

Definition at line 58 of file Blender.h.

Member Typedef Documentation

◆ BlendFunctPtr

typedef void(Blender::* te::rp::Blender::BlendFunctPtr) (const double &line, const double &col, double *const values)
protected

Type definition for the a bleding function pointer.

Parameters
lineRaster 1 Line.
colRaster 1 Column.
valuesA pointer to a pre-allocated vector where the blended values will be stored.
Note
The caller of this method must be aware that the returned blended value may be outside the original input rasters valid values range.
Raster 1 values have precedence over raster 2 values (when applicable).

Definition at line 156 of file Blender.h.

Member Enumeration Documentation

◆ BlendMethod

Pixel Blend methods.

Enumerator
InvalidBlendMethod 

Invalid blending method.

NoBlendMethod 

No blending performed.

EuclideanDistanceMethod 

Euclidean distance method.

SumMethod 

Pixels will be summed inside the raster overlapped area.

MaxMethod 

Keep the maximum value of two overlapping pixels.

MinMethod 

Keep the minimum value of two overlapping pixels.

Definition at line 63 of file Blender.h.

Constructor & Destructor Documentation

◆ Blender()

te::rp::Blender::Blender ( )

Default constructor.

◆ ~Blender()

te::rp::Blender::~Blender ( )

Default destructor.

Member Function Documentation

◆ blendIntoRaster1()

bool te::rp::Blender::blendIntoRaster1 ( )

Execute blending of the given input rasters and write the result into raster1.

Note
Raster 1 values have precedence over raster 2 values (when applicable).

◆ blendIntoRaster1Thread()

static void te::rp::Blender::blendIntoRaster1Thread ( BlendIntoRaster1ThreadParams paramsPtr)
staticprotected

Thread entry for the method blendIntoRaster1.

◆ clear()

void te::rp::Blender::clear ( )
protected

Clear all internal allocated resources.

◆ euclideanDistanceMethodImp()

void te::rp::Blender::euclideanDistanceMethodImp ( const double &  line1,
const double &  col1,
double *const  values 
)
protected

Implementation for EuclideanDistanceMethod.

Parameters
lineRaster 1 Line.
colRaster 1 Column.
valuesA pointer to a pre-allocated vector where the blended values will be stored.

◆ getBlendedValues()

void te::rp::Blender::getBlendedValues ( const double &  line,
const double &  col,
double *const  values 
)
inline

Blend a pixel value using the current parameters.

Parameters
lineLine (raster 1 reference).
colColumn (raster 1 reference).
valuesA pointer to a pre-allocated vector where the blended values will be stored.
Note
The caller of this method must be aware that the returned blended value may be outside the original input rasters valid values range.
Raster 1 values have precedence over raster 2 values (when applicable).

Definition at line 133 of file Blender.h.

References TERP_DEBUG_TRUE_OR_THROW.

◆ getSegments()

void te::rp::Blender::getSegments ( te::gm::Geometry const *const  geometryPtr,
std::vector< std::pair< te::gm::Coord2D, te::gm::Coord2D > > &  segments 
) const
protected

Extract segments from the given geometry.

Parameters
geometryPtrInput geometry.
segmentsFound segments (appended here).
Note
The only supported geometry types are those composed by te::gm::LineString or te::gm::CircularString (for other types no segments will be returned).

◆ getTileIndexers()

bool te::rp::Blender::getTileIndexers ( te::gm::Geometry const *const  geometryPtr,
boost::ptr_vector< te::rst::TileIndexer > &  tileIndexers 
) const
protected

Creater polygon tile indexers from the given geometry (only if it is a polygon or a collection of polygons).

Parameters
geometryPtrInput geometry.
tileIndexersCreated indexers (appended here).
Returns
true if OK, false on errors.
Note
No indexers will be returned for geometries other than polygons or collections of polygons.

◆ initialize()

bool te::rp::Blender::initialize ( te::rst::Raster raster1,
const std::vector< unsigned int > &  raster1Bands,
const te::rst::Raster raster2,
const std::vector< unsigned int > &  raster2Bands,
const BlendMethod blendMethod,
const te::rst::Interpolator::Method interpMethod1,
const te::rst::Interpolator::Method interpMethod2,
const double &  noDataValue,
const bool  forceRaster1NoDataValue,
const bool  forceRaster2NoDataValue,
const std::vector< double > &  pixelOffsets1,
const std::vector< double > &  pixelScales1,
const std::vector< double > &  pixelOffsets2,
const std::vector< double > &  pixelScales2,
te::gm::MultiPolygon const *const  r1ValidDataDelimiterPtr,
te::gm::MultiPolygon const *const  r2ValidDataDelimiterPtr,
const te::gm::GeometricTransformation geomTransformation,
const unsigned int  threadsNumber,
const bool  enableProgressInterface 
)

Inititate the blender instance.

Parameters
raster1Input raster 1.
raster1BandsInput raster 1 band indexes to use.
raster2Input raster 2.
raster2BandsInput raster 2 band indexes to use (this vector has the same size as raster1Bands).
blendMethodThe blend method to apply.
interpMethod1The interpolation method to use when reading raster 1 data.
interpMethod2The interpolation method to use when reading raster 2 data.
noDataValueThe value returned where there is no pixel data bo blend.
forceRaster1NoDataValueUse noDataValue as the input raster 1 no-data value (The original rasters no-data values will be ignored)
forceRaster2NoDataValueUse noDataValue as the input raster 1 no-data value (The original rasters no-data values will be ignored)
pixelOffsets1The values offset to be applied to raster 1 pixel values before the blended value calcule (one element for each used raster channel/band).
pixelScales1The values scale to be applied to raster 1 pixel values before the blended value calcule (one element for each used raster channel/band).
pixelOffsets2The values offset to be applied to raster 2 pixel values before the blended value calcule (one element for each used raster channel/band).
pixelScales2The values scale to be applied to raster 2 pixel values before the blended value calcule (one element for each used raster channel/band).
r1ValidDataDelimiterPtrA pointer to a geometry (raster 1 world/projected coords) delimiting the raster region with valid data, or null if all raster data area is valid.
r2ValidDataDelimiterPtrA pointer to a geometry (raster 2 world/projected coords) delimiting the raster region with valid data, or null if all raster data area is valid.
geomTransformationA transformation mapping raster 1 pixels ( te::gm::GTParameters::TiePoint::first ) to raster 2 pixels ( te::gm::GTParameters::TiePoint::second ) (Note: all coords are indexed by lines/columns).
threadsNumberEnable/disable the use of threads when applicable (0:automatic , 1:disabled, any other integer dictates the number of threads).
enableProgressInterfaceEnable/disable the use of a progress interface when applicable.
Returns
true if ok, false on errors
Note
Aboute scale and offset parametrs: outValue = ( ( inputValue + offsetA ) * scale ) + offsetB

◆ initState()

void te::rp::Blender::initState ( )
protected

Reset the instance to its initial default state.

◆ maxMethodImp()

void te::rp::Blender::maxMethodImp ( const double &  line1,
const double &  col1,
double *const  values 
)
protected

Implementation for MaxMethod.

Parameters
lineRaster 1 Line.
colRaster 1 Column.
valuesA pointer to a pre-allocated vector where the blended values will be stored.

◆ minMethodImp()

void te::rp::Blender::minMethodImp ( const double &  line1,
const double &  col1,
double *const  values 
)
protected

Implementation for MinMethod.

Parameters
lineRaster 1 Line.
colRaster 1 Column.
valuesA pointer to a pre-allocated vector where the blended values will be stored.

◆ noBlendMethodImp()

void te::rp::Blender::noBlendMethodImp ( const double &  line1,
const double &  col1,
double *const  values 
)
protected

Implementation for NoBlendMethod.

Parameters
lineRaster 1 Line.
colRaster 1 Column.
valuesA pointer to a pre-allocated vector where the blended values will be stored.

◆ setBlendFunctionPonter()

void te::rp::Blender::setBlendFunctionPonter ( const BlendMethod  blendMethod)
protected

Set the value of m_blendFuncPtr following the given blend method.

◆ sumMethodImp()

void te::rp::Blender::sumMethodImp ( const double &  line1,
const double &  col1,
double *const  values 
)
protected

Implementation for SumMethod.

Parameters
lineRaster 1 Line.
colRaster 1 Column.
valuesA pointer to a pre-allocated vector where the blended values will be stored.

Member Data Documentation

◆ m_blendFuncPtr

BlendFunctPtr te::rp::Blender::m_blendFuncPtr
protected

The current blend function.

Definition at line 221 of file Blender.h.

◆ m_blendMethod

BlendMethod te::rp::Blender::m_blendMethod
protected

The blend method to apply.

Definition at line 220 of file Blender.h.

◆ m_enableProgressInterface

bool te::rp::Blender::m_enableProgressInterface
protected

Enable progress interface.

Definition at line 216 of file Blender.h.

◆ m_euclideanDistanceMethodImp_aux1

double te::rp::Blender::m_euclideanDistanceMethodImp_aux1
protected

Definition at line 269 of file Blender.h.

◆ m_euclideanDistanceMethodImp_aux2

double te::rp::Blender::m_euclideanDistanceMethodImp_aux2
protected

Definition at line 270 of file Blender.h.

◆ m_euclideanDistanceMethodImp_auxPoint

te::gm::Point te::rp::Blender::m_euclideanDistanceMethodImp_auxPoint
protected

Definition at line 259 of file Blender.h.

◆ m_euclideanDistanceMethodImp_BandIdx

unsigned int te::rp::Blender::m_euclideanDistanceMethodImp_BandIdx
protected

Definition at line 264 of file Blender.h.

◆ m_euclideanDistanceMethodImp_currDist

double te::rp::Blender::m_euclideanDistanceMethodImp_currDist
protected

Definition at line 265 of file Blender.h.

◆ m_euclideanDistanceMethodImp_cValue1

std::complex< double > te::rp::Blender::m_euclideanDistanceMethodImp_cValue1
protected

Definition at line 262 of file Blender.h.

◆ m_euclideanDistanceMethodImp_cValue2

std::complex< double > te::rp::Blender::m_euclideanDistanceMethodImp_cValue2
protected

Definition at line 263 of file Blender.h.

◆ m_euclideanDistanceMethodImp_dist1

double te::rp::Blender::m_euclideanDistanceMethodImp_dist1
protected

Definition at line 266 of file Blender.h.

◆ m_euclideanDistanceMethodImp_dist2

double te::rp::Blender::m_euclideanDistanceMethodImp_dist2
protected

Definition at line 267 of file Blender.h.

◆ m_euclideanDistanceMethodImp_IntersectionTileIndexersIdx

unsigned int te::rp::Blender::m_euclideanDistanceMethodImp_IntersectionTileIndexersIdx
protected

Definition at line 271 of file Blender.h.

◆ m_euclideanDistanceMethodImp_Point2Col

double te::rp::Blender::m_euclideanDistanceMethodImp_Point2Col
protected

Definition at line 261 of file Blender.h.

◆ m_euclideanDistanceMethodImp_Point2Line

double te::rp::Blender::m_euclideanDistanceMethodImp_Point2Line
protected

Definition at line 260 of file Blender.h.

◆ m_euclideanDistanceMethodImp_PointInsideIntersection

bool te::rp::Blender::m_euclideanDistanceMethodImp_PointInsideIntersection
protected

Definition at line 272 of file Blender.h.

◆ m_euclideanDistanceMethodImp_vecIdx

std::size_t te::rp::Blender::m_euclideanDistanceMethodImp_vecIdx
protected

Definition at line 268 of file Blender.h.

◆ m_forceRaster1NoDataValue

bool te::rp::Blender::m_forceRaster1NoDataValue
protected

Use noDataValue as the input raster 1 no-data value (The original rasters no-data values will be ignored)

Definition at line 217 of file Blender.h.

◆ m_forceRaster2NoDataValue

bool te::rp::Blender::m_forceRaster2NoDataValue
protected

Use noDataValue as the input raster 2 no-data value (The original rasters no-data values will be ignored)

Definition at line 218 of file Blender.h.

◆ m_geomTransformationPtr

te::gm::GeometricTransformation* te::rp::Blender::m_geomTransformationPtr
protected

A transformation mapping raster 1 pixels ( te::gm::GTParameters::TiePoint::first ) to raster 2 ( te::gm::GTParameters::TiePoint::second ) (Note: all coords are indexed by lines/columns).

Definition at line 231 of file Blender.h.

◆ m_interp1Ptr

std::unique_ptr< te::rst::Interpolator > te::rp::Blender::m_interp1Ptr
protected

Raster 1 interpolator instance pointer.

Definition at line 235 of file Blender.h.

◆ m_interp2Ptr

std::unique_ptr< te::rst::Interpolator > te::rp::Blender::m_interp2Ptr
protected

Raster 2 interpolator instance pointer.

Definition at line 236 of file Blender.h.

◆ m_interpMethod1

te::rst::Interpolator::Method te::rp::Blender::m_interpMethod1
protected

The interpolation method to use when reading raster 1 data.

Definition at line 232 of file Blender.h.

◆ m_interpMethod2

te::rst::Interpolator::Method te::rp::Blender::m_interpMethod2
protected

The interpolation method to use when reading raster 2 data.

Definition at line 233 of file Blender.h.

◆ m_intersectionPtr

std::unique_ptr< te::gm::Geometry > te::rp::Blender::m_intersectionPtr
protected

The Intersection geometry ( raster 1 indexed coods).

Definition at line 226 of file Blender.h.

◆ m_intersectionTileIndexers

boost::ptr_vector< te::rst::TileIndexer > te::rp::Blender::m_intersectionTileIndexers
protected

The Intersection geometry tile indexers( raster 1 indexed coods), one indexer for each intersection polygon.

Definition at line 245 of file Blender.h.

◆ m_maxMethodImp_auxPoint

te::gm::Point te::rp::Blender::m_maxMethodImp_auxPoint
protected

Definition at line 285 of file Blender.h.

◆ m_maxMethodImp_BandIdx

unsigned int te::rp::Blender::m_maxMethodImp_BandIdx
protected

Definition at line 290 of file Blender.h.

◆ m_maxMethodImp_cValue1

std::complex< double > te::rp::Blender::m_maxMethodImp_cValue1
protected

Definition at line 288 of file Blender.h.

◆ m_maxMethodImp_cValue2

std::complex< double > te::rp::Blender::m_maxMethodImp_cValue2
protected

Definition at line 289 of file Blender.h.

◆ m_maxMethodImp_IntersectionTileIndexersIdx

unsigned int te::rp::Blender::m_maxMethodImp_IntersectionTileIndexersIdx
protected

Definition at line 291 of file Blender.h.

◆ m_maxMethodImp_Point2Col

double te::rp::Blender::m_maxMethodImp_Point2Col
protected

Definition at line 287 of file Blender.h.

◆ m_maxMethodImp_Point2Line

double te::rp::Blender::m_maxMethodImp_Point2Line
protected

Definition at line 286 of file Blender.h.

◆ m_maxMethodImp_PointInsideIntersection

bool te::rp::Blender::m_maxMethodImp_PointInsideIntersection
protected

Definition at line 292 of file Blender.h.

◆ m_minMethodImp_auxPoint

te::gm::Point te::rp::Blender::m_minMethodImp_auxPoint
protected

Definition at line 295 of file Blender.h.

◆ m_minMethodImp_BandIdx

unsigned int te::rp::Blender::m_minMethodImp_BandIdx
protected

Definition at line 300 of file Blender.h.

◆ m_minMethodImp_cValue1

std::complex< double > te::rp::Blender::m_minMethodImp_cValue1
protected

Definition at line 298 of file Blender.h.

◆ m_minMethodImp_cValue2

std::complex< double > te::rp::Blender::m_minMethodImp_cValue2
protected

Definition at line 299 of file Blender.h.

◆ m_minMethodImp_IntersectionTileIndexersIdx

unsigned int te::rp::Blender::m_minMethodImp_IntersectionTileIndexersIdx
protected

Definition at line 301 of file Blender.h.

◆ m_minMethodImp_Point2Col

double te::rp::Blender::m_minMethodImp_Point2Col
protected

Definition at line 297 of file Blender.h.

◆ m_minMethodImp_Point2Line

double te::rp::Blender::m_minMethodImp_Point2Line
protected

Definition at line 296 of file Blender.h.

◆ m_minMethodImp_PointInsideIntersection

bool te::rp::Blender::m_minMethodImp_PointInsideIntersection
protected

Definition at line 302 of file Blender.h.

◆ m_noBlendMethodImp_BandIdx

unsigned int te::rp::Blender::m_noBlendMethodImp_BandIdx
protected

Definition at line 256 of file Blender.h.

◆ m_noBlendMethodImp_cValue

std::complex< double > te::rp::Blender::m_noBlendMethodImp_cValue
protected

Definition at line 254 of file Blender.h.

◆ m_noBlendMethodImp_Point1XProj1

double te::rp::Blender::m_noBlendMethodImp_Point1XProj1
protected

Definition at line 248 of file Blender.h.

◆ m_noBlendMethodImp_Point1XProj2

double te::rp::Blender::m_noBlendMethodImp_Point1XProj2
protected

Definition at line 250 of file Blender.h.

◆ m_noBlendMethodImp_Point1YProj1

double te::rp::Blender::m_noBlendMethodImp_Point1YProj1
protected

Definition at line 249 of file Blender.h.

◆ m_noBlendMethodImp_Point1YProj2

double te::rp::Blender::m_noBlendMethodImp_Point1YProj2
protected

Definition at line 251 of file Blender.h.

◆ m_noBlendMethodImp_Point2Col

double te::rp::Blender::m_noBlendMethodImp_Point2Col
protected

Definition at line 253 of file Blender.h.

◆ m_noBlendMethodImp_Point2Line

double te::rp::Blender::m_noBlendMethodImp_Point2Line
protected

Definition at line 252 of file Blender.h.

◆ m_noBlendMethodImp_Value

double te::rp::Blender::m_noBlendMethodImp_Value
protected

Definition at line 255 of file Blender.h.

◆ m_outputNoDataValue

double te::rp::Blender::m_outputNoDataValue
protected

The output raster no-data value.

Definition at line 234 of file Blender.h.

◆ m_pixelOffsets1

std::vector< double > te::rp::Blender::m_pixelOffsets1
protected

The values offset to be applied to raster 1 pixel values before the blended value calcule (one element for each used raster channel/band).

Definition at line 239 of file Blender.h.

◆ m_pixelOffsets2

std::vector< double > te::rp::Blender::m_pixelOffsets2
protected

The values offset to be applied to raster 2 pixel values before the blended value calcule (one element for each used raster channel/band).

Definition at line 241 of file Blender.h.

◆ m_pixelScales1

std::vector< double > te::rp::Blender::m_pixelScales1
protected

The values scale to be applied to raster 1 pixel values before the blended value calcule (one element for each used raster channel/band).

Definition at line 240 of file Blender.h.

◆ m_pixelScales2

std::vector< double > te::rp::Blender::m_pixelScales2
protected

The values scale to be applied to raster 2 pixel values before the blended value calcule (one element for each used raster channel/band).

Definition at line 242 of file Blender.h.

◆ m_r1IntersectionSegmentsPoints

std::vector< std::pair< te::gm::Coord2D, te::gm::Coord2D > > te::rp::Blender::m_r1IntersectionSegmentsPoints
protected

A sub-set of the intersection polygon wich is part of raster 1 valid data polygon ( raster 1 indexed coods).

Definition at line 227 of file Blender.h.

◆ m_r1IntersectionSegmentsPointsSize

std::size_t te::rp::Blender::m_r1IntersectionSegmentsPointsSize
protected

Size of m_r1IntersectionSegmentsPoints;.

Definition at line 228 of file Blender.h.

◆ m_r1ValidDataDelimiterPtr

std::unique_ptr< te::gm::MultiPolygon > te::rp::Blender::m_r1ValidDataDelimiterPtr
protected

A pointer to a geometry (raster 1 world/projected coords) delimiting the raster region with valid data, or null if all raster data area is valid.

Definition at line 224 of file Blender.h.

◆ m_r2IntersectionSegmentsPoints

std::vector< std::pair< te::gm::Coord2D, te::gm::Coord2D > > te::rp::Blender::m_r2IntersectionSegmentsPoints
protected

A sub-set of the intersection polygon wich is part of raster 2 valid data polygon ( raster 1 indexed coods).

Definition at line 229 of file Blender.h.

◆ m_r2IntersectionSegmentsPointsSize

std::size_t te::rp::Blender::m_r2IntersectionSegmentsPointsSize
protected

Size of m_r2IntersectionSegmentsPoints;.

Definition at line 230 of file Blender.h.

◆ m_r2ValidDataDelimiterPtr

std::unique_ptr< te::gm::MultiPolygon > te::rp::Blender::m_r2ValidDataDelimiterPtr
protected

A pointer to a geometry (raster 2 world/projected coords) delimiting the raster region with valid data, or null if all raster data area is valid.

Definition at line 225 of file Blender.h.

◆ m_raster1Bands

std::vector< unsigned int > te::rp::Blender::m_raster1Bands
protected

Input raster 1 band indexes to use.

Definition at line 237 of file Blender.h.

◆ m_raster1NoDataValues

std::vector< double > te::rp::Blender::m_raster1NoDataValues
protected

Raster 1 no-data values (on value per band).

Definition at line 243 of file Blender.h.

◆ m_raster1Ptr

te::rst::Raster* te::rp::Blender::m_raster1Ptr
protected

Input raster 1.

Definition at line 222 of file Blender.h.

◆ m_raster2Bands

std::vector< unsigned int > te::rp::Blender::m_raster2Bands
protected

Input raster 2 band indexes to use.

Definition at line 238 of file Blender.h.

◆ m_raster2NoDataValues

std::vector< double > te::rp::Blender::m_raster2NoDataValues
protected

Raster 2 no-data values (on value per band).

Definition at line 244 of file Blender.h.

◆ m_raster2Ptr

te::rst::Raster const* te::rp::Blender::m_raster2Ptr
protected

Input raster 2.

Definition at line 223 of file Blender.h.

◆ m_sumMethodImp_auxPoint

te::gm::Point te::rp::Blender::m_sumMethodImp_auxPoint
protected

Definition at line 275 of file Blender.h.

◆ m_sumMethodImp_BandIdx

unsigned int te::rp::Blender::m_sumMethodImp_BandIdx
protected

Definition at line 280 of file Blender.h.

◆ m_sumMethodImp_cValue1

std::complex< double > te::rp::Blender::m_sumMethodImp_cValue1
protected

Definition at line 278 of file Blender.h.

◆ m_sumMethodImp_cValue2

std::complex< double > te::rp::Blender::m_sumMethodImp_cValue2
protected

Definition at line 279 of file Blender.h.

◆ m_sumMethodImp_IntersectionTileIndexersIdx

unsigned int te::rp::Blender::m_sumMethodImp_IntersectionTileIndexersIdx
protected

Definition at line 281 of file Blender.h.

◆ m_sumMethodImp_Point2Col

double te::rp::Blender::m_sumMethodImp_Point2Col
protected

Definition at line 277 of file Blender.h.

◆ m_sumMethodImp_Point2Line

double te::rp::Blender::m_sumMethodImp_Point2Line
protected

Definition at line 276 of file Blender.h.

◆ m_sumMethodImp_PointInsideIntersection

bool te::rp::Blender::m_sumMethodImp_PointInsideIntersection
protected

Definition at line 282 of file Blender.h.

◆ m_threadsNumber

unsigned int te::rp::Blender::m_threadsNumber
protected

The number of threads to use (0:automatic , 1:disabled, any other integer dictates the number of threads)..

Definition at line 219 of file Blender.h.


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