Loading...
Searching...
No Matches
TiePointsLocatorInputParameters.h
Go to the documentation of this file.
1/* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2
3 This file is part of the TerraLib - a Framework for building GIS enabled applications.
4
5 TerraLib is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 TerraLib is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with TerraLib. See COPYING. If not, write to
17 TerraLib Team at <terralib-team@terralib.org>.
18 */
19
20/*!
21 \file terralib/rp/TiePointsLocatorInputParameters.h
22 \brief TiePointsLocator input parameters.
23 */
24
25#ifndef __TERRALIB_RP_INTERNAL_TIEPOINTSLOCATORINPUTPARAMETERS_H
26#define __TERRALIB_RP_INTERNAL_TIEPOINTSLOCATORINPUTPARAMETERS_H
27
28#include "Config.h"
29#include "Exception.h"
32#include "../geometry/GeometricTransformation.h"
33#include "../raster/Raster.h"
34#include "../raster/Interpolator.h"
35
36#include <vector>
37#include <string>
38#include <memory>
39
40namespace te
41{
42 namespace rp
43 {
44 /*!
45 \class TiePointsLocatorInputParameters
46 \brief TiePointsLocator input parameters
47 */
49 {
50 public:
51
52 std::string m_interesPointsLocationStrategyName; //!< The strategy used to locate interest points (default:Moravec).
53
54 te::rst::Raster const* m_inRaster1Ptr; //!< Input raster 1.
55
56 te::rst::Raster const* m_inMaskRaster1Ptr; //!< Optional one band input mask raster 1 (tie-points will not be generated inside mask image areas marked with zeroes).
57
58 std::vector< unsigned int > m_inRaster1Bands; //!< Bands to be used from the input raster 1.
59
60 unsigned int m_raster1TargetAreaLineStart; //!< The first line of the raster 1 target area to process (default:0 - The entire raster will be considered).
61
62 unsigned int m_raster1TargetAreaColStart; //!< The first column of the raster 2 target area to process (default:0 - The entire raster will be considered).
63
64 unsigned int m_raster1TargetAreaWidth; //!< The raster 1 target area width (default:0 - The entire raster will be considered).
65
66 unsigned int m_raster1TargetAreaHeight; //!< The raster 1 target area height (default:0 - The entire raster will be considered).
67
68 te::rst::Raster const* m_inRaster2Ptr; //!< Input raster 2.
69
70 te::rst::Raster const* m_inMaskRaster2Ptr; //!< Optional one band input mask raster 2 (tie-points will not be generated inside mask image areas marked with zeroes).
71
72 std::vector< unsigned int > m_inRaster2Bands; //!< Bands to be used from the input raster 2.
73
74 unsigned int m_raster2TargetAreaLineStart; //!< The first line of the raster 2 target area to process (default:0 - The entire raster will be considered).
75
76 unsigned int m_raster2TargetAreaColStart; //!< The first column of the raster 2 target area to process (default:0 - The entire raster will be considered).
77
78 unsigned int m_raster2TargetAreaWidth; //!< The raster 2 target area width (default:0 - The entire raster will be considered).
79
80 unsigned int m_raster2TargetAreaHeight; //!< The raster 2 target area height (default:0 - The entire raster will be considered).
81
82 bool m_enableMultiThread; //!< Enable/Disable the use of multi-threads (default:true).
83
84 bool m_enableProgress; //!< Enable/Disable the progress interface (default:false).
85
86 unsigned int m_maxTiePoints; //!< The maximum number of tie-points to generate (0:Automatically calculated, default:2500).
87
88 double m_pixelSizeXRelation; //!< The pixel resolution relation m_pixelSizeXRelation = raster1_pixel_res_x / raster2_pixel_res_x (default=1.0).
89
90 double m_pixelSizeYRelation; //!< The pixel resolution relation m_pixelSizeYRelation = raster1_pixel_res_y / raster2_pixel_res_y (default=1.0).
91
92 std::string m_geomTransfName; //!< The name of the geometric transformation used to ensure tie-points consistency (see each te::gm::GTFactory inherited classes to find each factory key/name, default:Affine).
93
94 double m_geomTransfMaxError; //!< The maximum allowed transformation error (pixel units, default:2).
95
96 bool m_enableGeometryFilter; //!< Enable/disable the geometry filter/outliers remotion (default:true).
97
98 double m_subSampleOptimizationRescaleFactor; //!< Sub-sampled optimization tie-points search rescale factor (Tie-ponts will be searched into a subsabmpled image and refined before using the original image - Defaul: 1 - subsample optimization disabled, valid range: non-zero positive values).
99
100 double m_subSampleOptimizationMinTPAreaCoverage; //!< Sub-sampled optimization - mininumum required tie-points covered area percent of each raster area - valid range [0,100] (default:25).
101
102 te::rst::Interpolator::Method m_interpMethod; //!< The raster interpolator method (default:NearestNeighbor).
103
104 unsigned int m_tiePointsSubSectorsSplitFactor; //!< The algorithm will try to generate tie-points distributed over image sectors ( Default: 3 - 3x3 sub-sectors, minimum: 1).
105
107
109
111
112 //overload
113 void reset() ;
114
115 //overload
117
118 //overload
119 AbstractParameters* clone() const;
120
121 //overload
122 bool serialize ( AlgorithmParametersSerializer& serializer ) const;
123
124 /*!
125 \brief Set specific tie-points locator strategy parameters.
126 \param specStratParams The specific tie-points locator strategy parameters.
127 */
129 const TiePointsLocatorStrategyParameters& specStratParams );
130
131 /*!
132 \brief Returns a pointer to the internal specific tie-points locator strategy parameters.
133 \return A pointer to the internal specific tie-points locator strategy parameters, or
134 null if no parameters are present.
135 */
137
138 /*!
139 \brief Returns a pointer to the internal specific tie-points locator strategy parameters.
140 \return A pointer to the internal specific tie-points locator strategy parameters, or
141 null if no parameters are present.
142 */
144
145 protected :
146
147 /*!
148 \brief A pointer to the internal specific segmenter strategy parameters or
149 NULL if no parameters are present.
150 */
151 std::unique_ptr< TiePointsLocatorStrategyParameters > m_specStratParamsPtr;
152 };
153
154 } // end namespace rp
155} // end namespace te
156
157#endif
158
Raster Processing algorithm input parameters base interface.
Tie Points Locator strategy parameters.
Raster Processing algorithm input parameters base interface.
A class to standardize algorithm parameters serialization.
te::rst::Raster const * m_inRaster2Ptr
Input raster 2.
double m_geomTransfMaxError
The maximum allowed transformation error (pixel units, default:2).
unsigned int m_raster2TargetAreaWidth
The raster 2 target area width (default:0 - The entire raster will be considered).
double m_subSampleOptimizationRescaleFactor
Sub-sampled optimization tie-points search rescale factor (Tie-ponts will be searched into a subsabmp...
te::rst::Interpolator::Method m_interpMethod
The raster interpolator method (default:NearestNeighbor).
std::string m_geomTransfName
The name of the geometric transformation used to ensure tie-points consistency (see each te::gm::GTFa...
TiePointsLocatorStrategyParameters * getSpecStrategyParams()
Returns a pointer to the internal specific tie-points locator strategy parameters.
double m_pixelSizeXRelation
The pixel resolution relation m_pixelSizeXRelation = raster1_pixel_res_x / raster2_pixel_res_x (defau...
const TiePointsLocatorInputParameters & operator=(const TiePointsLocatorInputParameters &params)
TiePointsLocatorInputParameters(const TiePointsLocatorInputParameters &)
unsigned int m_raster2TargetAreaLineStart
The first line of the raster 2 target area to process (default:0 - The entire raster will be consider...
unsigned int m_raster2TargetAreaHeight
The raster 2 target area height (default:0 - The entire raster will be considered).
double m_pixelSizeYRelation
The pixel resolution relation m_pixelSizeYRelation = raster1_pixel_res_y / raster2_pixel_res_y (defau...
bool m_enableProgress
Enable/Disable the progress interface (default:false).
AbstractParameters * clone() const
Create a clone copy of this instance.
std::vector< unsigned int > m_inRaster2Bands
Bands to be used from the input raster 2.
te::rst::Raster const * m_inRaster1Ptr
Input raster 1.
unsigned int m_raster1TargetAreaHeight
The raster 1 target area height (default:0 - The entire raster will be considered).
std::vector< unsigned int > m_inRaster1Bands
Bands to be used from the input raster 1.
double m_subSampleOptimizationMinTPAreaCoverage
Sub-sampled optimization - mininumum required tie-points covered area percent of each raster area - v...
unsigned int m_raster1TargetAreaColStart
The first column of the raster 2 target area to process (default:0 - The entire raster will be consid...
unsigned int m_maxTiePoints
The maximum number of tie-points to generate (0:Automatically calculated, default:2500).
unsigned int m_raster1TargetAreaLineStart
The first line of the raster 1 target area to process (default:0 - The entire raster will be consider...
void setSpecStrategyParams(const TiePointsLocatorStrategyParameters &specStratParams)
Set specific tie-points locator strategy parameters.
bool m_enableGeometryFilter
Enable/disable the geometry filter/outliers remotion (default:true).
unsigned int m_tiePointsSubSectorsSplitFactor
The algorithm will try to generate tie-points distributed over image sectors ( Default: 3 - 3x3 sub-s...
te::rst::Raster const * m_inMaskRaster2Ptr
Optional one band input mask raster 2 (tie-points will not be generated inside mask image areas marke...
bool serialize(AlgorithmParametersSerializer &serializer) const
Returns a parameter serialization object.
unsigned int m_raster2TargetAreaColStart
The first column of the raster 2 target area to process (default:0 - The entire raster will be consid...
std::string m_interesPointsLocationStrategyName
The strategy used to locate interest points (default:Moravec).
te::rst::Raster const * m_inMaskRaster1Ptr
Optional one band input mask raster 1 (tie-points will not be generated inside mask image areas marke...
void reset()
Clear all internal allocated resources and reset the parameters instance to its initial state.
TiePointsLocatorStrategyParameters const * getSpecStrategyParams() const
Returns a pointer to the internal specific tie-points locator strategy parameters.
std::unique_ptr< TiePointsLocatorStrategyParameters > m_specStratParamsPtr
A pointer to the internal specific segmenter strategy parameters or NULL if no parameters are present...
unsigned int m_raster1TargetAreaWidth
The raster 1 target area width (default:0 - The entire raster will be considered).
bool m_enableMultiThread
Enable/Disable the use of multi-threads (default:true).
An abstract class for raster data strucutures.
Definition: Raster.h:72
InterpolationMethod
Allowed interpolation methods.
Definition: Enums.h:93
TerraLib.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:139
Proxy configuration file for TerraView (see terraview_config.h).
An exception class for the XML module.