SourceXtractorPlusPlus  0.15
Please provide a description of the project.
ExpSigmoidConverter.h
Go to the documentation of this file.
1 
24 #ifndef EXP_SIGMOID_CONVERTER_H_
25 #define EXP_SIGMOID_CONVERTER_H_
26 
29 
30 namespace ModelFitting {
31 
39 
40 public:
41 
42  ExpSigmoidConverter(const double min_value, const double max_value, const double scale_factor=1.0) :
43  m_min_value(min_value), m_max_value(max_value), m_scale_factor(scale_factor) {
44  if (m_min_value > m_max_value) {
45  throw Elements::Exception()
46  << "ExpSigmoidConverter: min_value larger than max_value!";
47  }
48  if (m_min_value <= 0.0) {
49  throw Elements::Exception() << "ExpSigmoidConverter: min_value is not a positive value!";
50  }
51  }
52 
64  double worldToEngine(const double world_value) const override;
65 
75  double engineToWorld(const double engine_value) const override;
76 
77  double getEngineToWorldDerivative(const double value) const override;
78 
83 
84 private:
85 
87  const double m_min_value;
88 
90  const double m_max_value;
91 
92  const double m_scale_factor;
93 };
94 
95 } // namespace ModelFitting
96 
97 #endif /* EXP_SIGMOID_CONVERTER_H_ */
The coordinate converter interface.
CoordinateConverter implementation using the Exponantiated Sigmoid function.
double engineToWorld(const double engine_value) const override
Engine to world coordinate converter.
ExpSigmoidConverter(const double min_value, const double max_value, const double scale_factor=1.0)
const double m_max_value
maximum model value in world coordinates
virtual ~ExpSigmoidConverter()
Destructor.
const double m_min_value
minimum model value in world coordinates
double getEngineToWorldDerivative(const double value) const override
double worldToEngine(const double world_value) const override
World to engine coordinate converter.