00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024
00025
00026 #ifndef __FLGR_CORE_NHB_MANAGE_H
00027 #define __FLGR_CORE_NHB_MANAGE_H
00028
00029 #include <flgrCoreDll.h>
00030 #include <flgrCoreErrors.h>
00031 #include <flgrCoreTypes.h>
00032 #include <flgrCoreData.h>
00033 #include <flgrCoreVector.h>
00034
00043 typedef struct {
00045 FLGR_Type type;
00047 int spp;
00049 int center_coord_x;
00051 FLGR_Vector *center_data_val;
00053 FLGR_Vector *center_nhb_val;
00055 int nhb_size_x;
00057 int **list_coord_x;
00059 void **list_data_val;
00061 void **list_nhb_val;
00063 int *size;
00064 }FLGR_NhbBox1D;
00065
00069 typedef struct {
00071 FLGR_Type type;
00073 int spp;
00075 int center_coord_y;
00077 int center_coord_x;
00079 FLGR_Vector *center_data_val;
00081 FLGR_Vector *center_nhb_val;
00083 int nhb_size_y;
00085 int nhb_size_x;
00087 int **list_coord_y;
00089 int **list_coord_x;
00091 void **list_data_val;
00093 void **list_nhb_val;
00095 int *size;
00096 }FLGR_NhbBox2D;
00097
00099
00100 EXPORT_LIB FLGR_MorphoOptim flgr1d_get_optimization_available(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *nhb);
00101
00102 EXPORT_LIB FLGR_NhbBox1D *flgr1d_create_neighbor_box(FLGR_Data1D *data);
00103
00104 EXPORT_LIB void flgr1d_destroy_neighbor_box(FLGR_NhbBox1D *extr);
00105
00106 EXPORT_LIB FLGR_Ret flgr1d_get_neighborhood(FLGR_NhbBox1D *extr,
00107 FLGR_Data1D *dat, FLGR_Data1D *nhb, int x);
00108
00109
00110 EXPORT_LIB void flgr1d_get_neighborhood_fgBIT(FLGR_NhbBox1D *extr,
00111 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00112
00113 EXPORT_LIB void flgr1d_get_neighborhood_fgUINT8(FLGR_NhbBox1D *extr,
00114 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00115
00116 EXPORT_LIB void flgr1d_get_neighborhood_fgUINT16(FLGR_NhbBox1D *extr,
00117 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00118
00119 EXPORT_LIB void flgr1d_get_neighborhood_fgUINT32(FLGR_NhbBox1D *extr,
00120 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00121
00122 EXPORT_LIB void flgr1d_get_neighborhood_fgINT8(FLGR_NhbBox1D *extr,
00123 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00124
00125 EXPORT_LIB void flgr1d_get_neighborhood_fgINT16(FLGR_NhbBox1D *extr,
00126 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00127
00128 EXPORT_LIB void flgr1d_get_neighborhood_fgINT32(FLGR_NhbBox1D *extr,
00129 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00130
00131 EXPORT_LIB void flgr1d_get_neighborhood_fgFLOAT32(FLGR_NhbBox1D *extr,
00132 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00133
00134 EXPORT_LIB void flgr1d_get_neighborhood_fgFLOAT64(FLGR_NhbBox1D *extr,
00135 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00136
00137
00138
00139
00140
00141 EXPORT_LIB FLGR_Ret flgr1d_get_neighborhood_unfolded(FLGR_NhbBox1D *extr,
00142 FLGR_Data1D *dat, FLGR_Data1D *nhb, int x);
00143
00144
00145 EXPORT_LIB void flgr1d_get_neighborhood_unfolded_fgBIT(FLGR_NhbBox1D *extr,
00146 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00147
00148 EXPORT_LIB void flgr1d_get_neighborhood_unfolded_fgUINT8(FLGR_NhbBox1D *extr,
00149 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00150
00151 EXPORT_LIB void flgr1d_get_neighborhood_unfolded_fgUINT16(FLGR_NhbBox1D *extr,
00152 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00153
00154 EXPORT_LIB void flgr1d_get_neighborhood_unfolded_fgUINT32(FLGR_NhbBox1D *extr,
00155 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00156
00157 EXPORT_LIB void flgr1d_get_neighborhood_unfolded_fgINT8(FLGR_NhbBox1D *extr,
00158 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00159
00160 EXPORT_LIB void flgr1d_get_neighborhood_unfolded_fgINT16(FLGR_NhbBox1D *extr,
00161 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00162
00163 EXPORT_LIB void flgr1d_get_neighborhood_unfolded_fgINT32(FLGR_NhbBox1D *extr,
00164 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00165
00166 EXPORT_LIB void flgr1d_get_neighborhood_unfolded_fgFLOAT32(FLGR_NhbBox1D *extr,
00167 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00168
00169 EXPORT_LIB void flgr1d_get_neighborhood_unfolded_fgFLOAT64(FLGR_NhbBox1D *extr,
00170 FLGR_Data1D *img, FLGR_Data1D *nhb, int pos);
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183 EXPORT_LIB FLGR_MorphoOptim flgr2d_get_optimization_available(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *nhb);
00184
00185 EXPORT_LIB FLGR_NhbBox2D *flgr2d_create_neighbor_box(FLGR_Data2D *data);
00186
00187 EXPORT_LIB void flgr2d_destroy_neighbor_box(FLGR_NhbBox2D *extr);
00188
00189 EXPORT_LIB FLGR_Ret flgr2d_get_neighborhood(FLGR_NhbBox2D *extr,
00190 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00191
00192
00193
00194
00195 EXPORT_LIB void flgr2d_get_neighborhood_fgBIT(FLGR_NhbBox2D *extr,
00196 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00197
00198 EXPORT_LIB void flgr2d_get_neighborhood_fgUINT8(FLGR_NhbBox2D *extr,
00199 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00200
00201 EXPORT_LIB void flgr2d_get_neighborhood_fgUINT16(FLGR_NhbBox2D *extr,
00202 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00203
00204 EXPORT_LIB void flgr2d_get_neighborhood_fgUINT32(FLGR_NhbBox2D *extr,
00205 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00206
00207 EXPORT_LIB void flgr2d_get_neighborhood_fgINT8(FLGR_NhbBox2D *extr,
00208 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00209
00210 EXPORT_LIB void flgr2d_get_neighborhood_fgINT16(FLGR_NhbBox2D *extr,
00211 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00212
00213 EXPORT_LIB void flgr2d_get_neighborhood_fgINT32(FLGR_NhbBox2D *extr,
00214 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00215
00216 EXPORT_LIB void flgr2d_get_neighborhood_fgFLOAT32(FLGR_NhbBox2D *extr,
00217 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00218
00219 EXPORT_LIB void flgr2d_get_neighborhood_fgFLOAT64(FLGR_NhbBox2D *extr,
00220 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00221
00222
00223 EXPORT_LIB FLGR_Ret flgr2d_get_neighborhood_unfolded(FLGR_NhbBox2D *extr,
00224 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00225
00226
00227
00228
00229 EXPORT_LIB void flgr2d_get_neighborhood_unfolded_fgBIT(FLGR_NhbBox2D *extr,
00230 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00231
00232 EXPORT_LIB void flgr2d_get_neighborhood_unfolded_fgUINT8(FLGR_NhbBox2D *extr,
00233 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00234
00235 EXPORT_LIB void flgr2d_get_neighborhood_unfolded_fgUINT16(FLGR_NhbBox2D *extr,
00236 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00237
00238 EXPORT_LIB void flgr2d_get_neighborhood_unfolded_fgUINT32(FLGR_NhbBox2D *extr,
00239 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00240
00241 EXPORT_LIB void flgr2d_get_neighborhood_unfolded_fgINT8(FLGR_NhbBox2D *extr,
00242 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00243
00244 EXPORT_LIB void flgr2d_get_neighborhood_unfolded_fgINT16(FLGR_NhbBox2D *extr,
00245 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00246
00247 EXPORT_LIB void flgr2d_get_neighborhood_unfolded_fgINT32(FLGR_NhbBox2D *extr,
00248 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00249
00250 EXPORT_LIB void flgr2d_get_neighborhood_unfolded_fgFLOAT32(FLGR_NhbBox2D *extr,
00251 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00252
00253 EXPORT_LIB void flgr2d_get_neighborhood_unfolded_fgFLOAT64(FLGR_NhbBox2D *extr,
00254 FLGR_Data2D *img, FLGR_Data2D *nhb, int x, int y);
00255
00256
00257
00258
00259 #endif
00260
00261 #ifdef __cplusplus
00262 }
00263 #endif