29 #ifndef CDPL_SHAPE_FASTGAUSSIANSHAPEOVERLAPFUNCTION_HPP
30 #define CDPL_SHAPE_FASTGAUSSIANSHAPEOVERLAPFUNCTION_HPP
44 class GaussianProductList;
50 static constexpr
double DEF_RADIUS_SCALING_FACTOR = 1.4;
52 typedef std::shared_ptr<FastGaussianShapeOverlapFunction>
SharedPointer;
104 bool checkShapeFuncsNotNull()
const;
106 double calcOverlap(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
108 double calcOverlapExact(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
110 double calcOverlapFastExp(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
112 double calcOverlapProxCheck(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
114 double calcOverlapFastExpProxCheck(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
117 double calcOverlap(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
119 double calcOverlapExact(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
121 double calcOverlapFastExp(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
123 double calcOverlapProxCheck(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
125 double calcOverlapFastExpProxCheck(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
128 double calcOverlapGradient(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
130 double calcOverlapGradientExact(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
132 double calcOverlapGradientFastExp(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
134 double calcOverlapGradientProxCheck(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
136 double calcOverlapGradientFastExpProxCheck(
const GaussianProductList* ref_prod_list,
const GaussianProductList* ovl_prod_list,
142 ColorFilterFunction colorFilterFunc;
145 double radScalingFact;
150 #endif // CDPL_SHAPE_FASTGAUSSIANSHAPEOVERLAPFUNCTION_HPP