#if !defined(TYPE_DEF_H_H) #define TYPE_DEF_H_H #define MAX_BOUND_SEGMENT_LABEL 80 #define MAX_JUNCTION_LABEL 400 #define MAX_JUNCTION_IMAGE 400 #define MAX_VIRTUAL_JUNC_IMAGE 400 #define MAX_GROUPING 40 #define OCCLUDING_SURFACE 0x1 #define OCCLUDING_EDGE 0x2 #define CURRENT_SURFACE 0x4 #define VISIBLE_BOUNDARY 0x8 #if !defined(MAXFILENAME) #define MAXFILENAME 256 #endif typedef struct { int INPUT_UNIT, HIDDEN_UNIT, OUTPUT_UNIT; double **w12; double **w23; double **deltaw12; double **deltaw23; double *delta2; double *delta3; double *v1; double *v2; double *v3; double *v_out; } MLP_NETWORK; typedef struct { int x, y; } VERTEX; typedef struct { int row,col; unsigned char **image; } IMAGE8BIT; typedef struct { int row,col; unsigned int **image; } IMAGEINT; typedef struct { int row, col; float **image; } IMAGEFLOAT; typedef struct { int deltar; int deltac; float weight; } NEIGHBOR_TABLE; typedef struct { char unsmoothedFile[MAXFILENAME]; char inputFile[MAXFILENAME]; char outFile[MAXFILENAME]; char seedFile[MAXFILENAME]; char networkInFile[MAXFILENAME]; char networkOutFile[MAXFILENAME]; /* The global inhibition or gray level difference threshold */ float global_inhibitor; float grayThreshold; int seed; int hidden_unit; int input_unit; int output_unit; int kernel_size; double ALPHA, BETA, ETA; double tol; int max_iteration; int forced_training; float init_weight_scale; int activation_choice; } CONTROL_INFO; #endif