25 #ifndef __TERRALIB_RP_INTERNAL_TIEPOINTSLOCATORSTRATEGY_H 26 #define __TERRALIB_RP_INTERNAL_TIEPOINTSLOCATORSTRATEGY_H 31 #include "../geometry/GTParameters.h" 32 #include "../raster/Raster.h" 33 #include "../raster/Interpolator.h" 46 class TiePointsLocator;
66 virtual void getSubSampledSpecStrategyParams(
67 const double subSampleOptimizationRescaleFactor,
69 std::unique_ptr< TiePointsLocatorStrategyParameters >& subSampledSpecParamsPtr )
const = 0;
77 virtual void getDefaultSpecStrategyParams(
78 std::unique_ptr< TiePointsLocatorStrategyParameters >& defaultSpecParamsPtr )
const = 0;
85 const std::string& getErrorMessage()
const;
122 : m_x( 0 ), m_y( 0 ), m_feature1( 0 ), m_feature2( 0 ),
178 m_point1( point1 ), m_point2( point2 ),
179 m_feature( feature ) {};
206 virtual bool initialize(
212 virtual void reset();
218 virtual unsigned int getAutoMaxTiePointsNumber()
const = 0;
227 virtual bool getMatchedInterestPoints(
229 const double raster1ToRaster2TransfDMapError,
271 static bool loadRasterData(
273 const std::vector< unsigned int >& rasterBands,
275 const unsigned int maskRasterBand,
276 const unsigned int rasterTargetAreaLineStart,
277 const unsigned int rasterTargetAreaColStart,
278 const unsigned int rasterTargetAreaWidth,
279 const unsigned int rasterTargetAreaHeight,
280 const double desiredRescaleFactorX,
281 const double desiredRescaleFactorY,
283 const unsigned char maxMemPercentUsage,
284 std::vector< boost::shared_ptr< FloatsMatrix > >& loadedRasterData,
286 double& achievedRescaleFactorX,
287 double& achievedRescaleFactorY );
296 template<
typename BufferElementT >
298 const unsigned int& bufferLinesNumber )
301 assert( bufferLinesNumber );
303 unsigned int idx = 0;
304 BufferElementT* auxLinePtr = bufferPtr[ 0 ];
305 const unsigned int lastLineIdx = bufferLinesNumber - 1;
307 for( idx = 0 ; idx < lastLineIdx ; ++idx )
309 bufferPtr[ idx ] = bufferPtr[ idx + 1 ];
312 bufferPtr[ lastLineIdx ] = auxLinePtr;
324 static void createTifFromMatrix(
325 const FloatsMatrix& rasterData,
326 const InterestPointsSetT& interestPoints,
327 const std::string& tifFileName );
338 static void features2Tiff(
339 const DoublesMatrix& features,
340 const InterestPointsSetT& interestPoints,
341 const std::string& fileNameBeginning );
350 static bool checkForDuplicatedInterestPoints(
const InterestPointsSetT& interestPoints,
351 double& x,
double& y );
358 void setErrorMessage(
const std::string& newErrorMessage );
te::rp::Matrix< float > FloatsMatrix
A matrix do store float values.
unsigned int m_y
Point Y coord.
InterestPointT & operator=(const InterestPointT &other)
MatchedInterestPointsT(const MatchedInterestPointsT &other)
MatchedInterestPointsT(const InterestPointT &point1, const InterestPointT &point2, const float &feature)
float m_feature
Matched interest feature.
InterpolationMethod
Allowed interpolation methods.
std::string m_errorMessage
Current error message.
unsigned int m_x
Point X coord.
bool operator<(const MatchedInterestPointsT &other) const
std::list< InterestPointT > InterestPointsListT
te::rp::Matrix< unsigned char > UCharsMatrix
A matrix do store unsigned char values.
TiePointsLocator strategy parameters.
An abstract class for raster data strucutures.
std::multiset< InterestPointT > InterestPointsSetT
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
te::rp::Matrix< double > DoublesMatrix
A matrix do store double values.
Tie-points locator strategy.
static void roolUpBuffer(BufferElementT **bufferPtr, const unsigned int &bufferLinesNumber)
RoolUp a buffer of lines.
Configuration flags for the Raster Processing module of TerraLib.
float m_feature3
Interest point feature 3 value.
A generic template matrix.
bool operator<(const InterestPointT &other) const
~MatchedInterestPointsT()
InterestPointT m_point2
Interest point 2.
float m_feature2
Interest point feature 2 value.
std::multiset< MatchedInterestPointsT > MatchedInterestPointsSetT
const MatchedInterestPointsT & operator=(const MatchedInterestPointsT &other)
InterestPointT m_point1
Interest point 1.
InterestPointT(const InterestPointT &other)
float m_feature1
Interest point feature 1 value.