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

image_format Struct Reference

#include <DLGIFUtilities.h>

List of all members.

Public Attributes

void * image
 pointer to pixel data, can be of type int, float, unsigned char etc.
int type
int byte_order
int compression
int width
 The pixel width of the image; iCols in TwoBit.
int height
 The pixel height of the image; iRows in TwoBit.
int numchan
int numframes
int bits_per_chan
int packed
int photoInterpretation
int unit_resolution
int xresolution
 The horizontal resolution of the image; "fHorizontalRes" in TwoBit.
int yresolution
 The vertical resolution of the image; "fHorizontalRes" in TwoBit.
int * chan_ratio
char * desc
 A character pointer for a descriptive string about the image (s). Never used.
char filetype [5]
 We have no idea what this is. Never used.
void * user_def0
 A pointer for a user definition. Never used.
int user_def1
 A value for a user definition. Never used.
image_formatpalette


Detailed Description

Gif Image Format


Member Data Documentation

int image_format::bits_per_chan
 

The number of bits of precision; the number of bits representing each channel of a single pixel 1 -> binary 8 -> grayscale or color

int image_format::byte_order
 

Endian byte order 0 -> little endian; first characters in tiff image are "II" 1 -> big endian; first characters in tiff image are "MM"

int* image_format::chan_ratio
 

A pointer to m (m = numchan) integer values that determine the ratio of spatial resolution for different image channels. For example, in the YCbCr color space used by MPEG video the ratio is 4:1:1, represented by the values 4, 1, 1. If a single channel is used in the image or all channels have the same scale, a NULL pointer is used. If color channels are subsampled, this will be indicated here. It is seldom used and not supported by most code. It is always set to NULL.

int image_format::compression
 

Type of compression to be used. Defined by TIFF documentation. 1 -> uncompressed (dump mode) 2 -> CCITT 1D (modified Huffman RLE) 3 -> CCITT Group 3 4 -> CCITT Group 4 5 -> LZW 32773 -> PackBits

int image_format::numchan
 

The number of color (image) channels; the dimensionality of the color space 1 -> grayscale and binary 3 -> color (RGB or YUV)

int image_format::numframes
 

The number of image frames; the number of images at the same spatial resolution but representing successive times. Used for video or animated gifs and other multi-image files. Single image files have numframes = 1.

int image_format::packed
 

This value only applies to binary images. 0 -> one byte per pixel 1 -> one bit per pixel; 8 pixels per byte

struct image_format* image_format::palette
 

Think of palette as a mapping from the image to a color chart. In actuality, it is a pointer to another image structure. Hence, the "decoded image" has a pointer to the "palette image". The palette image structure is an image of dimensions NUMCOLORS x 1 where the number of unique colors in the decoded image determines the width of the palette image. Each color has an RGB value, so the "numchan" value in the palette image is 3. The color of the pixel at location (n, 0) in the palette image is the color to replace any pixel with the value n from the decoded image where n is between 0 and NUMCOLORS-1, inclusive. In order to use the palette, the decoded image should be of type 0 or 2 (type 3 might work). Each pixel value is represented by an index that points to the palette image. This value is rarely used.

int image_format::photoInterpretation
 

TIFF definition of photometric interpretation (TIFF tag) 0 -> white is zero (only for binary or grayscale images) 1 -> black is zero (only for binary or grayscale images) 2 -> RGB 3 -> Pallet RGB 4 -> mask 5 -> seperated 6 -> YCbCr (YUV)

int image_format::type
 

determines the type of data pointed to when casting "image" pointer above 0 -> unsigned char * 1 -> char * 2 -> unsigned int * 3 -> int * 4 -> float * 10 -> FILE *, data is unsigned char 11 -> FILE *, data is char 12 -> FILE *, data is unsigned int 13 -> FILE *, data is int 14 -> FILE *, data is float

int image_format::unit_resolution
 

The units of resolution 2 -> inches 3 -> centimeters


The documentation for this struct was generated from the following file: * ************************************************************************ ************************************************************************ *
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
* *************************************************************************************************************************************************