_StatFeature.hpp
1 #pragma once
2 
3 #include "opals/config.hpp"
4 
5 namespace opals {
6 
7  class OPALS_API StatFeature
8  {
9  public:
10  /// Enumeration defining different cell feature types (used by opalsCell)
11  /** Used for indexing. Hence unscoped, with implicit conversion to int. */
12  struct Type
13  {
14  enum Enum
15  {
16  unknown = -1,
17  min = 0, ///< lowest
18  max, ///< highest
19  range, ///< difference between highest and lowest
20  nmin, ///< n lowest
21  nmax, ///< n highest
22  mean, ///< mean
23  median, ///< median
24  sum, ///< sum
25  stdDev, ///< standard deviation \f$\sqrt{\sum_{i=1}^{N}(r_i - \bar{r})^2 / (N-1) }\f$
26  variance, ///< (sample) variance \f$\sum_{i=1}^{N}(r_i - \bar{r})^2 / (N-1)\f$
27  rms, ///< root mean square \f$\sqrt{\sum_{i=1}^{N} r_i^2 / N}\f$
28  stdDevMAD, ///< robust standard deviation estimator computed from the median of absolute deviations from the median \f$1.4826 \cdot median_i(\left|r_i - median_j(r_j)\right|)\f$.
29  ///< In literature this robust estimator is often referred to as normalized MAD (NMAD)
30  minority, ///< the class with the lowest relative frequency (histogram based)
31  majority, ///< the class with the highest relative frequency (histogram based)
32  pdens, ///< point density
33  pcount, ///< point count
34  quantile, ///< p-quantile (p=0..1)
35  shannonEntropy, ///< shannon entropy, measure of information content
36  quadraticEntropy, ///< quadratic entropy, measure of information content
37  center, ///< select closest to cell center
38  rank, ///< quantile rank [0..100]
39  posOpenness, ///< positive openness
40  negOpenness, ///< negative openness
41  pdist, ///< average linear point distance (see DM::ILinearDistance2D for details)
42  null, ///< respresenting void feature
43  Count ///< number of available StatFeatures
44  };
45  };
46 
47  StatFeature();
48  StatFeature(Type::Enum type);
49  StatFeature(Type::Enum type, unsigned n); ///< only for nmin and nmax
50  StatFeature(Type::Enum type, double value); ///< only for quantile, minority and majority
51  virtual ~StatFeature();
52 
53  private:
54  Type::Enum e_featureType;
55  unsigned u_n; ///< value for n in case of "n lowest" or "n highest" (only relevant if e_featureType is Type::nmin or Type::nmax)
56  double d_p; ///< p-value for quantile estimation (Type::quantile)
57  double d_binWidth; ///< bin width for the minority and majority feature (default value 1)
58 
59  public:
60  Type::Enum e_getFeatureType() const;
61  unsigned u_getN() const;
62  double d_getP() const;
63  double d_getBinWidth() const;
64  void v_setFeatureType(const Type::Enum&Ire_featureType);
65  void v_setN(const unsigned &Iru_n);
66  void v_setP(const double &Ird_p);
67  void v_setBinWidth(const double &Ird_binWidth);
68 
69  ///returns minimum number of elements needed to be computable
70  unsigned u_minNumberOfElement() const;
71  };
72 
73 }
Definition: _StatFeature.hpp:7
list attrs
Definition: _overlap.py:77
temp
Definition: _bounds.py:86
thrown if a strip name was provided that is unknown
Definition: c++_api/inc/opals/Exception.hpp:281
gearman
Definition: _import.py:99
gearman
Definition: _export.py:94
@ median
median
Definition: _StatFeature.hpp:23
fileLogLevel
Definition: _overlap.py:98
@ pdist
average linear point distance (see DM::ILinearDistance2D for details)
Definition: _StatFeature.hpp:41
cfg
Definition: _overlap.py:88
temp
Definition: _grid.py:98
thrown if the provided filename doesn't exist.
Definition: c++_api/inc/opals/Exception.hpp:238
cfg
Definition: _bounds.py:88
screenLogLevel
Definition: _bounds.py:96
a
Definition: _linReg.py:77
copySource
Definition: _setCRS.py:50
stats
Definition: _linReg.py:19
title
Definition: _linReg.py:20
class for packages.python._export
Definition: _export.py:76
@ range
difference between highest and lowest
Definition: _StatFeature.hpp:19
cfg
Definition: _import.py:93
cfg
Definition: _export.py:88
@ nmax
n highest
Definition: _StatFeature.hpp:21
infile
Definition: _grid.py:94
axistitle
Definition: _linReg.py:21
@ rms
root mean square
Definition: _StatFeature.hpp:27
@ variance
(sample) variance
Definition: _StatFeature.hpp:26
def getImgListAndCamPars()
This function parses the Pix4D calibrated_camera_parameters.txt file containing the list of all image...
Definition: _pix4dUtils.py:283
def initPix4dUtils(p4DPjFile, imgDir, tsFile)
Initialization function setting globla variables Pix4D project file, image file path and time stamp f...
Definition: _pix4dUtils.py:40
skipIfExists
Definition: _grid.py:104
plt
Definition: _linReg.py:22
gearman
Definition: _bounds.py:94
@ negOpenness
negative openness
Definition: _StatFeature.hpp:40
@ rank
quantile rank [0..100]
Definition: _StatFeature.hpp:38
class for packages.python._grid
Definition: _grid.py:84
@ stdDev
standard deviation
Definition: _StatFeature.hpp:25
wkt
Definition: _setCRS.py:48
Enum
Definition: _StatFeature.hpp:14
mask
Definition: _grid.py:90
@ pdens
point density
Definition: _StatFeature.hpp:32
outfile
Definition: _import.py:89
class for packages.python._import
Definition: _import.py:81
list readonly_attrs
Definition: _setCRS.py:40
outfile
Definition: _export.py:84
Definition: _linReg.py:14
projectDir
Definition: _export.py:90
projectDir
Definition: _import.py:95
@ center
select closest to cell center
Definition: _StatFeature.hpp:37
@ shannonEntropy
shannon entropy, measure of information content
Definition: _StatFeature.hpp:35
Enumeration defining different cell feature types (used by opalsCell)
Definition: _StatFeature.hpp:12
class for packages.python._setCRS
Definition: _setCRS.py:38
def getStripIndexForImages(imgEosAndTimeStamps, stripIdAndTimeRange, imgCamIDs)
This function takes a dictionary containing the eos and time stamps for each image,...
Definition: _pix4dUtils.py:335
list attrs
Definition: _bounds.py:77
gridMask
Definition: _grid.py:92
screenLogLevel
Definition: _export.py:96
Contains the public interface of OPALS.
Definition: AbsValueOrQuantile.hpp:8
screenLogLevel
Definition: _import.py:101
skipIfExists
Definition: _import.py:97
inFile
Definition: _setCRS.py:44
skipIfExists
Definition: _export.py:92
gearman
Definition: _grid.py:106
@ max
highest
Definition: _StatFeature.hpp:18
projectDir
Definition: _bounds.py:90
@ sum
sum
Definition: _StatFeature.hpp:24
class for packages.python._bounds
Definition: _bounds.py:76
fileLogLevel
Definition: _grid.py:110
class for packages.python._overlap
Definition: _overlap.py:76
list readonly_attrs
Definition: _grid.py:86
cfg
Definition: _grid.py:100
@ minority
the class with the lowest relative frequency (histogram based)
Definition: _StatFeature.hpp:30
projectDir
Definition: _overlap.py:90
fileLogLevel
Definition: _bounds.py:98
lim
Definition: _linReg.py:18
skipIfExists
Definition: _overlap.py:92
forcezero
Definition: _linReg.py:76
list readonly_attrs
Definition: _overlap.py:78
skipIfExists
Definition: _bounds.py:92
@ majority
the class with the highest relative frequency (histogram based)
Definition: _StatFeature.hpp:31
@ nmin
n lowest
Definition: _StatFeature.hpp:20
epsgCode
Definition: _setCRS.py:46
list readonly_attrs
Definition: _import.py:83
Y
Definition: _linReg.py:17
list readonly_attrs
Definition: _export.py:78
temp
Definition: _export.py:86
temp
Definition: _import.py:91
Definition: _linReg.py:73
X
Definition: _linReg.py:16
b
Definition: _linReg.py:75
screenLogLevel
Definition: _grid.py:108
reset
Definition: _setCRS.py:52
def getProjectNameAndParsDir()
Definition: _pix4dUtils.py:88
outfile
Definition: _bounds.py:84
temp
Definition: _overlap.py:86
def convert3dTiePoints(tpFile, tpIds)
Definition: _pix4dUtils.py:366
@ pcount
point count
Definition: _StatFeature.hpp:33
screenLogLevel
Definition: _overlap.py:96
odmfiles
Definition: _import.py:107
a general parameter error (usually comes from boost::program_options)
Definition: c++_api/inc/opals/Exception.hpp:206
@ quantile
p-quantile (p=0..1)
Definition: _StatFeature.hpp:34
@ mean
mean
Definition: _StatFeature.hpp:22
infile
Definition: _import.py:87
infile
Definition: _export.py:82
list attrs
Definition: _import.py:82
@ quadraticEntropy
quadratic entropy, measure of information content
Definition: _StatFeature.hpp:36
outfile
Definition: _grid.py:96
list attrs
Definition: _export.py:77
gearman
Definition: _overlap.py:94
outfile
Definition: _overlap.py:84
list readonly_attrs
Definition: _bounds.py:78
def convertTiePointsObs()
Definition: _pix4dUtils.py:113
def convertImageEORs()
Definition: _pix4dUtils.py:170
projectDir
Definition: _grid.py:102
infile
Definition: _overlap.py:82
def readCalibCamParsEntry(file)
Read a single image file entry in calibrated camera parameters file.
Definition: _pix4dUtils.py:248
fileLogLevel
Definition: _export.py:98
fileLogLevel
Definition: _import.py:103
list attrs
Definition: _grid.py:85
@ posOpenness
positive openness
Definition: _StatFeature.hpp:39
infile
Definition: _bounds.py:82
list attrs
Definition: _setCRS.py:39