Tie-points locator Moravec strategy.
More...
#include <TiePointsLocatorMoravecStrategy.h>
|
bool | executeMatchingByCorrelation (const FloatsMatrix &featuresSet1, const FloatsMatrix &featuresSet2, const InterestPointsSetT &interestPointsSet1, const InterestPointsSetT &interestPointsSet2, te::gm::GeometricTransformation const *const raster1ToRaster2TransfPtr, const double raster1ToRaster2TransfDMapError, MatchedInterestPointsSetT &matchedPoints) const |
| Match each feature using correlation. More...
|
|
unsigned int | getAutoMaxTiePointsNumber () const |
| Returns a automatically calculated optimum maximum amount tie-points following the current parameters. More...
|
|
bool | getMatchedInterestPoints (te::gm::GeometricTransformation const *const raster1ToRaster2TransfPtr, const double raster1ToRaster2TransfDMapError, MatchedInterestPointsSetT &matchedInterestPoints) |
| Try to find matched interest points. More...
|
|
bool | initialize (const te::rp::TiePointsLocatorInputParameters &inputParameters) |
| Initialize the strategy. More...
|
|
bool | locateMoravecInterestPoints (const unsigned int maxInterestPoints, const FloatsMatrix &rasterData, UCharsMatrix const *maskRasterDataPtr, InterestPointsSetT &interestPoints) const |
| Moravec interest points locator. More...
|
|
void | reset () |
| Clear all internal allocated resources and go back to the initial not-initialized state. More...
|
|
| TiePointsLocatorMoravecStrategy () |
|
|
static bool | applyMeanFilter (const FloatsMatrix &inputData, FloatsMatrix &outputData, const unsigned int iterationsNumber) |
| Mean Filter. More...
|
|
static bool | checkForDuplicatedInterestPoints (const InterestPointsSetT &interestPoints, double &x, double &y) |
| Check for duplicated interest points. More...
|
|
static void | createTifFromMatrix (const FloatsMatrix &rasterData, const InterestPointsSetT &interestPoints, const std::string &tifFileName) |
| Moravec interest points locator. More...
|
|
static void | executeMatchingByCorrelationThreadEntry (ExecuteMatchingByCorrelationThreadEntryParams *paramsPtr) |
| Correlation/Euclidean match thread entry. More...
|
|
static void | features2Tiff (const DoublesMatrix &features, const InterestPointsSetT &interestPoints, const std::string &fileNameBeginning) |
| Save the generated features to tif files. More...
|
|
static bool | generateCorrelationFeatures (const InterestPointsSetT &interestPoints, const unsigned int correlationWindowWidth, const FloatsMatrix &rasterData, FloatsMatrix &features, InterestPointsSetT &validInteresPoints) |
| Generate correlation features ( normalized - unit vector ) matrix for the given interes points. More...
|
|
static bool | loadRasterData (te::rst::Raster const *rasterPtr, const std::vector< unsigned int > &rasterBands, te::rst::Raster const *maskRasterPtr, const unsigned int maskRasterBand, const unsigned int rasterTargetAreaLineStart, const unsigned int rasterTargetAreaColStart, const unsigned int rasterTargetAreaWidth, const unsigned int rasterTargetAreaHeight, const double desiredRescaleFactorX, const double desiredRescaleFactorY, const te::rst::Interpolator::Method rasterInterpMethod, const unsigned char maxMemPercentUsage, std::vector< boost::shared_ptr< FloatsMatrix > > &loadedRasterData, UCharsMatrix &loadedMaskRasterData, double &achievedRescaleFactorX, double &achievedRescaleFactorY) |
| Load rasters data (normalized between 0 and 1). More...
|
|
static void | locateMoravecInterestPointsThreadEntry (MoravecLocatorThreadParams *paramsPtr) |
| Movavec locator thread entry. More...
|
|
template<typename BufferElementT > |
static void | roolUpBuffer (BufferElementT **bufferPtr, const unsigned int &bufferLinesNumber) |
| RoolUp a buffer of lines. More...
|
|
Tie-points locator Moravec strategy.
Definition at line 45 of file TiePointsLocatorMoravecStrategy.h.
te::rp::TiePointsLocatorMoravecStrategy::~TiePointsLocatorMoravecStrategy |
( |
| ) |
|
te::rp::TiePointsLocatorMoravecStrategy::TiePointsLocatorMoravecStrategy |
( |
| ) |
|
|
protected |
static bool te::rp::TiePointsLocatorMoravecStrategy::applyMeanFilter |
( |
const FloatsMatrix & |
inputData, |
|
|
FloatsMatrix & |
outputData, |
|
|
const unsigned int |
iterationsNumber |
|
) |
| |
|
staticprotected |
Mean Filter.
- Parameters
-
inputData | The input data. |
outputData | The output data. |
iterationsNumber | The number of filter iterations. |
- Returns
- true if ok, false on errors.
static bool te::rp::TiePointsLocatorStrategy::checkForDuplicatedInterestPoints |
( |
const InterestPointsSetT & |
interestPoints, |
|
|
double & |
x, |
|
|
double & |
y |
|
) |
| |
|
staticprotectedinherited |
Check for duplicated interest points.
- Parameters
-
x | The duplicated tie-points X coord. |
y | The duplicated tie-points Y coord. |
- Returns
- false if duplicated interest points were found.
static void te::rp::TiePointsLocatorStrategy::createTifFromMatrix |
( |
const FloatsMatrix & |
rasterData, |
|
|
const InterestPointsSetT & |
interestPoints, |
|
|
const std::string & |
tifFileName |
|
) |
| |
|
staticprotectedinherited |
Moravec interest points locator.
- Parameters
-
rasterData | The loaded raster data. |
interestPoints | The found raster 1 interest points (coords related to rasterData lines/cols). |
tifFileName | Tif file name. |
Match each feature using correlation.
- Parameters
-
featuresSet1 | Features set 1. |
featuresSet2 | Features set 2. |
interestPointsSet1 | The interest pionts set 1 (full raster 1 indexed coods reference). |
interestPointsSet2 | The interest pionts set 2 (full raster 1 indexed coods reference). |
raster1ToRaster2TransfPtr | A pointer to a transformation direct mapping raster 1 indexed coords into raster 2 indexed coords, of an empty pointer if there is no transformation avaliable. |
raster1ToRaster2TransfDMapError | The expected transformation error. |
matchedPoints | The matched points (full raster 1 indexed coods reference). |
- Note
- Each matched point feature value ( MatchedInterestPoint::m_feature ) will be set to the absolute value of the correlation between then.
Correlation/Euclidean match thread entry.
- Parameters
-
paramsPtr | A pointer to the thread parameters. |
static void te::rp::TiePointsLocatorStrategy::features2Tiff |
( |
const DoublesMatrix & |
features, |
|
|
const InterestPointsSetT & |
interestPoints, |
|
|
const std::string & |
fileNameBeginning |
|
) |
| |
|
staticprotectedinherited |
Save the generated features to tif files.
- Parameters
-
features | The features to be saved. |
validInteresPoints | The interest pionts related to each feature inside the features matrix. |
fileNameStart | The output file name beginning. |
Generate correlation features ( normalized - unit vector ) matrix for the given interes points.
- Parameters
-
interestPoints | The interest points (coords related to rasterData lines/cols). |
correlationWindowWidth | The correlation window width used to correlate points between the images. |
rasterData | The loaded raster data. |
features | The generated features matrix (one feature per line, one feature per interes point). |
validInteresPoints | The valid interest pionts related to each feature inside the features matrix (some interest points may be invalid and are removed). |
- Returns
- true if ok, false on errors.
unsigned int te::rp::TiePointsLocatorMoravecStrategy::getAutoMaxTiePointsNumber |
( |
| ) |
const |
|
protectedvirtual |
Returns a automatically calculated optimum maximum amount tie-points following the current parameters.
- Returns
- Returns a automatically calculated optimum maximum amount tie-points following the current parameters.
Implements te::rp::TiePointsLocatorStrategy.
Returns a sub-sampled version of the given locator strategy specific input parameters.
- Parameters
-
subSampleOptimizationRescaleFactor | Sub-sampled optimization tie-points search rescale factor. |
inputSpecParams | Input parameters (sub-sample factor 1). |
subSampledSpecParams | Sub-sampled parameters. |
Implements te::rp::TiePointsLocatorStrategy.
Try to find matched interest points.
- Parameters
-
matchedInterestPoints | The matched interest points. |
raster1ToRaster2TransfPtr | A pointer to a transformation (estimation) direct mapping raster 1 indexed coords into raster 2 indexed coords, of an empty pointer if there is no transformation avaliable. |
raster1ToRaster2TransfDMapError | The expected transformation error. |
- Returns
- true if OK, false on errors.
Implements te::rp::TiePointsLocatorStrategy.
Returns a sub-sampled version of the given locator strategy specific input parameters.
- Parameters
-
subSampleOptimizationRescaleFactor | Sub-sampled optimization tie-points search rescale factor. |
inputSpecParams | Input parameters (sub-sample factor 1). |
subSampledSpecParamsPtr | Sub-sampled parameters. |
Implements te::rp::TiePointsLocatorStrategy.
static bool te::rp::TiePointsLocatorStrategy::loadRasterData |
( |
te::rst::Raster const * |
rasterPtr, |
|
|
const std::vector< unsigned int > & |
rasterBands, |
|
|
te::rst::Raster const * |
maskRasterPtr, |
|
|
const unsigned int |
maskRasterBand, |
|
|
const unsigned int |
rasterTargetAreaLineStart, |
|
|
const unsigned int |
rasterTargetAreaColStart, |
|
|
const unsigned int |
rasterTargetAreaWidth, |
|
|
const unsigned int |
rasterTargetAreaHeight, |
|
|
const double |
desiredRescaleFactorX, |
|
|
const double |
desiredRescaleFactorY, |
|
|
const te::rst::Interpolator::Method |
rasterInterpMethod, |
|
|
const unsigned char |
maxMemPercentUsage, |
|
|
std::vector< boost::shared_ptr< FloatsMatrix > > & |
loadedRasterData, |
|
|
UCharsMatrix & |
loadedMaskRasterData, |
|
|
double & |
achievedRescaleFactorX, |
|
|
double & |
achievedRescaleFactorY |
|
) |
| |
|
staticprotectedinherited |
Load rasters data (normalized between 0 and 1).
- Parameters
-
rasterPtr | Input raster pointer. |
rasterBands | Input raster bands. |
maskRasterPtr | The related input mask raster pointer (or zero, if no mask raster is avaliable). |
maskRasterBand | The input mask raster band to use. |
rasterTargetAreaLineStart | The raster target area initial line. |
rasterTargetAreaColStart | The raster target area initial column. |
rasterTargetAreaWidth | The raster target area width. |
rasterTargetAreaHeight | The raster target area height. |
desiredRescaleFactorX | The desired Scale factor to be applied on the loaded data. |
desiredRescaleFactorY | The desired Scale factor to be applied on the loaded data. |
rasterInterpMethod | The interpolation used when loading the input raster. |
maxMemPercentUsage | The maximum amount (percent) of memory to use for the loaded data [0,100]. |
loadedRasterData | The loaded raster data. |
loadedMaskRasterData | The loaded mask raster data. |
desiredRescaleFactorX | The real achieved Scale factor. |
desiredRescaleFactorY | The real achieved Scale factor. |
- Returns
- true if ok, false on errors.
bool te::rp::TiePointsLocatorMoravecStrategy::locateMoravecInterestPoints |
( |
const unsigned int |
maxInterestPoints, |
|
|
const FloatsMatrix & |
rasterData, |
|
|
UCharsMatrix const * |
maskRasterDataPtr, |
|
|
InterestPointsSetT & |
interestPoints |
|
) |
| const |
|
protected |
Moravec interest points locator.
- Parameters
-
maxInterestPoints | The maximum number of interest points to find. |
rasterData | The loaded raster data. |
maskRasterDataPtr | The loaded mask raster data pointer (or zero if no mask is avaliable). |
interestPoints | The found interest points (coords related to rasterData lines/cols). |
- Note
- InterestPointT::m_feature1 will be sum of differences between the Moravec filter response of each pixel and its neighborhoods (always a positive value).
- Returns
- true if ok, false on errors.
static void te::rp::TiePointsLocatorMoravecStrategy::locateMoravecInterestPointsThreadEntry |
( |
MoravecLocatorThreadParams * |
paramsPtr | ) |
|
|
staticprotected |
Movavec locator thread entry.
- Parameters
-
paramsPtr | A pointer to the thread parameters. |
void te::rp::TiePointsLocatorMoravecStrategy::reset |
( |
| ) |
|
|
protectedvirtual |
template<typename BufferElementT >
static void te::rp::TiePointsLocatorStrategy::roolUpBuffer |
( |
BufferElementT ** |
bufferPtr, |
|
|
const unsigned int & |
bufferLinesNumber |
|
) |
| |
|
inlinestaticprotectedinherited |
RoolUp a buffer of lines.
- Parameters
-
bufferPtr | Buffer pointer. |
bufferLinesNumber | Buffer lines number. |
Definition at line 290 of file TiePointsLocatorStrategy.h.
bool te::rp::TiePointsLocatorMoravecStrategy::m_isInitialized |
|
protected |
The documentation for this class was generated from the following file: