16 #ifndef __MILEDGEEXTR_H__
17 #define __MILEDGEEXTR_H__
36 #define M_CONTOUR 0x800L
37 #define M_CREST 0x801L
44 #define M_CHAIN_ALL_NEIGHBORS 3L
45 #define M_MAGNITUDE_TYPE 10L
47 #define M_SQR_NORM 4001L
48 #define M_FILTER 1046L
49 #define M_FILTER_WIDTH 109L
50 #define M_KERNEL_SIZE 301L
51 #define M_MAX_POWER_LOSS 0x1200L
52 #define M_FILTER_MODE 122L
53 #define M_FILTER_MAX_DEPTH 302L
54 #ifdef M_MIL_75_COMPATIBLE
55 #define M_KERNEL 0x00000200L
57 #define M_KERNEL 0x00400000L
59 #define M_RECURSIVE 0x00040000
61 #define M_EXPONENTIAL 2
62 #define M_GAUSSIAN 0x805L
63 #define M_SOBEL M_EDGE_DETECT
64 #define M_PREWITT M_EDGE_DETECT2
65 #define M_FREI_CHEN M_ID_OFFSET_OF_DEFAULT_KERNEL + 9L
66 #define M_DERICHE M_ID_OFFSET_OF_DEFAULT_KERNEL + 10L
67 #define M_FILTER_SMOOTHNESS 1047L
68 #define M_ACCURACY 106L
69 #define M_THRESHOLD_TYPE 3000L
70 #define M_THRESHOLD_MODE 33L
71 #define M_THRESHOLD_VALUE_LOW 3001L
72 #define M_THRESHOLD_VALUE_HIGH 3002L
73 #define M_THRESHOLD_LOW M_THRESHOLD_VALUE_LOW
74 #define M_THRESHOLD_HIGH M_THRESHOLD_VALUE_HIGH
75 #define M_DETAIL_LEVEL 111L
76 #define M_NO_HYSTERESIS 20L
77 #define M_FULL_HYSTERESIS 25L
78 #define M_HYSTERESIS 31L
79 #define M_SAVE_DERIVATIVES 11L
80 #define M_SAVE_ANGLE 12L
81 #define M_SAVE_MAGNITUDE 13L
82 #define M_SAVE_MASK 39L
83 #define M_SAVE_CHAIN_MAGNITUDE 59L
84 #define M_SAVE_CHAIN_ANGLE 60L
85 #define M_SAVE_IMAGE 61L
86 #define M_MASK_SIZE_X 0x0000001DL
87 #define M_MASK_SIZE_Y 0x0000001EL
88 #define M_FILL_GAP_DISTANCE 44L
89 #define M_FILL_GAP_ANGLE 45L
90 #define M_FILL_GAP_POLARITY 46L
91 #define M_FILL_GAP_CONTINUITY 38L
92 #define M_EXTRACTION_ANGLE 47L
93 #define M_EXTRACTION_TOLERANCE 48L
94 #define M_EXTRACTION_USE_POLARITY 49L
100 #define M_VERY_HIGH 4L
103 #define M_FLOAT_MODE 70L
104 #define M_ALLIGNEMENT_MODE 51L
105 #define M_TIMEOUT 2077L
108 #define M_BOX_X_MIN 6L
109 #define M_BOX_Y_MIN 7L
110 #define M_BOX_X_MAX 8L
111 #define M_BOX_Y_MAX 9L
112 #define M_X_MIN_AT_Y_MIN 21L
113 #define M_X_MAX_AT_Y_MAX 22L
114 #define M_Y_MIN_AT_X_MAX 23L
115 #define M_Y_MAX_AT_X_MIN 24L
116 #define M_CHAIN_APPROXIMATION 0x00010200L
117 #define M_CHAINS 0x105L
118 #define M_APPROXIMATION_TOLERANCE 26L
119 #define M_LINE 0x00000080L
120 #define M_ARC 0x00000081L
121 #define M_CENTER_OF_GRAVITY_X 34L
122 #define M_CENTER_OF_GRAVITY_Y 35L
123 #define M_POSITION 0x00000402L
124 #define M_POSITION_X 0x00003400L
125 #define M_POSITION_Y 0x00004400L
126 #define M_MOMENT_ELONGATION 50L
127 #define M_SIZE 0xC00L
128 #define M_FAST_LENGTH 52L
129 #define M_TORTUOSITY 76L
130 #define M_CLOSURE 77L
131 #define M_STRENGTH 55L
132 #define M_AVERAGE_STRENGTH 57L
134 #define M_CONTACT_POINTS 0x102L
135 #define M_CENTER_OF_GRAVITY 0x103L
136 #define M_LENGTH 0x00002000L
137 #define M_FERET_X 72L
140 #define M_FERET_BOX M_FERET
141 #define M_FERET_MIN_ANGLE 15L
142 #define M_FERET_MAX_ANGLE 17L
143 #define M_FERET_MIN_DIAMETER 14L
144 #define M_FERET_MAX_DIAMETER 16L
145 #define M_FERET_MEAN_DIAMETER 18L
146 #define M_FERET_ELONGATION 27L
147 #define M_NUMBER_OF_FERETS 63L
148 #define M_CONVEX_PERIMETER 20L
149 #define M_GENERAL_FERET 0x400L
151 #define M_GENERAL_FERET_ANGLE 62L
152 #define M_ALL_FEATURES 0x100L
153 #define M_FIRST_FERET_INDEX 640L
154 #define M_SECOND_FERET_INDEX 257L
155 #define M_FERET_INDEX (M_FIRST_FERET_INDEX|M_SECOND_FERET_INDEX)
156 #define M_NEAREST_EDGEL_X 37L
157 #define M_NEAREST_EDGEL_Y 264L
158 #define M_NEAREST_EDGEL (M_NEAREST_EDGEL_X|M_NEAREST_EDGEL_Y)
161 #define M_FOREGROUND_VALUE 4L
162 #define M_FOREGROUND_BLACK 0x100L
163 #define M_FOREGROUND_WHITE 0x80L
164 #define M_ANY 0x11000000L
165 #define M_SAVE_CHAIN_WIDTH 28L
166 #define M_TOPOLOGY 28L
167 #define M_AVERAGE_WIDTH 104L
170 #define M_SORT1_UP 0x02000000L
171 #define M_SORT1_DOWN 0x0A000000L
172 #define M_SORT2_UP 0x04000000L
173 #define M_SORT2_DOWN 0x0C000000L
174 #define M_SORT3_UP 0x06000000L
175 #define M_SORT3_DOWN 0x0E000000L
179 #define M_MIN 0x02000000L
180 #define M_MAX 0x04000000L
181 #define M_MEAN 0x08000000L
182 #define M_MIN_ABS 0x00200000L
183 #define M_MAX_ABS 0x00800000L
184 #define M_STANDARD_DEVIATION 0x10000000L
187 #define M_DRAW_RELATIVE_ORIGIN_X 319L
188 #define M_DRAW_RELATIVE_ORIGIN_Y 320L
189 #define M_DRAW_SCALE_X 3203L
190 #define M_DRAW_SCALE_Y 3204L
191 #define M_DRAW_CROSS_SIZE 115L
192 #define M_MODEL_FINDER_COMPATIBLE 19L
199 #define M_CONTEXT_TYPE 2L
200 #define M_FILTER_POWER 1048L
201 #define M_OVERSCAN 53L
202 #define M_OVERSCAN_REPLACE_VALUE 54L
203 #define M_MIRROR 0x01000061L
204 #define M_REPLACE 0x01000060L
210 #define M_INCLUDE_ONLY 0x101L
212 #define M_EXCLUDE_ONLY 0x102L
216 #define M_ALL_EDGES 0x00200000L
217 #define M_INCLUDED_EDGES 0x00400000L
218 #define M_EXCLUDED_EDGES 0x00800000L
220 #define M_IN_RANGE 1L
221 #define M_OUT_RANGE 2L
223 #define M_NOT_EQUAL 4L
226 #define M_GREATER_OR_EQUAL 7L
227 #define M_LESS_OR_EQUAL 8L
229 #define M_INSIDE_BOX 300L
230 #define M_INSIDE_CHAIN 301L
231 #define M_OUTSIDE_BOX 302L
232 #define M_OUTSIDE_CHAIN 303L
233 #define M_EQUAL_CHAIN 0x40
234 #define M_INSIDE_OR_EQUAL_BOX (M_INSIDE_BOX|M_EQUAL_CHAIN)
235 #define M_INSIDE_OR_EQUAL_CHAIN (M_INSIDE_CHAIN|M_EQUAL_CHAIN)
236 #define M_OUTSIDE_OR_EQUAL_BOX (M_OUTSIDE_BOX|M_EQUAL_CHAIN)
237 #define M_OUTSIDE_OR_EQUAL_CHAIN (M_OUTSIDE_CHAIN|M_EQUAL_CHAIN)
238 #define M_CROP_CHAIN 304L
239 #define M_NEAREST_NEIGHBOR 0x00000040L
240 #define M_ALL_NEAREST_NEIGHBORS 0x00000080L
245 #define M_LABEL_VALUE 1L
246 #define M_THRESHOLD_VALUES 3003L
247 #define M_THRESHOLDS M_THRESHOLD_VALUES
248 #define M_NUMBER_OF_CHAINS 0x769L
249 #define M_CHAIN_MAGNITUDE 36L
250 #define M_CHAIN_ANGLE 258L
251 #define M_IMAGE_ID M_BUF_ID
252 #define M_MASK_ID (M_BUF_ID | 0x80000L)
253 #define M_ANGLE_ID 0x20000000L
254 #define M_MAGNITUDE_ID 0x20000L
255 #define M_FIRST_DERIVATIVE_X_ID 0x10000L
256 #define M_FIRST_DERIVATIVE_Y_ID 0x8000L
257 #define M_SECOND_DERIVATIVE_X_ID 0x4000L
258 #define M_SECOND_DERIVATIVE_Y_ID 0x1000L
259 #define M_CROSS_DERIVATIVE_ID 0x800L
260 #define M_FIRST_DERIVATIVES_ID (M_FIRST_DERIVATIVE_X_ID | M_FIRST_DERIVATIVE_Y_ID)
261 #define M_SECOND_DERIVATIVES_ID (M_SECOND_DERIVATIVE_X_ID | M_SECOND_DERIVATIVE_Y_ID)
262 #define M_NUMBER_OF_CHAINED_PIXELS 56L
263 #define M_NUMBER_OF_CHAINED_EDGELS M_NUMBER_OF_CHAINED_PIXELS
264 #define M_CHAIN_CODE 58L
265 #define M_FIRST_POINT_X 75L
266 #define M_FIRST_POINT_Y 132L
267 #define M_FIRST_POINT (M_FIRST_POINT_X|M_FIRST_POINT_Y)
268 #define M_CHAIN_INDEX 67L
269 #define M_CHAIN_X 65L
270 #define M_CHAIN_Y 144L
271 #define M_CHAIN (M_CHAIN_X|M_CHAIN_Y)
272 #define M_VERTICES_CHAIN_INDEX 71L
273 #define M_VERTICES_INDEX 79L
274 #define M_VERTEX_X 68L
275 #define M_VERTEX_Y 40L
276 #define M_VERTEX (M_VERTEX_X|M_VERTEX_Y)
277 #define M_VERTICES_X M_VERTEX_X
278 #define M_VERTICES_Y M_VERTEX_Y
279 #define M_VERTICES M_VERTEX
280 #define M_NUMBER_OF_VERTICES 73L
281 #define M_NUMBER_OF_VERTEXES M_NUMBER_OF_VERTICES
282 #define M_NUMBER_OF_VERTEX M_NUMBER_OF_VERTICES
284 #define M_BULGES M_BULGE
290 #define M_NEAREST_NEIGHBOR_RADIUS 116L
291 #define M_NEIGHBOR_MINIMUM_SPACING 117L
292 #define M_NEIGHBOR_MAXIMUM_NUMBER 118L
293 #define M_NEIGHBOR_SEARCH_RADIUS_MAX 120L
294 #define M_NEIGHBOR_SEARCH_RADIUS_MIN 121L
295 #define M_NEIGHBOR_POLARITY 122L
296 #define M_NEIGHBOR_POLARITY_TOLERANCE 123L
297 #define M_NEIGHBOR_DIRECTION 124L
298 #define M_NEIGHBOR_DIRECTION_TOLERANCE 125L
299 #define M_NEIGHBOR_DIRECTION_SIGN 126L
300 #define M_GET_EDGELS 1L
301 #define M_GET_SUBEDGELS 2L
307 #define M_DRAW_LABEL 1L
308 #define M_DRAW_IMAGE 2L
309 #define M_DRAW_EDGES 4L
310 #define M_DRAW_EDGE M_DRAW_EDGES
311 #define M_DRAW_FERET_MAX 0x008L
312 #define M_DRAW_FERET_BOX 16L
313 #define M_DRAW_BOX 32L
314 #define M_DRAW_POSITION 64L
315 #define M_DRAW_CENTER_OF_GRAVITY 0x080L
316 #define M_DRAW_INDEX 0x100L
317 #define M_DRAW_MASK 0x200L
318 #define M_DRAW_VERTICES 0x400L
319 #define M_DRAW_VERTEXES M_DRAW_VERTICES
320 #define M_DRAW_VERTEX M_DRAW_VERTICES
321 #define M_DRAW_SEGMENTS 0x800L
322 #define M_DRAW_FERET_MIN 0x1000L
323 #define M_DRAW_FIRST_DERIVATIVE_X 0x2000L
324 #define M_DRAW_FIRST_DERIVATIVE_Y 0x4000L
325 #define M_DRAW_MAGNITUDE 0x8000L
326 #define M_DRAW_SECOND_DERIVATIVE_X 0x10000L
327 #define M_DRAW_SECOND_DERIVATIVE_Y 0x20000L
328 #define M_DRAW_ANGLE 0x40000L
329 #define M_DRAW_CROSS_DERIVATIVE 0x80000L
330 #define M_DRAW_GENERAL_FERET 0x100000L
331 #define M_DRAW_EDGELS 0x200000L
332 #define M_DRAW_ACTIVEMIL_INDEX 0x400000L
333 #define M_DRAW_VALUE 0x800000L
334 #define M_DRAW_NEAREST_EDGELS 0x1000000L
340 #define M_ENABLE -9997L
341 #define M_DISABLE -9999L
342 #define M_PACKED 0x00020000L
343 #define M_SUPPORTED 0x20000000L
344 #define M_AVAILABLE 0x40000000L
345 #define M_TYPE_LABEL 0x01000000L
346 #define M_TYPE_INDEX 0x02000000L
347 #define M_ALL 0x40000000L
348 #define M_DEFAULT 0x10000000L
349 #define M_TYPE_LONG 0x00040000L
350 #define M_TYPE_DOUBLE 0x00100000L
351 #define M_TYPE_MIL_ID 0x00400000L
352 #define M_NUMBER_OF_RESULTS 0x80000000L
355 #define M_NO_CHECK 0x80000000L
357 #define M_SAME_OR_REVERSE 5L
358 #define M_SAME_EDGE 67L
360 #define M_ANY 0x11000000L
361 #define M_SIZE_X 1002L
362 #define M_SIZE_Y 1003L
363 #define M_SIZE_BAND 1005L
366 #define M_SIZE_BIT 1007L
367 #define M_WORLD 0x2000L
368 #define M_FULL_ANGLE 78L
369 #define M_SIZE_BYTE 5061L
370 #ifndef M_MIL_75_COMPATIBLE
371 #define M_MEMORY (M_APP_INQUIRE_SYS_START+120L)
375 #define M_EDGE_CONTOUR (M_EDGE_OBJECT | 0x00000001L)
376 #define M_EDGE_CONTEXT (M_EDGE_OBJECT | 0x00000002L)
377 #define M_EDGE_RESULT (M_EDGE_OBJECT | 0x00000004L)
378 #define M_EDGE_RESULT_BUFFER M_EDGE_RESULT
379 #define M_INTERACTIVE M_NULL
408 double ControlValue);
433 void* FirstResultArrayPtr,
434 void* SecondResultArrayPtr);
486 double* SrcArrayAngle,
502 double* pArrayMagnitude,
long MIL_ID
Definition: AcqOdyssey.h:45
MFTYPE32 void MFTYPE MedgeGetResult(MIL_ID ResultId, long ResultIndex, long ResultType, void *FirstResultArrayPtr, void *SecondResultArrayPtr)
MFTYPE32 void MFTYPE MedgePut(MIL_ID ResultId, long NbEdgels, long *pArrayLabel, double *pArrayX, double *pArrayY, double *pArrayAngle, double *pArrayMagnitude, long ControlFlag)
MFTYPE32 void MFTYPE MedgeDraw(MIL_ID GraphContId, MIL_ID EdgeResultId, MIL_ID DestImageId, long Operation, long IndexOrLabel, long ControlFlag)
MFTYPE32 MIL_ID MFTYPE MedgeAllocResult(MIL_ID SystemId, long ControlFlag, MIL_ID *EdgeResultIdPtr)
MFTYPE32 void MFTYPE MedgeSave(MIL_TEXT_PTR FileName, MIL_ID ContextOrResultId, long ControlFlag)
MFTYPE32 void MFTYPE MedgeControl(MIL_ID ContextOrResultId, long ControlType, double ControlValue)
MFTYPE32 void MFTYPE MedgeCalculate(MIL_ID ContextId, MIL_ID SourceImageId, MIL_ID SourceDeriv1Id, MIL_ID SourceDeriv2Id, MIL_ID SourceDeriv3Id, MIL_ID EdgeResultId, long ControlFlag)
MFTYPE32 void MFTYPE MedgeFree(MIL_ID ObjectId)
MFTYPE32 MIL_ID MFTYPE MedgeAlloc(MIL_ID SystemId, long EdgeFinderType, long ControlFlag, MIL_ID *ContextIdPtr)
MFTYPE32 long MFTYPE MedgeInquire(MIL_ID ContextOrResultId, long InquireType, void *UserVarPtr)
MFTYPE32 void MFTYPE MedgeMask(MIL_ID ContextId, MIL_ID MaskImageId, long ControlFlag)
MFTYPE32 void MFTYPE MedgeGetNeighbors(MIL_ID ResultId, long SizeOfArray, double *SrcArrayX, double *SrcArrayY, double *SrcArrayAngle, double *DstArrayX, double *DstArrayY, long *Index, long *Label, long ControlFlag)
MFTYPE32 MIL_ID MFTYPE MedgeRestore(MIL_TEXT_PTR FileName, MIL_ID SystemId, long ControlFlag, MIL_ID *ContextIdPtr)
MFTYPE32 void MFTYPE MedgeSelect(MIL_ID EdgeResultId, long Operation, long Feature, long Condition, double Param1, double Param2)
char * MIL_TEXT_PTR
Definition: Milos.h:90