00001
#ifndef _SEGMENT_H_
00002
#define _SEGMENT_H_
00003
00004
00005
00006
00007
00008
00026 struct Segment
00027 {
00028
int nStatus;
00029
00030 MQTileID bTile;
00031
int nIndex;
00032
00033 Attributes attr;
00034
00035
FPeak2i* pFPeaks;
00036
FPeak2iPointer* pPFPeaks;
00037
00038
int nFPeaks;
00039
float dChiSquare;
00040
int nIterations;
00041 };
00042
00043
typedef struct Segment Segment;
00044
00045
void Segment_fprint (FILE* fp, Segment seg);
00046
void Segment_destroy (Segment* segment);
00047 Segment Segment_copy(Segment *segm);
00048
void Segment_validatePositivePeaks(Segment* segment);
00049
void Segment_init(Segment* segment, Attributes* attr);
00050 Segment* SegmentArray_create (
int nSegments);
00051 Segment* SegmentArray_getUsingIndexArray(Segment* array,
int* pIndexArray,
int nIndices);
00052
void SegmentArray_destroy(Segment** pSegmentArray,
int nSegments);
00053
void Segment_createFromFPeak2iArray(Segment* segment,
FPeak2i* pFPeaks,
int size);
00054
00055
00056
FPeak2i* SegmentArray_getFPeaksUsingIndexArray(Segment* array,
int* index_array,
int nSegments,
00057
int* nPeaks);
00058
00059
00060
FPeak2i* SegmentArray_getFPeaks(Segment* array,
int nSegments,
int* nFPeaks);
00061
void SegmentArray_markSegmentsContainingPeaks( Segment* pSegment,
int nSegment,
00062
Peak2i* peaks,
int npeaks,
00063
Map2D* map,
float dMZTolerance,
int nScanTolerance);
00064
00065
00066
typedef struct
00067
{
00068
FPeak2iPointer fpeak;
00069
int segment;
00070 } FPeak2iToSegmentIndex;
00071
00072
typedef struct
00073
{
00074
char* szSession;
00075
int nSegment;
00076 } SegmentQuery;
00077
00078 FPeak2iToSegmentIndex* SegmentArray_getFPeak2iToSegmentIndex(Segment* pSegments,
00079
int nSegments,
00080
int nFPeaks);
00081
void SegmentArray_sortByTileAndSegment(Segment* pArray,
int nArray);
00082
00083
void FPeak2iToSegmentIndex_sortByFPeak2iPointerSamplingCoordinates(FPeak2iToSegmentIndex* fpk2sgm,
int size);
00084
int FPeak2iToSegmentIndex_queryBySamplingCoordinates(FPeak2iToSegmentIndex* fpk2sgm,
int size,
int scan,
int bin);
00085
00086
int SegmentArray_countFPeaks(Segment* pSegments,
int nSegments);
00087
int SegmentArray_queryBySamplingCoordinates(Segment* pSegments,
int nSegments,
int nFPeaks,
int scan,
int bin);
00088 Segment* SegmentArray_queryByTileAndSegment(Segment* pArray,
int nArray, MQTileID bTile,
int nSegment);
00089
#endif
00090
00091
00092
00093