1 /*
2  * Copyright (C) 2011 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /* $Id: db_utilities_constants.h,v 1.2 2011/06/17 14:03:31 mbansal Exp $ */
18 
19 #ifndef DB_UTILITIES_CONSTANTS
20 #define DB_UTILITIES_CONSTANTS
21 
22 /*****************************************************************
23 *    Lean and mean begins here                                   *
24 *****************************************************************/
25 
26 /****************Constants********************/
27 #define DB_E             2.7182818284590452354
28 #define DB_LOG2E         1.4426950408889634074
29 #define DB_LOG10E        0.43429448190325182765
30 #define DB_LN2           0.69314718055994530942
31 #define DB_LN10          2.30258509299404568402
32 #define DB_PI            3.1415926535897932384626433832795
33 #define DB_PI_2          1.57079632679489661923
34 #define DB_PI_4          0.78539816339744830962
35 #define DB_1_PI          0.31830988618379067154
36 #define DB_2_PI          0.63661977236758134308
37 #define DB_SQRTPI        1.7724538509055160272981674833411
38 #define DB_SQRT_2PI      2.506628274631000502415765284811
39 #define DB_2_SQRTPI      1.12837916709551257390
40 #define DB_SQRT2         1.41421356237309504880
41 #define DB_SQRT3         1.7320508075688772935274463415059
42 #define DB_SQRT1_2       0.70710678118654752440
43 #define DB_EPS           2.220446049250313e-016 /* for 32 bit double */
44 
45 /****************Default Parameters********************/
46 /*Preemptive ransac parameters*/
47 #define DB_DEFAULT_NR_SAMPLES 500
48 #define DB_DEFAULT_CHUNK_SIZE 100
49 #define DB_DEFAULT_GROUP_SIZE 10
50 
51 /*Optimisation parameters*/
52 #define DB_DEFAULT_MAX_POINTS 1000
53 #define DB_DEFAULT_MAX_ITERATIONS 25
54 #define DB_DEFAULT_IMP_REQ 0.001
55 
56 /*Feature standard deviation parameters*/
57 #define DB_POINT_STANDARDDEV (1.0/(826.0)) /*1 pixel for CIF (fraction of (image width+image height)/2)*/
58 #define DB_OUTLIER_THRESHOLD 3.0 /*In number of DB_POINT_STANDARDDEV's*/
59 #define DB_WORST_CASE 50.0 /*In number of DB_POINT_STANDARDDEV's*/
60 
61 /*Front-end parameters*/
62 #define DB_DEFAULT_TARGET_NR_CORNERS 5000
63 #define DB_DEFAULT_NR_FEATURE_BLOCKS 10
64 #define DB_DEFAULT_ABS_CORNER_THRESHOLD 50000000.0
65 #define DB_DEFAULT_REL_CORNER_THRESHOLD 0.00005
66 #define DB_DEFAULT_MAX_DISPARITY 0.1
67 #define DB_DEFAULT_NO_DISPARITY (-1.0)
68 #define DB_DEFAULT_MAX_TRACK_LENGTH 300
69 
70 #define DB_DEFAULT_MAX_NR_CAMERAS 1000
71 
72 #define DB_DEFAULT_TRIPLE_STEP 2
73 #define DB_DEFAULT_DOUBLE_STEP 2
74 #define DB_DEFAULT_SINGLE_STEP 1
75 #define DB_DEFAULT_NR_SINGLES 10
76 #define DB_DEFAULT_NR_DOUBLES 1
77 #define DB_DEFAULT_NR_TRIPLES 1
78 
79 #define DB_DEFAULT_TRIFOCAL_FOUR_STEPS 40
80 
81 #define DB_DEFAULT_EPIPOLAR_ERROR 1 /*in pixels*/
82 
83 ////////////////////////// DOXYGEN /////////////////////
84 
85 /*!
86  * \def DB_DEFAULT_GROUP_SIZE
87  * \ingroup LMRobust
88  * \brief Default group size for db_PreemptiveRansac class.
89  * Group size is the number of observation costs multiplied together
90  * before a log of the product is added to the total cost.
91 */
92 
93 /*!
94  * \def DB_DEFAULT_TARGET_NR_CORNERS
95  * \ingroup FeatureDetection
96  * \brief Default target number of corners
97 */
98 /*!
99  * \def DB_DEFAULT_NR_FEATURE_BLOCKS
100  * \ingroup FeatureDetection
101  * \brief Default number of regions (horizontal or vertical) that are considered separately
102  * for feature detection. The greater the number, the more uniform the distribution of
103  * detected features.
104 */
105 /*!
106  * \def DB_DEFAULT_ABS_CORNER_THRESHOLD
107  * \ingroup FeatureDetection
108  * \brief Absolute feature strength threshold.
109 */
110 /*!
111  * \def DB_DEFAULT_REL_CORNER_THRESHOLD
112  * \ingroup FeatureDetection
113  * \brief Relative feature strength threshold.
114 */
115 /*!
116  * \def DB_DEFAULT_MAX_DISPARITY
117  * \ingroup FeatureMatching
118  * \brief Maximum disparity (as fraction of image size) allowed in feature matching
119 */
120  /*!
121  * \def DB_DEFAULT_NO_DISPARITY
122  * \ingroup FeatureMatching
123  * \brief Indicates that vertical disparity is the same as horizontal disparity.
124 */
125 ///////////////////////////////////////////////////////////////////////////////////
126  /*!
127  * \def DB_E
128  * \ingroup LMBasicUtilities
129  * \brief e
130 */
131  /*!
132  * \def DB_LOG2E
133  * \ingroup LMBasicUtilities
134  * \brief log2(e)
135 */
136  /*!
137  * \def DB_LOG10E
138  * \ingroup LMBasicUtilities
139  * \brief log10(e)
140 */
141  /*!
142  * \def DB_LOG10E
143  * \ingroup LMBasicUtilities
144  * \brief log10(e)
145 */
146 /*!
147  * \def DB_LN2
148  * \ingroup LMBasicUtilities
149  * \brief ln(2)
150 */
151 /*!
152  * \def DB_LN10
153  * \ingroup LMBasicUtilities
154  * \brief ln(10)
155 */
156 /*!
157  * \def DB_PI
158  * \ingroup LMBasicUtilities
159  * \brief Pi
160 */
161 /*!
162  * \def DB_PI_2
163  * \ingroup LMBasicUtilities
164  * \brief Pi/2
165 */
166 /*!
167  * \def DB_PI_4
168  * \ingroup LMBasicUtilities
169  * \brief Pi/4
170 */
171 /*!
172  * \def DB_1_PI
173  * \ingroup LMBasicUtilities
174  * \brief 1/Pi
175 */
176 /*!
177  * \def DB_2_PI
178  * \ingroup LMBasicUtilities
179  * \brief 2/Pi
180 */
181 /*!
182  * \def DB_SQRTPI
183  * \ingroup LMBasicUtilities
184  * \brief sqrt(Pi)
185 */
186 /*!
187  * \def DB_SQRT_2PI
188  * \ingroup LMBasicUtilities
189  * \brief sqrt(2*Pi)
190 */
191 /*!
192  * \def DB_SQRT2
193  * \ingroup LMBasicUtilities
194  * \brief sqrt(2)
195 */
196 /*!
197  * \def DB_SQRT3
198  * \ingroup LMBasicUtilities
199  * \brief sqrt(3)
200 */
201 /*!
202  * \def DB_SQRT1_2
203  * \ingroup LMBasicUtilities
204  * \brief sqrt(1/2)
205 */
206 #endif /* DB_UTILITIES_CONSTANTS */
207 
208 
209