Loading [MathJax]/extensions/tex2jax.js
IFillGaps.hpp
1 #pragma once
2 
3 #include <opals/IModuleBase.hpp>
4 #include <opals/Path.hpp>
5 #include <opals/Vector.hpp>
6 #include <opals/GridLimit.hpp>
7 #include <opals/FillMethod.hpp>
8 #include <opals/GapInfo.hpp>
9 #include <DM/StatFeature.hpp>
10 #include <opals/NoDataType.hpp>
11 
12 #if defined(_MSC_VER) && !defined(OPALS_NO_AUTOLINK)
13  #if defined _DEBUG && !defined OPALS_NO_DEBUG
14  #pragma comment(lib, "opalsFillGaps_d.lib")
15  #else
16  #pragma comment(lib, "opalsFillGaps.lib")
17  #endif
18 #endif
19 
20 namespace opals {
21 
22  namespace opts
23  {
24  /// Options of \ref ModuleFillGaps
25  namespace FillGaps
26  {
27  /// Options of \ref ModuleFillGaps
28  using Options =
29  IGroup< Names::_,
39  >,
45  >;
46  }
47  }
48 
49  /// Detects gaps (i.e. void pixels) in raster models and provides several interpolation methods to close them.
50  /** The generation of Digital Terrain Models (DTM) usually leads to void pixels where buildings and vegetation were removed. Module FillGaps aims to close these gaps with qualified approximation of void pixel using the neighbouring pixel of a gap. */
51  /// \see \ref ModuleFillGaps
52  class OPALS_API IFillGaps : virtual public IModuleBase
53  {
54 
55  public:
56  static IFillGaps* New();
57  static IFillGaps* New( IControlObject &controlObject );
58  static IFillGaps* New( const IModuleBase &parent );
59  static IFillGaps* New( const IModuleBase &parent, IControlObject &controlObject );
60 
61  virtual ~IFillGaps() {}
62 
63  /// \name Access to module-specific options.
64  ///@{
66  Options& opts() override = 0;
67  const Options& opts() const override = 0;
68  ///@}
69 
70  };
71 
72 };
IGroup< Names::_, IValue< Names::inFile, false, Path >, IValue< Names::outFile, false, Path >, IValue< Names::oFormat, false, String >, IValue< Names::method, false, FillMethod >, IValue< Names::feature, false, DM::StatFeature >, IGroup< Names::adaptive, IValue< Names::weightFunc, false, String >, IValue< Names::maxPixelRigorous, false, double >, IValue< Names::gridSize, false, unsigned > >, IValue< Names::boundaryRatio, false, float >, IValue< Names::fillMask, false, Path >, IValue< Names::maxArea, false, double >, IValue< Names::gapInfo, false, Vector< GapInfo > >, IValue< Names::noData, false, NoDataType > > Options
Options of Module FillGaps.
Definition: IFillGaps.hpp:45
A leaf that holds a value.
Definition: IOption.hpp:62
Contains the public interface of OPALS.
Definition: AbsValueOrQuantile.hpp:8
Abstract base class of all opals modules.
Definition: IModuleBase.hpp:13
@ adaptive
group name for opalsFillGaps fill method 'adaptive'
Interface for retrieving status and progress information from a module run.
Definition: c++_api/inc/opals/IControlObject.hpp:30
A group of options.
Definition: IOption.hpp:136
Detects gaps (i.e. void pixels) in raster models and provides several interpolation methods to close ...
Definition: IFillGaps.hpp:52