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