A basic composer rule capable of choosing the valid pixels (all bands with no no-data values).
More...
#include <ComposerRuleValidNeighborhood.h>
|
| ComposerRuleValidNeighborhood () |
|
const std::string & | getErrorMessage () const |
| Return the current error message if there is any.
|
|
double | getNeiborMinValidPercent () const |
| Get the mimimum percentual of valid pixels considering the entire neighborhood for a center pixel to be considered valid.
|
|
void | getValidValuesRanges (std::vector< std::pair< double, double > > &ranges1, std::vector< std::pair< double, double > > &ranges2) const |
| Get the valid values ranges.
|
|
unsigned int | getWindowRadius () const |
| Get the valid values neighbors window radius.
|
|
void | setNeiborMinValidPercent (const double newPercent) |
| Set the mimimum percentual of valid pixels considering the entire neighborhood for a center pixel to be considered valid.
|
|
void | setValidValuesRanges (const std::vector< std::pair< double, double > > &ranges1, const std::vector< std::pair< double, double > > &ranges2) |
| Set the valid values ranges.
|
|
void | setWindowRadius (const unsigned int newRadius) |
| Set the valid values neighbors window radius.
|
|
| ~ComposerRuleValidNeighborhood () |
|
|
ComposerRule * | clone () const |
| Create a clone of this instance.
|
|
void | getComposedValues (const double &line, const double &col, double *const composedValuesPtr) const |
| Compose a pixel value using the current parameters.
|
|
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.
|
|
void | setErrorMessage (const std::string &newErrorMessage) |
| Set the current error message.
|
|
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 37 of file ComposerRuleValidNeighborhood.h.
◆ ComposerRuleValidNeighborhood() [1/2]
te::rp::ComposerRuleValidNeighborhood::ComposerRuleValidNeighborhood |
( |
| ) |
|
◆ ~ComposerRuleValidNeighborhood()
te::rp::ComposerRuleValidNeighborhood::~ComposerRuleValidNeighborhood |
( |
| ) |
|
◆ ComposerRuleValidNeighborhood() [2/2]
◆ clear()
void te::rp::ComposerRuleValidNeighborhood::clear |
( |
| ) |
|
|
private |
◆ clone()
ComposerRule * te::rp::ComposerRuleValidNeighborhood::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::ComposerRuleValidNeighborhood::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.
◆ getNeiborMinValidPercent()
double te::rp::ComposerRuleValidNeighborhood::getNeiborMinValidPercent |
( |
| ) |
const |
Get the mimimum percentual of valid pixels considering the entire neighborhood for a center pixel to be considered valid.
- Returns
- Get the mimimum percentual of valid pixels considering the entire neighborhood for a center pixel to be considered valid.
◆ getValidValuesRanges()
void te::rp::ComposerRuleValidNeighborhood::getValidValuesRanges |
( |
std::vector< std::pair< double, double > > & |
ranges1, |
|
|
std::vector< std::pair< double, double > > & |
ranges2 |
|
) |
| const |
Get the valid values ranges.
- Parameters
-
ranges1 | Raster 1 values ranges. |
ranges2 | Raster 2 values ranges. |
◆ getWindowRadius()
unsigned int te::rp::ComposerRuleValidNeighborhood::getWindowRadius |
( |
| ) |
const |
Get the valid values neighbors window radius.
- Returns
- Get the valid values neighbors window radius.
◆ initialize()
bool te::rp::ComposerRuleValidNeighborhood::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::ComposerRuleValidNeighborhood::initState |
( |
| ) |
|
|
private |
◆ operator=()
◆ setErrorMessage()
void te::rp::ComposerRule::setErrorMessage |
( |
const std::string & |
newErrorMessage | ) |
|
|
protectedinherited |
Set the current error message.
- Parameters
-
newErrorMessage | New error message; |
◆ setNeiborMinValidPercent()
void te::rp::ComposerRuleValidNeighborhood::setNeiborMinValidPercent |
( |
const double |
newPercent | ) |
|
Set the mimimum percentual of valid pixels considering the entire neighborhood for a center pixel to be considered valid.
- Parameters
-
newPercent | New value (Range 0 -> 100). |
◆ setValidValuesRanges()
void te::rp::ComposerRuleValidNeighborhood::setValidValuesRanges |
( |
const std::vector< std::pair< double, double > > & |
ranges1, |
|
|
const std::vector< std::pair< double, double > > & |
ranges2 |
|
) |
| |
Set the valid values ranges.
- Parameters
-
ranges1 | Raster 1 values ranges. |
ranges2 | Raster 2 values ranges. |
- Note
- Valid values ranges for each band (first=min, second=max).
-
Ranges min and max are considered valid values.
◆ setWindowRadius()
void te::rp::ComposerRuleValidNeighborhood::setWindowRadius |
( |
const unsigned int |
newRadius | ) |
|
Set the valid values neighbors window radius.
- Parameters
-
- Note
- All pixels within the radius must be valid for the center pixel be considered valid.
◆ 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_bandIdx
unsigned int te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_bandIdx |
|
mutableprivate |
◆ m_getComposedValues_centerCol
double te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_centerCol |
|
mutableprivate |
◆ m_getComposedValues_centerCol1
long int te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_centerCol1 |
|
mutableprivate |
◆ m_getComposedValues_centerCol2
long int te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_centerCol2 |
|
mutableprivate |
◆ m_getComposedValues_centerRow
double te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_centerRow |
|
mutableprivate |
◆ m_getComposedValues_centerRow1
long int te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_centerRow1 |
|
mutableprivate |
◆ m_getComposedValues_centerRow2
long int te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_centerRow2 |
|
mutableprivate |
◆ m_getComposedValues_centerX
double te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_centerX |
|
mutableprivate |
◆ m_getComposedValues_centerX3
double te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_centerX3 |
|
mutableprivate |
◆ m_getComposedValues_centerY
double te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_centerY |
|
mutableprivate |
◆ m_getComposedValues_centerY3
double te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_centerY3 |
|
mutableprivate |
◆ m_getComposedValues_col
long int te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_col |
|
mutableprivate |
◆ m_getComposedValues_colBound
long int te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_colBound |
|
mutableprivate |
◆ m_getComposedValues_pixelIsValid
bool te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_pixelIsValid |
|
mutableprivate |
◆ m_getComposedValues_pixelValue
double te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_pixelValue |
|
mutableprivate |
◆ m_getComposedValues_r1PixelQuality
unsigned int te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_r1PixelQuality |
|
mutableprivate |
◆ m_getComposedValues_r2PixelQuality
unsigned int te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_r2PixelQuality |
|
mutableprivate |
◆ m_getComposedValues_row
long int te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_row |
|
mutableprivate |
◆ m_getComposedValues_rowBound
long int te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_rowBound |
|
mutableprivate |
◆ m_getComposedValues_startCol
long int te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_startCol |
|
mutableprivate |
◆ m_getComposedValues_startRow
long int te::rp::ComposerRuleValidNeighborhood::m_getComposedValues_startRow |
|
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_NBands
unsigned int te::rp::ComposerRuleValidNeighborhood::m_NBands |
|
private |
◆ m_neiborMinValidPercent
double te::rp::ComposerRuleValidNeighborhood::m_neiborMinValidPercent |
|
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_r1NCols
long int te::rp::ComposerRuleValidNeighborhood::m_r1NCols |
|
private |
◆ m_r1NRows
long int te::rp::ComposerRuleValidNeighborhood::m_r1NRows |
|
private |
◆ m_r2NCols
long int te::rp::ComposerRuleValidNeighborhood::m_r2NCols |
|
private |
◆ m_r2NRows
long int te::rp::ComposerRuleValidNeighborhood::m_r2NRows |
|
private |
◆ m_ranges1
std::vector< std::pair< double, double > > te::rp::ComposerRuleValidNeighborhood::m_ranges1 |
|
private |
◆ m_ranges2
std::vector< std::pair< double, double > > te::rp::ComposerRuleValidNeighborhood::m_ranges2 |
|
private |
◆ 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_raster1NoDataValues
std::vector< double > te::rp::ComposerRuleValidNeighborhood::m_raster1NoDataValues |
|
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_raster2NoDataValues
std::vector< double > te::rp::ComposerRuleValidNeighborhood::m_raster2NoDataValues |
|
private |
◆ 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
◆ m_windowMaxNPixels
long int te::rp::ComposerRuleValidNeighborhood::m_windowMaxNPixels |
|
private |
◆ m_windowRadius
long int te::rp::ComposerRuleValidNeighborhood::m_windowRadius |
|
private |
The documentation for this class was generated from the following file: