#ifndef HEADER_H #define HEADER_H /* Written by Waqas Akram, Justin Romberg, & Charles Gamiz, May 1997 */ #include #include #include extern int **IMAGE; extern double **GRADIENT; extern double intThresh; extern double intStd; extern int *sizeI; extern int COUNT; /* structure for a pixel */ struct pixel { int m; int n; struct pixel *next; }; /* structure for an entire region */ struct region { int num_pixels; int num_edge; double mean; double std; double SumOfSquares; double SumOfValues; struct pixel * pixel_list; struct pixel * edge_list; char ** visit; char ** member; struct region * next; }; struct pixel * create_pixel(int, int); struct region * create_region(); int ** ReadStartFile(FILE *, int *); int ** ReadImageFile(FILE *, int *); double **ReadGradientFile(FILE *); void WriteImageFile(char *, int **, int*); void DumpRegion(struct region *); void AddPixel(struct region *, struct pixel *); struct pixel * merge_check(struct region *, int, int, struct pixel *); struct region * grow_region(struct pixel *); int ** create_mask(int **, struct pixel *, int); int ** create_visit(char **); #endif