00001 
#ifndef _SEGMENT_HANDLER_H_
00002 
#define _SEGMENT_HANDLER_H_
00003 
00004 
00005 
00006 
00007 
00008 
00009 
#define SEGMENT_HANDLER_MAX_NO_TILES 2
00010 
00021 
struct SegmentHandler
00022 {
00023         
unsigned                        isInitialized   : 1;
00024         
unsigned                        fpeakfileLoaded : 1;
00025 
00026         
Experiment*                     expmnt;
00027         
char*                           szSession;
00028 
00029         
Map2D                           ppSourceMaps[SEGMENT_HANDLER_MAX_NO_TILES];
00030         
Map2D                           ppStencilMaps[SEGMENT_HANDLER_MAX_NO_TILES];
00031         
00032         
char*                           szFPeakFilename;
00033         
00034         
struct PeakGroup        PeakGroupPrev;
00035         
struct PeakGroup        PeakGroupCurr;
00036         
struct FPeakFile        file;
00037 };
00038 
00039 
typedef struct SegmentHandler SegmentHandler;
00040 
00041 
#define MAX_NO_PG_FPEAKS 1000
00042 
00043 
enum{ SEGMENT_HANDLER_TILE, SEGMENT_HANDLER_SEAM };
00044 
00045 
void    SegmentHandler_init(SegmentHandler* sh, 
char* szExperimnet, 
char* szSession, 
char* szFPeaksSource);
00046 
void    SegmentHandler_destroy(SegmentHandler* sh);
00047 
00048 
00049 
Map2D   SegmentHandler_extractMultitileMap(SegmentHandler* sh, Map2DPosition* pos, 
int size);
00050 
00051 
void    SegmentHandler_updateSourceStencil(SegmentHandler* sh, 
struct PeakGroup* pg_prev, 
struct PeakGroup* pg_curr);
00052 
int             SegmentHandler_update(SegmentHandler* sh, 
PeakGroup* pg_prev, 
PeakGroup* pg_curr);
00053 
00054 
int             SegmentHandler_extractPeakGroupMap(SegmentHandler* sh, 
struct PeakGroup* peakgroup, 
Map2D* out_map);
00055 
int             SegmentHandler_extractStencilPeakGroupMap(SegmentHandler* sh, 
PeakGroup* peakgroup, 
Map2D* out_map);
00056 
00073 
int             SegmentHandler_extractPeakGroupMapFPeaks(SegmentHandler* sh, 
struct PeakGroup* peakgroup, 
FPeak2i* pfpeaks, 
int *nfpeaks);
00074 
00075 
00076 
00077 
#endif
00078 
00079