ICell.hpp
1 #pragma once
2 
3 #include <opals/IModuleBase.hpp>
4 #include <DM/StatFeature.hpp>
5 #include <opals/GridLimit.hpp>
6 #include <opals/String.hpp>
7 #include <opals/Path.hpp>
8 #include <opals/Vector.hpp>
9 
10 #if defined(_MSC_VER) && !defined(OPALS_NO_AUTOLINK)
11  #if defined _DEBUG && !defined OPALS_NO_DEBUG
12  #pragma comment(lib, "opalsCell_d.lib")
13  #else
14  #pragma comment(lib, "opalsCell.lib")
15  #endif
16 #endif
17 
18 namespace opals {
19 
20  namespace opts
21  {
22  /// Options of \ref ModuleCell
23  namespace Cell
24  {
25  /// Options of \ref ModuleCell
26  using Options =
27  IGroup< Names::_, false,
38  >;
39  }
40  }
41 
42  /// Calculates statistical features of user defined attributes and stores them as raster models or rasterized point clouds.
43  /** Module cell accumulates a certain data attribute within a raster cell derives statistical
44  features like min, mean, median, max, variance, quantiles, etc. The accumulated features are
45  either stored as raster models or as rasterized point clouds. For selective features, referring to
46  a single point within a raster cell (e.g. minimum height), the respective point including all point
47  available point attributes are stored rather then the center point of the cell. In all other cases
48  the cell center serves as representative point of a raster cell. */
49  /// \see \ref ModuleCell
50  class OPALS_API ICell : virtual public IModuleBase
51  {
52 
53  public:
54  static ICell* New();
55  static ICell* New( IControlObject &controlObject );
56  static ICell* New( const IModuleBase &parent );
57  static ICell* New( const IModuleBase &parent, IControlObject &controlObject );
58 
59  virtual ~ICell() {}
60 
61  /// \name Access to module-specific options.
62  ///@{
64  virtual Options& opts() = 0;
65  virtual const Options& opts() const = 0;
66  ///@}
67 
68  };
69 
70 };
Leaf that holds a read-only value.
Definition: IOption.hpp:63
Contains the public interface of OPALS.
Definition: ApplyTrafo.hpp:5
Abstract base class of all opals modules.
Definition: IModuleBase.hpp:13
Interface for retrieving status and progress information from a module run.
Definition: c++_api/inc/opals/IControlObject.hpp:30
Calculates statistical features of user defined attributes and stores them as raster models or raster...
Definition: ICell.hpp:50
A group of options.
Definition: IOption.hpp:108
IGroup< Names::_, false, ILeaf< Names::inFile, false, Vector< Path > >, ILeaf< Names::outFile, false, Vector< Path > >, ILeaf< Names::oFormat, false, String >, ILeaf< Names::cellSize, false, Vector< double > >, ILeaf< Names::attribute, false, String >, ILeaf< Names::feature, false, Vector< DM::StatFeature > >, ILeaf< Names::limit, false, GridLimit >, ILeaf< Names::filter, false, String >, ILeaf< Names::noData, false, float >, ILeaf< Names::multiBand, false, bool > > Options
Options of Module Cell.
Definition: ICell.hpp:38