00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef PCL_NORMS_H_
00037 #define PCL_NORMS_H_
00038
00046 namespace pcl
00047 {
00052 enum NormType {L1, L2_SQR, L2, LINF, JM, B, SUBLINEAR, CS, DIV, PF, K, KL, HIK};
00053
00058 template <typename FloatVectorT> inline float
00059 selectNorm (FloatVectorT A, FloatVectorT B, int dim, NormType norm_type);
00060
00068 template <typename FloatVectorT> inline float
00069 L1_Norm (FloatVectorT A, FloatVectorT B, int dim);
00070
00078 template <typename FloatVectorT> inline float
00079 L2_Norm_SQR (FloatVectorT A, FloatVectorT B, int dim);
00080
00088 template <typename FloatVectorT> inline float
00089 L2_Norm (FloatVectorT A, FloatVectorT B, int dim);
00090
00098 template <typename FloatVectorT> inline float
00099 Linf_Norm (FloatVectorT A, FloatVectorT B, int dim);
00100
00108 template <typename FloatVectorT> inline float
00109 JM_Norm (FloatVectorT A, FloatVectorT B, int dim);
00110
00118 template <typename FloatVectorT> inline float
00119 B_Norm (FloatVectorT A, FloatVectorT B, int dim);
00120
00128 template <typename FloatVectorT> inline float
00129 Sublinear_Norm (FloatVectorT A, FloatVectorT B, int dim);
00130
00138 template <typename FloatVectorT> inline float
00139 CS_Norm (FloatVectorT A, FloatVectorT B, int dim);
00140
00148 template <typename FloatVectorT> inline float
00149 Div_Norm (FloatVectorT A, FloatVectorT B, int dim);
00150
00160 template <typename FloatVectorT> inline float
00161 PF_Norm (FloatVectorT A, FloatVectorT B, int dim, float P1, float P2);
00162
00172 template <typename FloatVectorT> inline float
00173 K_Norm (FloatVectorT A, FloatVectorT B, int dim, float P1, float P2);
00174
00182 template <typename FloatVectorT> inline float
00183 KL_Norm (FloatVectorT A, FloatVectorT B, int dim);
00184
00192 template <typename FloatVectorT> inline float
00193 HIK_Norm (FloatVectorT A, FloatVectorT B, int dim);
00194 }
00196 #include <pcl/common/impl/norms.hpp>
00197
00198 #endif //#ifndef PCL_NORMS_H_