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_DATA_H
00027 #define __FLGR_CORE_DATA_H
00028
00029 #include <flgrCoreDll.h>
00030 #include <flgrCoreErrors.h>
00031 #include <flgrCoreTypes.h>
00032
00298 typedef struct {
00299 int dim;
00300 int size_struct;
00301 int bps;
00302 int spp;
00303 int ref2d;
00304 FLGR_Type type;
00305 FLGR_Shape shape;
00306 int length;
00307 void *array;
00308 void *array_phantom;
00309 }FLGR_Data1D;
00310
00314 typedef struct {
00315 int dim;
00316 int size_struct;
00317 int link_overlap;
00318 int link_position;
00319 int link_number;
00320 int bps;
00321 int spp;
00322 int ref3d;
00323 FLGR_Type type;
00324 FLGR_Shape shape;
00325 FLGR_Connexity connexity;
00326 int size_y;
00327 int size_x;
00328 FLGR_Data1D **row;
00329 void **array;
00330 }FLGR_Data2D;
00331
00332
00333 EXPORT_LIB int flgr_normalize_coordinate(int axis_coord, int axis_length);
00334
00335
00336
00337
00338
00339
00340
00341 EXPORT_LIB FLGR_Data1D *flgr1d_create(int length, int spp, FLGR_Type type, FLGR_Shape shape);
00342
00343 EXPORT_LIB FLGR_Data1D *flgr1d_create_from(FLGR_Data1D *dat);
00344
00345 EXPORT_LIB FLGR_Data1D *flgr1d_create_signal(int length, int spp, FLGR_Type type);
00346
00347 EXPORT_LIB FLGR_Data1D *flgr1d_create_signal_from(FLGR_Data1D *dat);
00348
00349 EXPORT_LIB FLGR_Data1D *flgr1d_create_neighborhood(int length, int spp, FLGR_Type type, FLGR_Shape shape);
00350
00351 EXPORT_LIB FLGR_Data1D *flgr1d_create_neighborhood_from(FLGR_Data1D *dat);
00352
00353 EXPORT_LIB FLGR_Data1D *flgr1d_create_fgBIT(int length, int spp, FLGR_Shape shape);
00354
00355 EXPORT_LIB FLGR_Data1D *flgr1d_create_fgUINT8(int length, int spp, FLGR_Shape shape);
00356
00357 EXPORT_LIB FLGR_Data1D *flgr1d_create_fgUINT16(int length, int spp, FLGR_Shape shape);
00358
00359 EXPORT_LIB FLGR_Data1D *flgr1d_create_fgUINT32(int length, int spp, FLGR_Shape shape);
00360
00361 EXPORT_LIB FLGR_Data1D *flgr1d_create_fgINT8(int length, int spp, FLGR_Shape shape);
00362
00363 EXPORT_LIB FLGR_Data1D *flgr1d_create_fgINT16(int length, int spp, FLGR_Shape shape);
00364
00365 EXPORT_LIB FLGR_Data1D *flgr1d_create_fgINT32(int length, int spp, FLGR_Shape shape);
00366
00367 EXPORT_LIB FLGR_Data1D *flgr1d_create_fgFLOAT32(int length, int spp, FLGR_Shape shape);
00368
00369 EXPORT_LIB FLGR_Data1D *flgr1d_create_fgFLOAT64(int length, int spp, FLGR_Shape shape);
00370
00371 EXPORT_LIB FLGR_Ret flgr1d_destroy(FLGR_Data1D *dat);
00372
00373 EXPORT_LIB FLGR_Ret flgr1d_is_data_same_length(FLGR_Data1D *dat1, FLGR_Data1D *dat2);
00374
00375 EXPORT_LIB FLGR_Ret flgr1d_is_data_same_type(FLGR_Data1D *dat1, FLGR_Data1D *dat2);
00376
00377 EXPORT_LIB FLGR_Ret flgr1d_is_data_same_spp(FLGR_Data1D *dat1, FLGR_Data1D *dat2);
00378
00379 EXPORT_LIB FLGR_Ret flgr1d_is_data_same_attributes(FLGR_Data1D *data1, FLGR_Data1D *data2,
00380 const char *callingFunction);
00381
00382 EXPORT_LIB int flgr1d_data_is_type_fgBIT(FLGR_Data1D *data);
00383
00384 EXPORT_LIB int flgr1d_data_is_type_fgUINT8(FLGR_Data1D *data);
00385
00386 EXPORT_LIB int flgr1d_data_is_type_fgUINT16(FLGR_Data1D *data);
00387
00388 EXPORT_LIB int flgr1d_data_is_type_fgUINT32(FLGR_Data1D *data);
00389
00390 EXPORT_LIB int flgr1d_data_is_type_fgINT8(FLGR_Data1D *data);
00391
00392 EXPORT_LIB int flgr1d_data_is_type_fgINT16(FLGR_Data1D *data);
00393
00394 EXPORT_LIB int flgr1d_data_is_type_fgINT32(FLGR_Data1D *data);
00395
00396 EXPORT_LIB int flgr1d_data_is_type_fgFLOAT32(FLGR_Data1D *data);
00397
00398 EXPORT_LIB int flgr1d_data_is_type_fgFLOAT64(FLGR_Data1D *data);
00399
00400 EXPORT_LIB int flgr1d_data_is_type(FLGR_Data1D *data, FLGR_Type type);
00401
00402 EXPORT_LIB int flgr1d_data_is_shape(FLGR_Data1D *data, FLGR_Shape shape);
00403
00404 EXPORT_LIB FLGR_Ret flgr1d_data_set_shape(FLGR_Data1D *dat, FLGR_Shape shape);
00405
00406 EXPORT_LIB FLGR_Ret flgr1d_clear_all(FLGR_Data1D *data);
00407
00408
00409
00410
00411
00412 EXPORT_LIB FLGR_Data2D *flgr2d_create(int size_y, int size_x, int spp, FLGR_Type type, FLGR_Shape shape, FLGR_Connexity connexity);
00413
00414 EXPORT_LIB FLGR_Data2D *flgr2d_create_from(FLGR_Data2D *datsrc);
00415
00416 EXPORT_LIB FLGR_Data2D *flgr2d_create_pixmap(int size_y, int size_x, int spp, FLGR_Type type);
00417
00418 EXPORT_LIB FLGR_Data2D *flgr2d_create_pixmap_from(FLGR_Data2D *imgsrc);
00419
00420 EXPORT_LIB FLGR_Data2D *flgr2d_create_neighborhood(int size_y, int size_x, int spp, FLGR_Type type,
00421 FLGR_Shape shape, FLGR_Connexity connexity);
00422
00423 EXPORT_LIB FLGR_Data2D *flgr2d_create_neighborhood_from(FLGR_Data2D *nhbsrc);
00424
00425 EXPORT_LIB FLGR_Data2D *flgr2d_create_neighborhood_from_connexity( int spp, FLGR_Type type, FLGR_Connexity connexity);
00426
00427 EXPORT_LIB FLGR_Data2D *flgr2d_create_fgBIT(int size_y, int size_x, int spp, FLGR_Shape shape, FLGR_Connexity connexity);
00428
00429 EXPORT_LIB FLGR_Data2D *flgr2d_create_fgUINT8(int size_y, int size_x, int spp, FLGR_Shape shape, FLGR_Connexity connexity);
00430
00431 EXPORT_LIB FLGR_Data2D *flgr2d_create_fgUINT16(int size_y, int size_x, int spp, FLGR_Shape shape, FLGR_Connexity connexity);
00432
00433 EXPORT_LIB FLGR_Data2D *flgr2d_create_fgUINT32(int size_y, int size_x, int spp, FLGR_Shape shape, FLGR_Connexity connexity);
00434
00435 EXPORT_LIB FLGR_Data2D *flgr2d_create_fgINT8(int size_y, int size_x, int spp, FLGR_Shape shape, FLGR_Connexity connexity);
00436
00437 EXPORT_LIB FLGR_Data2D *flgr2d_create_fgINT16(int size_y, int size_x, int spp, FLGR_Shape shape, FLGR_Connexity connexity);
00438
00439 EXPORT_LIB FLGR_Data2D *flgr2d_create_fgINT32(int size_y, int size_x, int spp, FLGR_Shape shape, FLGR_Connexity connexity);
00440
00441 EXPORT_LIB FLGR_Data2D *flgr2d_create_fgFLOAT32(int size_y, int size_x, int spp, FLGR_Shape shape, FLGR_Connexity connexity);
00442
00443 EXPORT_LIB FLGR_Data2D *flgr2d_create_fgFLOAT64(int size_y, int size_x, int spp, FLGR_Shape shape, FLGR_Connexity connexity);
00444
00445 EXPORT_LIB FLGR_Ret flgr2d_destroy(FLGR_Data2D *dat);
00446
00447 EXPORT_LIB FLGR_Data2D *flgr2d_create_pixmap_link(FLGR_Data2D *datain, int partsNumber, int partIndex, int overlapSize);
00448
00449 EXPORT_LIB FLGR_Ret flgr2d_destroy_link(FLGR_Data2D *dat);
00450
00451
00452
00453 EXPORT_LIB FLGR_Ret flgr2d_is_data_same_attributes(FLGR_Data2D *dat1, FLGR_Data2D *dat2,
00454 const char *callingFunction);
00455
00456 EXPORT_LIB FLGR_Ret flgr2d_is_data_same_type(FLGR_Data2D *dat1, FLGR_Data2D *dat2);
00457
00458 EXPORT_LIB FLGR_Ret flgr2d_is_data_same_spp(FLGR_Data2D *dat1, FLGR_Data2D *dat2);
00459
00460 EXPORT_LIB FLGR_Ret flgr2d_is_data_same_size(FLGR_Data2D *dat1, FLGR_Data2D *dat2);
00461
00462 EXPORT_LIB int flgr2d_data_is_type_fgBIT(FLGR_Data2D *data);
00463
00464 EXPORT_LIB int flgr2d_data_is_type_fgUINT8(FLGR_Data2D *data);
00465
00466 EXPORT_LIB int flgr2d_data_is_type_fgUINT16(FLGR_Data2D *data);
00467
00468 EXPORT_LIB int flgr2d_data_is_type_fgUINT32(FLGR_Data2D *data);
00469
00470 EXPORT_LIB int flgr2d_data_is_type_fgINT8(FLGR_Data2D *data);
00471
00472 EXPORT_LIB int flgr2d_data_is_type_fgINT16(FLGR_Data2D *data);
00473
00474 EXPORT_LIB int flgr2d_data_is_type_fgINT32(FLGR_Data2D *data);
00475
00476 EXPORT_LIB int flgr2d_data_is_type_fgFLOAT32(FLGR_Data2D *data);
00477
00478 EXPORT_LIB int flgr2d_data_is_type_fgFLOAT64(FLGR_Data2D *data);
00479
00480 EXPORT_LIB int flgr2d_data_is_type(FLGR_Data2D *data, FLGR_Type type);
00481
00482 EXPORT_LIB int flgr2d_data_is_shape(FLGR_Data2D *data, FLGR_Shape shape);
00483
00484 EXPORT_LIB int flgr2d_data_is_connexity(FLGR_Data2D *data, FLGR_Connexity connexity);
00485
00486 EXPORT_LIB FLGR_Ret flgr2d_data_set_shape(FLGR_Data2D *dat, FLGR_Shape shape);
00487
00488 EXPORT_LIB FLGR_Ret flgr2d_data_set_connexity(FLGR_Data2D *dat, FLGR_Connexity connexity);
00489
00490 EXPORT_LIB FLGR_Ret flgr2d_clear_all(FLGR_Data2D *data);
00491
00492
00493 #endif
00494
00495 #ifdef __cplusplus
00496 }
00497 #endif