DOCLIB is a C++ toolkit that provides document/image analysis capabilities through a thoroughly documented, easy to use interface. This library seeks to provide a functional, stable, and robust environment that supports a plethora of image types whereby applications (research or production) can be built on top of.

Although DOCLIB currently assumes a Beta status, it has been successfully used as the underlying library for several government applications. The OO design accounts for image processing functions that are straightforward in  approach, but also allows room for extendable, "research" oriented behavior(s) where there exists several different methods of implementation. Because our main audience are traditional C-devlelopers, many design decisions were made to facilitate its use for users not familiar with OO concepts. DOCLIB supports a standard code base that can be built on both Linux and Windows platforms. The development team is currently working on supporting Solaris 7.1 as well.

Please report any bugs found and/or any additional applicable features to DOCLIB at the Bugtracker site located in the Devlelopers Corner. All DOCLIB related documents can be found in the Development Corner. Alternatively, please contact Summit Sampat (sampat_summit@bah.com) or Stefan Jaeger (jaeger@umiacs.umd.edu) with technical questions and Lynn Golebiowski (golebiowski_lynn@bah.com) or David Doermann (doermann@umiacs.umd.edu) for acquisition related discussions.

 





Main Page | Class Hierarchy | Class List | Directories | File List | Class Members

DLCcConst.h

00001 #ifndef DLCCONST_H
00002 #define DLCCONST_H
00003 #include "math.h"
00004 #include <fstream>
00005 // These consts are for Connected Components
00006 
00007 #define DLbyte signed char
00008 #define DLshort short
00009 #define DLubyte unsigned char
00010 #define DL_255 0xff
00011 
00012 #ifndef round
00013 #define round(x) ( (int32)( ((x) < 0.0) ? ((x)-0.5) : ((x)+0.5) ) )
00014 #endif
00015 
00017 #define Setarr(a,n,y,v) { \
00018         y *p; \
00019         for(p=a;p<a+n;p++)*p = v; \
00020 }
00021 #define Malloc(w,x,y,z) \
00022           { \
00023             w = (y *)malloc(x*sizeof(y)); \
00024             if (w == NULL) { \
00025               printf("Error. Out of memory - %s\n",z); \
00026               exit (0); \
00027             } \
00028           }
00029 
00030 #define Calloc(w,x,y,z) \
00031           { \
00032             w = (y *)calloc(x,sizeof(y)); \
00033             if (w == NULL) { \
00034               printf("Error. Out of memory - %s\n",z); \
00035               exit (0); \
00036             } \
00037           }
00038 
00039 #define Realloc(w,x,inc,y,z) \
00040          { \
00041            x = x  + inc;  \
00042            w = (y *)realloc(w,x*sizeof(y)); \
00043            if (w == NULL) { \
00044              printf("Error. Out of memory - %s\n",z); \
00045              exit (0); \
00046            } \
00047          }
00048 
00049 
00050 #define Swap(a,b,t) \
00051           { \
00052              t = a; \
00053              a = b; \
00054              b = t; \
00055           }
00056 
00057 /* general failure codes */
00058 #define DL_OK                    0
00059 
00060 #define DL_NO_ONE_BIT_DATA      -10 
00061 #define DL_NO_EIGHT_BIT_DATA    -11
00062 #define DL_ONE_BIT_DATA_USED    -12
00063 #define DL_EIGHT_BIT_DATA_USED  -13
00064 
00065 //#ifndef max
00066 //#define max(x,y) ( ((x) > (y)) ? (x) : (y) )
00067 //#endif
00068 //
00069 //#ifndef min
00070 //#define min(x,y) ( ((x) < (y)) ? (x) : (y) )
00071 //#endif
00072 
00073 
00074 #endif // DLCCONST_H
* ************************************************************************ ************************************************************************ *
DocLib is being developed under contract by a collaboration between:
The Laboratory for Language and Media Processing
Unviersity of Maryland, College Park
and
Booz Allen Hamilton

All Rights Reserved, 2003
* *************************************************************************************************************************************************