TiePointsLocatorInputParameters.cpp
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.cpp
22  \brief Tie points locator input parameters.
23 */
24 
27 
28 namespace te
29 {
30  namespace rp
31  {
33  {
34  reset();
35  }
36 
38  {
39  reset();
40  operator=( other );
41  }
42 
44  {
45  reset();
46  }
47 
49  {
51  m_inRaster1Ptr = nullptr;
52  m_inMaskRaster1Ptr = nullptr;
53  m_inRaster1Bands.clear();
58  m_inRaster2Ptr = nullptr;
59  m_inMaskRaster2Ptr = nullptr;
60  m_inRaster2Bands.clear();
65  m_enableMultiThread = true;
66  m_enableProgress = false;
67  m_maxTiePoints = 2500;
70  m_geomTransfName = "Affine";
79 
81  }
82 
84  const TiePointsLocatorInputParameters& params )
85  {
86  reset();
87 
117 
118  if( params.m_specStratParamsPtr.get() )
119  {
121  params.m_specStratParamsPtr->clone() );
122  }
123  else
124  {
125  m_specStratParamsPtr.reset();
126  }
127 
128  return *this;
129  }
130 
132  {
133  return new TiePointsLocatorInputParameters( *this );
134  }
135 
137  const TiePointsLocatorStrategyParameters& specStratParams )
138  {
140  specStratParams.clone() );
141  }
142 
144  {
145  return m_specStratParamsPtr.get();
146  }
147 
149  {
150  return m_specStratParamsPtr.get();
151  }
152 
153  } // end namespace rp
154 } // end namespace te
155 
Near neighborhood interpolation method.
std::vector< unsigned int > m_inRaster2Bands
Bands to be used from the input raster 2.
bool m_enableProgress
Enable/Disable the progress interface (default:false).
unsigned int m_raster2TargetAreaLineStart
The first line of the raster 2 target area to process (default:0 - The entire raster will be consider...
Base exception class for plugin module.
TiePointsLocatorStrategyParameters const * getSpecStrategyParams() const
Returns a pointer to the internal specific tie-points locator strategy parameters.
double m_geomTransfMaxError
The maximum allowed transformation error (pixel units, default:2).
double m_subSampleOptimizationRescaleFactor
Sub-sampled optimization tie-points search rescale factor (Tie-ponts will be searched into a subsabmp...
AbstractParameters * clone() const
Create a clone copy of this instance.
te::rst::Raster const * m_inRaster2Ptr
Input raster 2.
std::string m_interesPointsLocationStrategyName
The strategy used to locate interest points (default:Moravec).
void setSpecStrategyParams(const TiePointsLocatorStrategyParameters &specStratParams)
Set specific tie-points locator strategy parameters.
unsigned int m_maxTiePoints
The maximum number of tie-points to generate (0:Automatically calculated, default:2500).
Tie-Pointsr locator Moravec strategy.
unsigned int m_raster1TargetAreaHeight
The raster 1 target area height (default:0 - The entire raster will be considered).
double m_pixelSizeXRelation
The pixel resolution relation m_pixelSizeXRelation = raster1_pixel_res_x / raster2_pixel_res_x (defau...
double m_geometryFilterAssurance
Geometry assurance (the error-free selection percent assurance) - Use Lower values for good tie-point...
bool m_enableGeometryFilter
Enable/disable the geometry filter/outliers remotion (default:true).
std::vector< unsigned int > m_inRaster1Bands
Bands to be used from the input raster 1.
URI C++ Library.
Definition: Attributes.h:37
TiePointsLocator Moravec strategy parameters.
double m_subSampleOptimizationMinTPAreaCoverage
Sub-sampled optimization - mininumum required tie-points covered area percent of each raster area - v...
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_tiePointsSubSectorsSplitFactor
The algorithm will try to generate tie-points distributed over image sectors ( Default: 3 - 3x3 sub-s...
te::rst::Raster const * m_inRaster1Ptr
Input raster 1.
double m_subSampleOptimizationMinTPNumberFactor
Sub-sampled optimization - mininumum required tie-points number factor - valid range [1...
Abstract parameters base interface.
unsigned int m_raster1TargetAreaWidth
The raster 1 target area width (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...
unsigned int m_raster1TargetAreaLineStart
The first line of the raster 1 target area to process (default:0 - The entire raster will be consider...
unsigned int m_raster2TargetAreaColStart
The first column of the raster 2 target area to process (default:0 - The entire raster will be consid...
unsigned int m_raster2TargetAreaHeight
The raster 2 target area height (default:0 - The entire raster will be considered).
bool m_enableMultiThread
Enable/Disable the use of multi-threads (default:true).
te::rst::Raster const * m_inMaskRaster1Ptr
Optional one band input mask raster 1 (tie-points will not be generated inside mask image areas marke...
te::rst::Raster const * m_inMaskRaster2Ptr
Optional one band input mask raster 2 (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...
std::string m_geomTransfName
The name of the geometric transformation used to ensure tie-points consistency (see each te::gm::GTFa...
const TiePointsLocatorInputParameters & operator=(const TiePointsLocatorInputParameters &params)
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_raster2TargetAreaWidth
The raster 2 target area width (default:0 - The entire raster will be considered).
TiePointsLocator input parameters.
virtual AbstractParameters * clone() const =0
Create a clone copy of this instance.
te::rst::Interpolator::Method m_interpMethod
The raster interpolator method (default:NearestNeighbor).