00001 00005 #ifndef TREES_PROFILE_H 00006 #define TREES_PROFILE_H 1 00007 00008 #include "project_utilities.h" 00009 00010 BEGIN_C_DECLARATIONS 00011 00015 typedef double BRIGHTNESS; 00016 00017 #define DARKNESS ((BRIGHTNESS)0) 00018 00023 typedef struct profile_node { 00024 struct profile_node *next; 00025 int len; 00026 BRIGHTNESS *val; 00027 } PROFILE_NODE; 00028 00029 typedef PROFILE_NODE* PROFILE_LIST; 00030 00031 typedef struct boundbox_node { 00032 struct boundbox_node *next; 00033 double minx; 00034 double miny; 00035 double maxx; 00036 double maxy; 00037 } BOUNDBOX_NODE; 00038 00039 typedef BOUNDBOX_NODE* BOUNDBOX_LIST; 00040 00041 PROFILE_LIST new_profile (int); 00042 void demolish_profiles (PROFILE_LIST); 00043 void demolish_boundbox (BOUNDBOX_LIST); 00044 PROFILE_LIST reduce_profiles (PROFILE_LIST); 00045 int find_mean_profile(PROFILE_LIST, PROFILE_LIST); 00046 00047 END_C_DECLARATIONS 00048 #endif