00001 #ifndef _SEGMENT_HANDLER_H_
00002 #define _SEGMENT_HANDLER_H_
00003
00004
00005
00006
00007
00008
00009 #define SEGMENT_HANDLER_MAX_NO_TILES 3
00010
00021 struct SegmentHandler
00022 {
00023 unsigned isInitialized : 1;
00024 unsigned fpeakfileLoaded : 1;
00025
00026 MQExperiment* 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 PeakGroup PeakGroupPrev;
00035 PeakGroup PeakGroupCurr;
00036 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
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 Map2D* SegmentHandler_getSourcePointerForTile(SegmentHandler* sh, MQTileID tile);
00055 Map2D* SegmentHandler_getStencilPointerForTile(SegmentHandler* sh, MQTileID tile);
00056
00057
00058
00059
00076 int SegmentHandler_extractPeakGroupMapFPeaks(SegmentHandler* sh, struct PeakGroup* peakgroup, FPeak2i* pfpeaks, int *nfpeaks);
00077
00078
00079
00080 #endif
00081
00082