00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 #include <stdio.h>
00023 #include <stdlib.h>
00024 #include <string.h>
00025 #include <flgrCoreDispatch.h>
00026 #include <flgrCoreSlideWindow.h>
00027 #include "flgrMorphoKerOp.h"
00028 #include "flgrMorphoAmibes.h"
00029 
00030 
00031 
00032 void flgr1d_erode_resizeable_fgBIT(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00033   
00034   flgr1d_raster_slide_structuring_function_fgBIT(datdest, datsrc, semap, shape,flgr1d_get_nhb_minimum_fgBIT);
00035 }
00036 void flgr1d_erode_resizeable_fgUINT8(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00037    
00038  flgr1d_raster_slide_structuring_function_fgUINT8(datdest, datsrc, semap, shape,flgr1d_get_nhb_minimum_fgUINT8);
00039 }
00040 void flgr1d_erode_resizeable_fgUINT16(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00041   
00042   flgr1d_raster_slide_structuring_function_fgUINT16(datdest, datsrc, semap, shape,flgr1d_get_nhb_minimum_fgUINT16);
00043 }
00044 void flgr1d_erode_resizeable_fgUINT32(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00045   
00046   flgr1d_raster_slide_structuring_function_fgUINT32(datdest, datsrc, semap, shape,flgr1d_get_nhb_minimum_fgUINT32);
00047 }
00048 void flgr1d_erode_resizeable_fgINT8(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00049   
00050   flgr1d_raster_slide_structuring_function_fgINT8(datdest, datsrc, semap, shape,flgr1d_get_nhb_minimum_fgINT8);
00051 }
00052 void flgr1d_erode_resizeable_fgINT16(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00053   
00054   flgr1d_raster_slide_structuring_function_fgINT16(datdest, datsrc, semap, shape,flgr1d_get_nhb_minimum_fgINT16);
00055 }
00056 void flgr1d_erode_resizeable_fgINT32(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00057   
00058   flgr1d_raster_slide_structuring_function_fgINT32(datdest, datsrc, semap, shape,flgr1d_get_nhb_minimum_fgINT32);
00059 }
00060 void flgr1d_erode_resizeable_fgFLOAT32(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00061   
00062   flgr1d_raster_slide_structuring_function_fgFLOAT32(datdest, datsrc, semap, shape,flgr1d_get_nhb_minimum_fgFLOAT32);
00063 }
00064 void flgr1d_erode_resizeable_fgFLOAT64(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00065   
00066   flgr1d_raster_slide_structuring_function_fgFLOAT64(datdest, datsrc, semap, shape,flgr1d_get_nhb_minimum_fgFLOAT64);
00067 }
00069 
00082 
00083 FLGR_Ret flgr1d_erode_resizeable(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00084   FLGR_Ret ret;
00085 
00086   
00087 
00088   if((datdest==NULL) || (datsrc==NULL) || (semap==NULL)){
00089     POST_ERROR("Null objects!\n");
00090     return FLGR_RET_NULL_OBJECT;
00091   }
00092 
00093   if((ret=flgr1d_is_data_same_attributes(datdest,datsrc,__FUNCTION__))!=FLGR_RET_OK) return ret;
00094   if((ret=flgr1d_is_data_same_length(semap,datdest))!=FLGR_RET_OK) return ret;
00095 
00096   if(semap->type != FLGR_INT32) {
00097     POST_ERROR("Image SE Map must be represented in fgINT32 format!\n");
00098     return FLGR_RET_PARAM_UNKNOWN;
00099   }
00100 
00101   FLGR_DISPATCH_PROCEDURE(datdest->type,flgr1d_erode_resizeable,datdest,datsrc,semap,shape);
00102 
00103 }
00104 
00105 
00106 
00107 void flgr1d_dilate_resizeable_fgBIT(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00108   
00109   flgr1d_raster_slide_structuring_function_fgBIT(datdest, datsrc, semap, shape,flgr1d_get_nhb_maximum_fgBIT);
00110 }
00111 void flgr1d_dilate_resizeable_fgUINT8(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00112   
00113   flgr1d_raster_slide_structuring_function_fgUINT8(datdest, datsrc, semap, shape,flgr1d_get_nhb_maximum_fgUINT8);
00114 }
00115 void flgr1d_dilate_resizeable_fgUINT16(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00116   
00117   flgr1d_raster_slide_structuring_function_fgUINT16(datdest, datsrc, semap, shape,flgr1d_get_nhb_maximum_fgUINT16);
00118 }
00119 void flgr1d_dilate_resizeable_fgUINT32(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00120   
00121   flgr1d_raster_slide_structuring_function_fgUINT32(datdest, datsrc, semap, shape,flgr1d_get_nhb_maximum_fgUINT32);
00122 }
00123 void flgr1d_dilate_resizeable_fgINT8(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00124   
00125   flgr1d_raster_slide_structuring_function_fgINT8(datdest, datsrc, semap, shape,flgr1d_get_nhb_maximum_fgINT8);
00126 }
00127 void flgr1d_dilate_resizeable_fgINT16(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00128   
00129   flgr1d_raster_slide_structuring_function_fgINT16(datdest, datsrc, semap, shape,flgr1d_get_nhb_maximum_fgINT16);
00130 }
00131 void flgr1d_dilate_resizeable_fgINT32(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00132   
00133   flgr1d_raster_slide_structuring_function_fgINT32(datdest, datsrc, semap, shape,flgr1d_get_nhb_maximum_fgINT32);
00134 }
00135 void flgr1d_dilate_resizeable_fgFLOAT32(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00136   
00137   flgr1d_raster_slide_structuring_function_fgFLOAT32(datdest, datsrc, semap, shape,flgr1d_get_nhb_maximum_fgFLOAT32);
00138 }
00139 void flgr1d_dilate_resizeable_fgFLOAT64(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00140   
00141   flgr1d_raster_slide_structuring_function_fgFLOAT64(datdest, datsrc, semap, shape,flgr1d_get_nhb_maximum_fgFLOAT64);
00142 }
00144 
00157 
00158 FLGR_Ret flgr1d_dilate_resizeable(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00159   FLGR_Ret ret;
00160 
00161   
00162 
00163   if((datdest==NULL) || (datsrc==NULL) || (semap==NULL)){
00164     POST_ERROR("Null objects!\n");
00165     return FLGR_RET_NULL_OBJECT;
00166   }
00167 
00168   if((ret=flgr1d_is_data_same_attributes(datdest,datsrc,__FUNCTION__))!=FLGR_RET_OK) return ret;
00169   if((ret=flgr1d_is_data_same_length(semap,datdest))!=FLGR_RET_OK) return ret;
00170 
00171   if(semap->type != FLGR_INT32) {
00172     POST_ERROR("Image Maps must be represented in fgINT32 format!\n");
00173     return FLGR_RET_PARAM_UNKNOWN;
00174   }
00175 
00176 
00177   FLGR_DISPATCH_PROCEDURE(datdest->type,flgr1d_dilate_resizeable,datdest,datsrc,semap,shape);
00178 
00179 }
00180 
00181 
00182 
00183 
00184 void flgr1d_median_resizeable_fgBIT(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00185   flgr_no_define_type_function(FLGR_BIT);
00186 }
00187 void flgr1d_median_resizeable_fgUINT8(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00188   
00189   flgr1d_raster_slide_structuring_function_fgUINT8(datdest, datsrc, semap, shape,flgr1d_get_nhb_median_fgUINT8);
00190 }
00191 void flgr1d_median_resizeable_fgUINT16(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00192   
00193   flgr1d_raster_slide_structuring_function_fgUINT16(datdest, datsrc, semap, shape,flgr1d_get_nhb_median_fgUINT16);
00194 }
00195 void flgr1d_median_resizeable_fgUINT32(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00196   
00197   flgr1d_raster_slide_structuring_function_fgUINT32(datdest, datsrc, semap, shape,flgr1d_get_nhb_median_fgUINT32);
00198 }
00199 void flgr1d_median_resizeable_fgINT8(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00200   
00201   flgr1d_raster_slide_structuring_function_fgINT8(datdest, datsrc, semap, shape,flgr1d_get_nhb_median_fgINT8);
00202 }
00203 void flgr1d_median_resizeable_fgINT16(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00204   
00205   flgr1d_raster_slide_structuring_function_fgINT16(datdest, datsrc, semap, shape,flgr1d_get_nhb_median_fgINT16);
00206 }
00207 void flgr1d_median_resizeable_fgINT32(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00208   
00209   flgr1d_raster_slide_structuring_function_fgINT32(datdest, datsrc, semap, shape,flgr1d_get_nhb_median_fgINT32);
00210 }
00211 void flgr1d_median_resizeable_fgFLOAT32(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00212   
00213   flgr1d_raster_slide_structuring_function_fgFLOAT32(datdest, datsrc, semap, shape,flgr1d_get_nhb_median_fgFLOAT32);
00214 }
00215 void flgr1d_median_resizeable_fgFLOAT64(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00216   
00217   flgr1d_raster_slide_structuring_function_fgFLOAT64(datdest, datsrc, semap, shape,flgr1d_get_nhb_median_fgFLOAT64);
00218 }
00220 
00233 
00234 FLGR_Ret flgr1d_median_resizeable(FLGR_Data1D *datdest, FLGR_Data1D *datsrc, FLGR_Data1D *semap, FLGR_Shape shape) {
00235   FLGR_Ret ret;
00236 
00237   
00238 
00239   if((datdest==NULL) || (datsrc==NULL) || (semap==NULL)){
00240     POST_ERROR("Null objects!\n");
00241     return FLGR_RET_NULL_OBJECT;
00242   }
00243 
00244   if((ret=flgr1d_is_data_same_attributes(datdest,datsrc,__FUNCTION__))!=FLGR_RET_OK) return ret;
00245   if((ret=flgr1d_is_data_same_length(semap,datdest))!=FLGR_RET_OK) return ret;
00246 
00247   if(semap->type != FLGR_INT32) {
00248     POST_ERROR("Image Maps must be represented in fgINT32 format!\n");
00249     return FLGR_RET_PARAM_UNKNOWN;
00250   }
00251 
00252   FLGR_DISPATCH_PROCEDURE(datdest->type,flgr1d_median_resizeable,datdest,datsrc,semap,shape);
00253 
00254 
00255 }
00256 
00257 
00258 
00259 
00260 
00261 
00262 
00263 
00264 
00265 void flgr2d_erode_resizeable_fgBIT(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00266   
00267   flgr2d_raster_slide_structuring_function_fgBIT(datdest, datsrc, semap, shape,flgr2d_get_nhb_minimum_fgBIT);
00268 }
00269 void flgr2d_erode_resizeable_fgUINT8(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00270   
00271   flgr2d_raster_slide_structuring_function_fgUINT8(datdest, datsrc, semap, shape,flgr2d_get_nhb_minimum_fgUINT8);
00272 }
00273 void flgr2d_erode_resizeable_fgUINT16(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00274   
00275   flgr2d_raster_slide_structuring_function_fgUINT16(datdest, datsrc, semap, shape,flgr2d_get_nhb_minimum_fgUINT16);
00276 }
00277 void flgr2d_erode_resizeable_fgUINT32(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00278   
00279   flgr2d_raster_slide_structuring_function_fgUINT32(datdest, datsrc, semap, shape,flgr2d_get_nhb_minimum_fgUINT32);
00280 }
00281 void flgr2d_erode_resizeable_fgINT8(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00282   
00283   flgr2d_raster_slide_structuring_function_fgINT8(datdest, datsrc, semap, shape,flgr2d_get_nhb_minimum_fgINT8);
00284 }
00285 void flgr2d_erode_resizeable_fgINT16(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00286   
00287   flgr2d_raster_slide_structuring_function_fgINT16(datdest, datsrc, semap, shape,flgr2d_get_nhb_minimum_fgINT16);
00288 }
00289 void flgr2d_erode_resizeable_fgINT32(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00290   
00291   flgr2d_raster_slide_structuring_function_fgINT32(datdest, datsrc, semap, shape,flgr2d_get_nhb_minimum_fgINT32);
00292 }
00293 void flgr2d_erode_resizeable_fgFLOAT32(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00294   
00295   flgr2d_raster_slide_structuring_function_fgFLOAT32(datdest, datsrc, semap, shape,flgr2d_get_nhb_minimum_fgFLOAT32);
00296 }
00297 void flgr2d_erode_resizeable_fgFLOAT64(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00298   
00299   flgr2d_raster_slide_structuring_function_fgFLOAT64(datdest, datsrc, semap, shape,flgr2d_get_nhb_minimum_fgFLOAT64);
00300 }
00302 
00324 
00325 FLGR_Ret flgr2d_erode_resizeable(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00326   FLGR_Ret ret;
00327 
00328   
00329 
00330   if((datdest==NULL) || (datsrc==NULL) || (semap==NULL)){
00331     POST_ERROR("Null objects!\n");
00332     return FLGR_RET_NULL_OBJECT;
00333   }
00334 
00335   if((ret=flgr2d_is_data_same_attributes(datdest,datsrc,__FUNCTION__))!=FLGR_RET_OK) return ret;
00336   if((ret=flgr2d_is_data_same_size(semap,datdest))!=FLGR_RET_OK) return ret;
00337 
00338   if(semap->type != FLGR_INT32) {
00339     POST_ERROR("Image SE Map must be represented in fgINT32 format!\n");
00340     return FLGR_RET_PARAM_UNKNOWN;
00341   }
00342 
00343   FLGR_DISPATCH_PROCEDURE(datdest->type,flgr2d_erode_resizeable,datdest,datsrc,semap,shape);
00344 
00345 }
00346 
00347 
00348 
00349 void flgr2d_dilate_resizeable_fgBIT(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00350   
00351   flgr2d_raster_slide_structuring_function_fgBIT(datdest, datsrc, semap, shape,flgr2d_get_nhb_maximum_fgBIT);
00352 }
00353 void flgr2d_dilate_resizeable_fgUINT8(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00354   
00355   flgr2d_raster_slide_structuring_function_fgUINT8(datdest, datsrc, semap, shape,flgr2d_get_nhb_maximum_fgUINT8);
00356 }
00357 void flgr2d_dilate_resizeable_fgUINT16(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00358   
00359   flgr2d_raster_slide_structuring_function_fgUINT16(datdest, datsrc, semap, shape,flgr2d_get_nhb_maximum_fgUINT16);
00360 }
00361 void flgr2d_dilate_resizeable_fgUINT32(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00362   
00363   flgr2d_raster_slide_structuring_function_fgUINT32(datdest, datsrc, semap, shape,flgr2d_get_nhb_maximum_fgUINT32);
00364 }
00365 void flgr2d_dilate_resizeable_fgINT8(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00366   
00367   flgr2d_raster_slide_structuring_function_fgINT8(datdest, datsrc, semap, shape,flgr2d_get_nhb_maximum_fgINT8);
00368 }
00369 void flgr2d_dilate_resizeable_fgINT16(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00370   
00371   flgr2d_raster_slide_structuring_function_fgINT16(datdest, datsrc, semap, shape,flgr2d_get_nhb_maximum_fgINT16);
00372 }
00373 void flgr2d_dilate_resizeable_fgINT32(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00374   
00375   flgr2d_raster_slide_structuring_function_fgINT32(datdest, datsrc, semap, shape,flgr2d_get_nhb_maximum_fgINT32);
00376 }
00377 void flgr2d_dilate_resizeable_fgFLOAT32(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00378   
00379   flgr2d_raster_slide_structuring_function_fgFLOAT32(datdest, datsrc, semap, shape,flgr2d_get_nhb_maximum_fgFLOAT32);
00380 }
00381 void flgr2d_dilate_resizeable_fgFLOAT64(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00382   
00383   flgr2d_raster_slide_structuring_function_fgFLOAT64(datdest, datsrc, semap, shape,flgr2d_get_nhb_maximum_fgFLOAT64);
00384 }
00386 
00408 
00409 FLGR_Ret flgr2d_dilate_resizeable(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00410   FLGR_Ret ret;
00411 
00412   
00413 
00414   if((datdest==NULL) || (datsrc==NULL) || (semap==NULL)){
00415     POST_ERROR("Null objects!\n");
00416     return FLGR_RET_NULL_OBJECT;
00417   }
00418 
00419   if((ret=flgr2d_is_data_same_attributes(datdest,datsrc,__FUNCTION__))!=FLGR_RET_OK) return ret;
00420   if((ret=flgr2d_is_data_same_size(semap,datdest))!=FLGR_RET_OK) return ret;
00421 
00422   if(semap->type != FLGR_INT32) {
00423     POST_ERROR("Image Maps must be represented in fgINT32 format!\n");
00424     return FLGR_RET_PARAM_UNKNOWN;
00425   }
00426 
00427 
00428   FLGR_DISPATCH_PROCEDURE(datdest->type,flgr2d_dilate_resizeable,datdest,datsrc,semap,shape);
00429 
00430 }
00431 
00432 
00433 
00434 
00435 void flgr2d_median_resizeable_fgBIT(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00436   flgr_no_define_type_function(FLGR_BIT);
00437 }
00438 void flgr2d_median_resizeable_fgUINT8(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00439   
00440   flgr2d_raster_slide_structuring_function_fgUINT8(datdest, datsrc, semap, shape,flgr2d_get_nhb_median_fgUINT8);
00441 }
00442 void flgr2d_median_resizeable_fgUINT16(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00443   
00444   flgr2d_raster_slide_structuring_function_fgUINT16(datdest, datsrc, semap, shape,flgr2d_get_nhb_median_fgUINT16);
00445 }
00446 void flgr2d_median_resizeable_fgUINT32(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00447   
00448   flgr2d_raster_slide_structuring_function_fgUINT32(datdest, datsrc, semap, shape,flgr2d_get_nhb_median_fgUINT32);
00449 }
00450 void flgr2d_median_resizeable_fgINT8(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00451   
00452   flgr2d_raster_slide_structuring_function_fgINT8(datdest, datsrc, semap, shape,flgr2d_get_nhb_median_fgINT8);
00453 }
00454 void flgr2d_median_resizeable_fgINT16(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00455   
00456   flgr2d_raster_slide_structuring_function_fgINT16(datdest, datsrc, semap, shape,flgr2d_get_nhb_median_fgINT16);
00457 }
00458 void flgr2d_median_resizeable_fgINT32(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00459   
00460   flgr2d_raster_slide_structuring_function_fgINT32(datdest, datsrc, semap, shape,flgr2d_get_nhb_median_fgINT32);
00461 }
00462 void flgr2d_median_resizeable_fgFLOAT32(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00463   
00464   flgr2d_raster_slide_structuring_function_fgFLOAT32(datdest, datsrc, semap, shape,flgr2d_get_nhb_median_fgFLOAT32);
00465 }
00466 void flgr2d_median_resizeable_fgFLOAT64(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00467   
00468   flgr2d_raster_slide_structuring_function_fgFLOAT64(datdest, datsrc, semap, shape,flgr2d_get_nhb_median_fgFLOAT64);
00469 }
00471 
00493 
00494 FLGR_Ret flgr2d_median_resizeable(FLGR_Data2D *datdest, FLGR_Data2D *datsrc, FLGR_Data2D *semap, FLGR_Shape shape) {
00495   FLGR_Ret ret;
00496 
00497   
00498 
00499   if((datdest==NULL) || (datsrc==NULL) || (semap==NULL)){
00500     POST_ERROR("Null objects!\n");
00501     return FLGR_RET_NULL_OBJECT;
00502   }
00503 
00504   if((ret=flgr2d_is_data_same_attributes(datdest,datsrc,__FUNCTION__))!=FLGR_RET_OK) return ret;
00505   if((ret=flgr2d_is_data_same_size(semap,datdest))!=FLGR_RET_OK) return ret;
00506 
00507   if(semap->type != FLGR_INT32) {
00508     POST_ERROR("Image Maps must be represented in fgINT32 format!\n");
00509     return FLGR_RET_PARAM_UNKNOWN;
00510   }
00511 
00512   FLGR_DISPATCH_PROCEDURE(datdest->type,flgr2d_median_resizeable,datdest,datsrc,semap,shape);
00513 
00514 
00515 }
00516 
00517 
00518 
00519