A basic composer rule capable of choosing the valid pixels (all bands with no no-data values).
More...
#include <ComposerRuleValidPixel.h>
|
ComposerRule * | clone () const |
| Create a clone of this instance. More...
|
|
void | getComposedValues (const double &line, const double &col, double *const composedValuesPtr) const |
| Compose a pixel value using the current parameters. More...
|
|
bool | initialize (const te::rst::Raster &raster1, const std::vector< unsigned int > &raster1Bands, const te::rst::Raster &raster2, const std::vector< unsigned int > &raster2Bands, te::rst::Raster &raster3, const std::vector< unsigned int > &raster3Bands, 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) |
| Inititate the instance. More...
|
|
void | setErrorMessage (const std::string &newErrorMessage) |
| Set the current error message. More...
|
|
A basic composer rule capable of choosing the valid pixels (all bands with no no-data values).
composer rule capable of choosing the valid pixels (all bands with no no-data values).
Definition at line 38 of file ComposerRuleValidPixel.h.
◆ ComposerRuleValidPixel() [1/2]
te::rp::ComposerRuleValidPixel::ComposerRuleValidPixel |
( |
| ) |
|
◆ ~ComposerRuleValidPixel()
te::rp::ComposerRuleValidPixel::~ComposerRuleValidPixel |
( |
| ) |
|
◆ ComposerRuleValidPixel() [2/2]
◆ clear()
void te::rp::ComposerRuleValidPixel::clear |
( |
| ) |
|
|
private |
◆ clone()
ComposerRule * te::rp::ComposerRuleValidPixel::clone |
( |
| ) |
const |
|
protectedvirtual |
Create a clone of this instance.
- Returns
- A clone of this instance.
- Note
- The caller of this method must take othe owndershipd of the returned pointer.
Implements te::rp::ComposerRule.
◆ getComposedValues()
void te::rp::ComposerRuleValidPixel::getComposedValues |
( |
const double & |
line, |
|
|
const double & |
col, |
|
|
double *const |
composedValuesPtr |
|
) |
| const |
|
protectedvirtual |
Compose a pixel value using the current parameters.
- Parameters
-
line | Line (raster 3 reference). |
col | Column (raster 3 reference). |
composedValuesPtr | A pointer to a pre-allocated vector where the composed values will be stored. |
- Note
- The caller of this method must be aware that the returned composed value may be outside the original input rasters valid values range.
-
Raster 1 values have precedence over raster 2 values (when applicable).
Implements te::rp::ComposerRule.
◆ getErrorMessage()
const std::string & te::rp::ComposerRule::getErrorMessage |
( |
| ) |
const |
|
inherited |
Return the current error message if there is any.
- Returns
- Return the current error message if there is any.
◆ initialize()
bool te::rp::ComposerRuleValidPixel::initialize |
( |
const te::rst::Raster & |
raster1, |
|
|
const std::vector< unsigned int > & |
raster1Bands, |
|
|
const te::rst::Raster & |
raster2, |
|
|
const std::vector< unsigned int > & |
raster2Bands, |
|
|
te::rst::Raster & |
raster3, |
|
|
const std::vector< unsigned int > & |
raster3Bands, |
|
|
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 |
|
) |
| |
|
protectedvirtual |
Inititate the instance.
- Parameters
-
raster1 | Raster 1. |
raster1Bands | Raster 1 band indexes to use. |
raster2 | Raster 2. |
raster2Bands | Raster 2 band indexes to use (this vector has the same size as raster1Bands). |
raster3 | Raster 3. |
raster3Bands | Raster 3 band indexes to use (this vector has the same size as raster1Bands).
|
interpMethod1 | The interpolation method to use when reading raster 1 data. |
interpMethod2 | The interpolation method to use when reading raster 2 data. |
noDataValue | The value returned where there is no pixel data. |
forceRaster1NoDataValue | Use noDataValue as the input raster 1 no-data value (The original rasters no-data values will be ignored) |
forceRaster2NoDataValue | Use noDataValue as the input raster 1 no-data value (The original rasters no-data values will be ignored)
|
pixelOffsets1 | The values offset to be applied to raster 1 pixel values before the composed value calcule (one element for each used raster channel/band). |
pixelScales1 | The values scale to be applied to raster 1 pixel values before the composed value calcule (one element for each used raster channel/band). |
pixelOffsets2 | The values offset to be applied to raster 2 pixel values before the composed value calcule (one element for each used raster channel/band). |
pixelScales2 | The values scale to be applied to raster 2 pixel values before the composed value calcule (one element for each used raster channel/band). |
- Returns
- true if ok, false on errors
- Note
- Aboute scale and offset parametrs: outValue = ( inputValue * scale ) + offset
Reimplemented from te::rp::ComposerRule.
◆ initState()
void te::rp::ComposerRuleValidPixel::initState |
( |
| ) |
|
|
private |
◆ operator=()
◆ setErrorMessage()
void te::rp::ComposerRule::setErrorMessage |
( |
const std::string & |
newErrorMessage | ) |
|
|
protectedinherited |
Set the current error message.
- Parameters
-
newErrorMessage | New error message; |
◆ m_converter1
◆ m_converter2
◆ m_errorMessage
std::string te::rp::ComposerRule::m_errorMessage |
|
protectedinherited |
◆ m_forceRaster1NoDataValue
bool te::rp::ComposerRule::m_forceRaster1NoDataValue |
|
protectedinherited |
Use noDataValue as the input raster 1 no-data value (The original rasters no-data values will be ignored)
Definition at line 60 of file ComposerRule.h.
◆ m_forceRaster2NoDataValue
bool te::rp::ComposerRule::m_forceRaster2NoDataValue |
|
protectedinherited |
Use noDataValue as the input raster 2 no-data value (The original rasters no-data values will be ignored)
Definition at line 61 of file ComposerRule.h.
◆ m_getComposedValues_pixelIsValid
bool te::rp::ComposerRuleValidPixel::m_getComposedValues_pixelIsValid |
|
mutableprivate |
◆ m_getComposedValues_PixelValue
std::complex< double > te::rp::ComposerRuleValidPixel::m_getComposedValues_PixelValue |
|
mutableprivate |
◆ m_getComposedValues_raster3X
double te::rp::ComposerRuleValidPixel::m_getComposedValues_raster3X |
|
mutableprivate |
◆ m_getComposedValues_raster3Y
double te::rp::ComposerRuleValidPixel::m_getComposedValues_raster3Y |
|
mutableprivate |
◆ m_getComposedValues_rasterBandsIdx
std::size_t te::rp::ComposerRuleValidPixel::m_getComposedValues_rasterBandsIdx |
|
mutableprivate |
◆ m_getComposedValues_rasterCol
double te::rp::ComposerRuleValidPixel::m_getComposedValues_rasterCol |
|
mutableprivate |
◆ m_getComposedValues_rasterRow
double te::rp::ComposerRuleValidPixel::m_getComposedValues_rasterRow |
|
mutableprivate |
◆ m_getComposedValues_rasterX
double te::rp::ComposerRuleValidPixel::m_getComposedValues_rasterX |
|
mutableprivate |
◆ m_getComposedValues_rasterY
double te::rp::ComposerRuleValidPixel::m_getComposedValues_rasterY |
|
mutableprivate |
◆ m_interpMethod1
The interpolation method to use when reading raster 1 data.
Definition at line 65 of file ComposerRule.h.
◆ m_interpMethod2
The interpolation method to use when reading raster 2 data.
Definition at line 66 of file ComposerRule.h.
◆ m_interpolator1Ptr
◆ m_interpolator2Ptr
◆ m_noDataValues1
std::vector< std::complex< double > > te::rp::ComposerRuleValidPixel::m_noDataValues1 |
|
private |
◆ m_noDataValues2
std::vector< std::complex< double > > te::rp::ComposerRuleValidPixel::m_noDataValues2 |
|
private |
◆ m_outputNoDataValue
double te::rp::ComposerRule::m_outputNoDataValue |
|
protectedinherited |
◆ m_pixelOffsets1
std::vector< double > te::rp::ComposerRule::m_pixelOffsets1 |
|
protectedinherited |
The values offset to be applied to raster 1 pixel values before the composed value calcule (one element for each used raster channel/band).
Definition at line 71 of file ComposerRule.h.
◆ m_pixelOffsets2
std::vector< double > te::rp::ComposerRule::m_pixelOffsets2 |
|
protectedinherited |
The values offset to be applied to raster 2 pixel values before the composed value calcule (one element for each used raster channel/band).
Definition at line 73 of file ComposerRule.h.
◆ m_pixelScales1
std::vector< double > te::rp::ComposerRule::m_pixelScales1 |
|
protectedinherited |
The values scale to be applied to raster 1 pixel values before the composed value calcule (one element for each used raster channel/band).
Definition at line 72 of file ComposerRule.h.
◆ m_pixelScales2
std::vector< double > te::rp::ComposerRule::m_pixelScales2 |
|
protectedinherited |
The values scale to be applied to raster 2 pixel values before the composed value calcule (one element for each used raster channel/band).
Definition at line 74 of file ComposerRule.h.
◆ m_raster1Bands
std::vector< unsigned int > te::rp::ComposerRule::m_raster1Bands |
|
protectedinherited |
Input raster 1 band indexes to use.
Definition at line 68 of file ComposerRule.h.
◆ m_raster1BandsSize
std::size_t te::rp::ComposerRuleValidPixel::m_raster1BandsSize |
|
private |
◆ m_raster1Ptr
◆ m_raster2Bands
std::vector< unsigned int > te::rp::ComposerRule::m_raster2Bands |
|
protectedinherited |
Input raster 2 band indexes to use.
Definition at line 69 of file ComposerRule.h.
◆ m_raster2Ptr
◆ m_raster3Bands
std::vector< unsigned int > te::rp::ComposerRule::m_raster3Bands |
|
protectedinherited |
Input raster 3 band indexes to use.
Definition at line 70 of file ComposerRule.h.
◆ m_raster3Ptr
The documentation for this class was generated from the following file: