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) | 
|   | 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...
  | 
|   | 
| void  | setErrorMessage (const std::string &newErrorMessage) | 
|   | Set the current error message.  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.
 
◆ DoublesMatrix
◆ FloatsMatrix
◆ InterestPointsListT
◆ InterestPointsSetT
◆ MatchedInterestPointsSetT
◆ UCharsMatrix
◆ ~TiePointsLocatorMoravecStrategy()
      
        
          | te::rp::TiePointsLocatorMoravecStrategy::~TiePointsLocatorMoravecStrategy  | 
          ( | 
           | ) | 
           | 
        
      
 
 
◆ TiePointsLocatorMoravecStrategy()
  
  
      
        
          | te::rp::TiePointsLocatorMoravecStrategy::TiePointsLocatorMoravecStrategy  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ applyMeanFilter()
  
  
      
        
          | 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. 
 
 
 
◆ checkForDuplicatedInterestPoints()
  
  
      
        
          | 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. 
 
 
 
◆ createTifFromMatrix()
  
  
      
        
          | 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.  | 
  
   
 
 
◆ executeMatchingByCorrelation()
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. 
 
 
 
◆ executeMatchingByCorrelationThreadEntry()
Correlation/Euclidean match thread entry. 
- Parameters
 - 
  
    | paramsPtr | A pointer to the thread parameters.  | 
  
   
 
 
◆ features2Tiff()
  
  
      
        
          | 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.  | 
  
   
 
 
◆ generateCorrelationFeatures()
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. 
 
 
 
◆ getAutoMaxTiePointsNumber()
  
  
      
        
          | 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.
 
 
◆ getDefaultSpecStrategyParams()
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.
 
 
◆ getErrorMessage()
  
  
      
        
          | const std::string& te::rp::TiePointsLocatorStrategy::getErrorMessage  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inherited   | 
  
 
Return the current error message if there is any. 
- Returns
 - Return the current error message if there is any. 
 
 
 
◆ getMatchedInterestPoints()
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.
 
 
◆ getSubSampledSpecStrategyParams()
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.
 
 
◆ initialize()
◆ loadRasterData()
  
  
      
        
          | 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. 
 
 
 
◆ locateMoravecInterestPoints()
  
  
      
        
          | 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. 
 
 
 
◆ locateMoravecInterestPointsThreadEntry()
  
  
      
        
          | static void te::rp::TiePointsLocatorMoravecStrategy::locateMoravecInterestPointsThreadEntry  | 
          ( | 
          MoravecLocatorThreadParams *  | 
          paramsPtr | ) | 
           | 
         
       
   | 
  
staticprotected   | 
  
 
Movavec locator thread entry. 
- Parameters
 - 
  
    | paramsPtr | A pointer to the thread parameters.  | 
  
   
 
 
◆ reset()
  
  
      
        
          | void te::rp::TiePointsLocatorMoravecStrategy::reset  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protectedvirtual   | 
  
 
 
◆ roolUpBuffer()
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 297 of file TiePointsLocatorStrategy.h.
 
 
◆ setErrorMessage()
  
  
      
        
          | void te::rp::TiePointsLocatorStrategy::setErrorMessage  | 
          ( | 
          const std::string &  | 
          newErrorMessage | ) | 
           | 
         
       
   | 
  
protectedinherited   | 
  
 
Set the current error message. 
- Parameters
 - 
  
    | newErrorMessage | New error message;  | 
  
   
 
 
◆ TiePointsLocatorMoravecStrategyFactory
◆ m_errorMessage
  
  
      
        
          | std::string te::rp::TiePointsLocatorStrategy::m_errorMessage | 
         
       
   | 
  
privateinherited   | 
  
 
 
◆ m_inputParameters
◆ m_isInitialized
  
  
      
        
          | bool te::rp::TiePointsLocatorMoravecStrategy::m_isInitialized | 
         
       
   | 
  
protected   | 
  
 
 
The documentation for this class was generated from the following file: