20 #ifndef __TERRALIB_RP_INTERNAL_COMPOSER_RULE_VALID_NEIGHBORHOOD_H
21 #define __TERRALIB_RP_INTERNAL_COMPOSER_RULE_VALID_NEIGHBORHOOD_H
24 #include "../srs/Converter.h"
53 const std::vector< std::pair< double, double > >& ranges1,
54 const std::vector< std::pair< double, double > >& ranges2 );
62 std::vector< std::pair< double, double > >& ranges1,
63 std::vector< std::pair< double, double > >& ranges2 )
const;
94 double*
const composedValuesPtr )
const;
102 const std::vector< unsigned int >& raster1Bands,
104 const std::vector< unsigned int >& raster2Bands,
106 const std::vector< unsigned int >& raster3Bands,
109 const double& noDataValue,
110 const bool forceRaster1NoDataValue,
111 const bool forceRaster2NoDataValue,
112 const std::vector< double >& pixelOffsets1,
113 const std::vector< double >& pixelScales1,
114 const std::vector< double >& pixelOffsets2,
115 const std::vector< double >& pixelScales2 );
A basic composer rule capable of choosing the valid pixels (all bands with no no-data values).
long int m_getComposedValues_colBound
bool m_getComposedValues_pixelIsValid
long int m_windowRadius
Valid pixels windows radius.
double m_getComposedValues_centerX3
~ComposerRuleValidNeighborhood()
void getValidValuesRanges(std::vector< std::pair< double, double > > &ranges1, std::vector< std::pair< double, double > > &ranges2) const
Get the valid values ranges.
long int m_getComposedValues_row
ComposerRule * clone() const
Create a clone of this instance.
unsigned int getWindowRadius() const
Get the valid values neighbors window radius.
const ComposerRuleValidNeighborhood & operator=(const ComposerRuleValidNeighborhood &other)
double m_getComposedValues_centerY3
long int m_getComposedValues_centerCol1
te::srs::Converter m_converter1
double m_getComposedValues_centerCol
unsigned int m_getComposedValues_r1PixelQuality
long int m_getComposedValues_centerCol2
double getNeiborMinValidPercent() const
Get the mimimum percentual of valid pixels considering the entire neighborhood for a center pixel to ...
unsigned int m_getComposedValues_r2PixelQuality
void getComposedValues(const double &line, const double &col, double *const composedValuesPtr) const
Compose a pixel value using the current parameters.
long int m_getComposedValues_centerRow1
long int m_windowMaxNPixels
Maximum number of pixels in a window (center included)
long int m_getComposedValues_startCol
te::srs::Converter m_converter2
std::vector< double > m_raster1NoDataValues
Raster 1 no-data values (on value per band).
void setValidValuesRanges(const std::vector< std::pair< double, double > > &ranges1, const std::vector< std::pair< double, double > > &ranges2)
Set the valid values ranges.
std::vector< double > m_raster2NoDataValues
Raster 2 no-data values (on value per band).
long int m_getComposedValues_rowBound
ComposerRuleValidNeighborhood()
double m_getComposedValues_centerRow
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.
double m_getComposedValues_centerY
void setNeiborMinValidPercent(const double newPercent)
Set the mimimum percentual of valid pixels considering the entire neighborhood for a center pixel to ...
ComposerRuleValidNeighborhood(const ComposerRuleValidNeighborhood &other)
double m_getComposedValues_centerX
double m_neiborMinValidPercent
long int m_getComposedValues_startRow
unsigned int m_getComposedValues_bandIdx
std::vector< std::pair< double, double > > m_ranges2
Valid values ranges for each raster 1 band (first=min, second=max).
double m_getComposedValues_pixelValue
void setWindowRadius(const unsigned int newRadius)
Set the valid values neighbors window radius.
long int m_getComposedValues_centerRow2
long int m_getComposedValues_col
std::vector< std::pair< double, double > > m_ranges1
Valid values ranges for each raster 1 band (first=min, second=max).
An abstract class for raster data strucutures.
A Converter is responsible for the conversion of coordinates between different Coordinate Systems (CS...
InterpolationMethod
Allowed interpolation methods.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.