Mamba C API reference

Version 2.0

MB_Api.h
Go to the documentation of this file.
1 
2 /*
3  * Copyright (c) <2014>, <Nicolas BEUCHER and ARMINES for the Centre de
4  * Morphologie Mathématique(CMM), common research center to ARMINES and MINES
5  * Paristech>
6  *
7  * Permission is hereby granted, free of charge, to any person
8  * obtaining a copy of this software and associated documentation files
9  * (the "Software"), to deal in the Software without restriction, including
10  * without limitation the rights to use, copy, modify, merge, publish,
11  * distribute, sublicense, and/or sell copies of the Software, and to permit
12  * persons to whom the Software is furnished to do so, subject to the following
13  * conditions: The above copyright notice and this permission notice shall be
14  * included in all copies or substantial portions of the Software.
15  *
16  * Except as contained in this notice, the names of the above copyright
17  * holders shall not be used in advertising or otherwise to promote the sale,
18  * use or other dealings in this Software without their prior written
19  * authorization.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
27  * THE SOFTWARE.
28  */
29 
30 #ifndef __MB_Api_H
31 #define __MB_Api_H
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
44 extern MB_API_ENTRY MB_errcode MB_API_CALL
45 MB_And(MB_Image *src1, MB_Image *src2, MB_Image *dest);
54 extern MB_API_ENTRY MB_errcode MB_API_CALL
55 MB_Or(MB_Image *src1, MB_Image *src2, MB_Image *dest);
64 extern MB_API_ENTRY MB_errcode MB_API_CALL
65 MB_Xor(MB_Image *src1, MB_Image *src2, MB_Image *dest);
72 extern MB_API_ENTRY MB_errcode MB_API_CALL
73 MB_Inv(MB_Image *src, MB_Image *dest);
82 extern MB_API_ENTRY MB_errcode MB_API_CALL
83 MB_Inf(MB_Image *src1, MB_Image *src2, MB_Image *dest);
92 extern MB_API_ENTRY MB_errcode MB_API_CALL
93 MB_Sup(MB_Image *src1, MB_Image *src2, MB_Image *dest);
103 extern MB_API_ENTRY MB_errcode MB_API_CALL
104 MB_SupMask(MB_Image *src1, MB_Image *src2, MB_Image *dest, Uint32 strict);
125 extern MB_API_ENTRY MB_errcode MB_API_CALL
126 MB_Add(MB_Image *src1, MB_Image *src2, MB_Image *dest);
146 extern MB_API_ENTRY MB_errcode MB_API_CALL
147 MB_Sub(MB_Image *src1, MB_Image *src2, MB_Image *dest);
168 extern MB_API_ENTRY MB_errcode MB_API_CALL
169 MB_Mul(MB_Image *src1, MB_Image *src2, MB_Image *dest);
186 extern MB_API_ENTRY MB_errcode MB_API_CALL
187 MB_Div(MB_Image *src1, MB_Image *src2, MB_Image *dest);
198 extern MB_API_ENTRY MB_errcode MB_API_CALL
199 MB_Diff(MB_Image *src1, MB_Image *src2, MB_Image *dest);
207 extern MB_API_ENTRY MB_errcode MB_API_CALL
208 MB_ConAdd(MB_Image *src, Sint64 value, MB_Image *dest);
216 extern MB_API_ENTRY MB_errcode MB_API_CALL
217 MB_ConSub(MB_Image *src, Sint64 value, MB_Image *dest);
225 extern MB_API_ENTRY MB_errcode MB_API_CALL
226 MB_ConMul(MB_Image *src, Uint32 value, MB_Image *dest);
234 extern MB_API_ENTRY MB_errcode MB_API_CALL
235 MB_ConDiv(MB_Image *src, Uint32 value, MB_Image *dest);
242 extern MB_API_ENTRY MB_errcode MB_API_CALL
243 MB_ConSet(MB_Image *dest, Uint32 value);
252 extern MB_API_ENTRY MB_errcode MB_API_CALL
253 MB_Volume(MB_Image *src, Uint64 *pVolume);
260 extern MB_API_ENTRY MB_errcode MB_API_CALL
261 MB_Check(MB_Image *src, Uint32 *isEmpty);
270 extern MB_API_ENTRY MB_errcode MB_API_CALL
271 MB_Lookup(MB_Image *src, MB_Image *dest, Uint32 *ptab);
279 extern MB_API_ENTRY MB_errcode MB_API_CALL
280 MB_Histo(MB_Image *src, Uint32 *phisto);
290 extern MB_API_ENTRY MB_errcode MB_API_CALL
291 MB_Compare(MB_Image *src, MB_Image *cmp, MB_Image *dest, Sint32 *px, Sint32 *py);
302 extern MB_API_ENTRY MB_errcode MB_API_CALL
303 MB_Thresh(MB_Image *src, MB_Image *dest, Uint32 low, Uint32 high);
313 extern MB_API_ENTRY MB_errcode MB_API_CALL
314 MB_Mask(MB_Image *src, MB_Image *dest, Uint32 maskf, Uint32 maskt);
323 extern MB_API_ENTRY MB_errcode MB_API_CALL
324 MB_Range(MB_Image *src, Uint32 *min, Uint32 *max);
333 extern MB_API_ENTRY MB_errcode MB_API_CALL
334 MB_depthRange(MB_Image *src, Uint32 *min, Uint32 *max);
343 extern MB_API_ENTRY MB_errcode MB_API_CALL
344 MB_CopyBitPlane(MB_Image *src, MB_Image *dest, Uint32 plane);
353 extern MB_API_ENTRY MB_errcode MB_API_CALL
354 MB_CopyBytePlane(MB_Image *src, MB_Image *dest, Uint32 plane);
366 extern MB_API_ENTRY MB_errcode MB_API_CALL
367 MB_Label(MB_Image *src, MB_Image *dest, Uint32 lblow, Uint32 lbhigh, Uint32 *pNbobj, enum MB_grid_t grid);
380 extern MB_API_ENTRY MB_errcode MB_API_CALL
381 MB_Distanceb(MB_Image *src, MB_Image *dest, enum MB_grid_t grid, enum MB_edgemode_t edge);
393 extern MB_API_ENTRY MB_errcode MB_API_CALL
394 MB_Frame(MB_Image *src, Uint32 thresval, Uint32 *ulx, Uint32 *uly, Uint32 *brx, Uint32 *bry);
395 
396 #ifdef __cplusplus
397 }
398 #endif
399 
400 #endif /* __MB_Api_H */
401 
MB_API_ENTRY MB_errcode MB_API_CALL MB_CopyBitPlane(MB_Image *src, MB_Image *dest, Uint32 plane)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Histo(MB_Image *src, Uint32 *phisto)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Distanceb(MB_Image *src, MB_Image *dest, enum MB_grid_t grid, enum MB_edgemode_t edge)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Div(MB_Image *src1, MB_Image *src2, MB_Image *dest)
MB_API_ENTRY MB_errcode MB_API_CALL MB_SupMask(MB_Image *src1, MB_Image *src2, MB_Image *dest, Uint32 strict)
MB_API_ENTRY MB_errcode MB_API_CALL MB_CopyBytePlane(MB_Image *src, MB_Image *dest, Uint32 plane)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Or(MB_Image *src1, MB_Image *src2, MB_Image *dest)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Volume(MB_Image *src, Uint64 *pVolume)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Inf(MB_Image *src1, MB_Image *src2, MB_Image *dest)
uint64_t Uint64
Definition: MB_Common.h:95
MB_API_ENTRY MB_errcode MB_API_CALL MB_depthRange(MB_Image *src, Uint32 *min, Uint32 *max)
uint32_t Uint32
Definition: MB_Common.h:93
MB_API_ENTRY MB_errcode MB_API_CALL MB_Mul(MB_Image *src1, MB_Image *src2, MB_Image *dest)
MB_API_ENTRY MB_errcode MB_API_CALL MB_ConSub(MB_Image *src, Sint64 value, MB_Image *dest)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Diff(MB_Image *src1, MB_Image *src2, MB_Image *dest)
MB_API_ENTRY MB_errcode MB_API_CALL MB_And(MB_Image *src1, MB_Image *src2, MB_Image *dest)
MB_API_ENTRY MB_errcode MB_API_CALL MB_ConAdd(MB_Image *src, Sint64 value, MB_Image *dest)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Inv(MB_Image *src, MB_Image *dest)
MB_API_ENTRY MB_errcode MB_API_CALL MB_ConMul(MB_Image *src, Uint32 value, MB_Image *dest)
MB_API_ENTRY MB_errcode MB_API_CALL MB_ConSet(MB_Image *dest, Uint32 value)
int32_t Sint32
Definition: MB_Common.h:101
MB_API_ENTRY MB_errcode MB_API_CALL MB_Mask(MB_Image *src, MB_Image *dest, Uint32 maskf, Uint32 maskt)
Definition: MB_Common.h:116
MB_edgemode_t
Definition: MB_Common.h:146
MB_API_ENTRY MB_errcode MB_API_CALL MB_Lookup(MB_Image *src, MB_Image *dest, Uint32 *ptab)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Thresh(MB_Image *src, MB_Image *dest, Uint32 low, Uint32 high)
MB_API_ENTRY MB_errcode MB_API_CALL MB_ConDiv(MB_Image *src, Uint32 value, MB_Image *dest)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Xor(MB_Image *src1, MB_Image *src2, MB_Image *dest)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Sup(MB_Image *src1, MB_Image *src2, MB_Image *dest)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Label(MB_Image *src, MB_Image *dest, Uint32 lblow, Uint32 lbhigh, Uint32 *pNbobj, enum MB_grid_t grid)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Check(MB_Image *src, Uint32 *isEmpty)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Add(MB_Image *src1, MB_Image *src2, MB_Image *dest)
MB_errcode
Definition: MB_Error.h:37
MB_API_ENTRY MB_errcode MB_API_CALL MB_Compare(MB_Image *src, MB_Image *cmp, MB_Image *dest, Sint32 *px, Sint32 *py)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Range(MB_Image *src, Uint32 *min, Uint32 *max)
MB_grid_t
Definition: MB_Common.h:138
MB_API_ENTRY MB_errcode MB_API_CALL MB_Sub(MB_Image *src1, MB_Image *src2, MB_Image *dest)
MB_API_ENTRY MB_errcode MB_API_CALL MB_Frame(MB_Image *src, Uint32 thresval, Uint32 *ulx, Uint32 *uly, Uint32 *brx, Uint32 *bry)
int64_t Sint64
Definition: MB_Common.h:103