00001 #ifndef _FPEAK_H_
00002 #define _FPEAK_H_
00003
00004
00005
00006
00007
00008
00023 struct FPeak2i
00024 {
00025 unsigned isValid : 1;
00026 unsigned nStatus : 3;
00027
00028 int rt_i;
00029 int mz_j;
00030 float* param;
00031 };
00032
00033 typedef struct FPeak2i FPeak2i;
00034
00035
00036
00037
00038
00039 FPeak2i FPeak2i_create(int scan, int bin, float* param);
00040 void FPeak2i_destroy(FPeak2i* peak);
00041 FPeak2i* FPeak2i_new();
00042
00043 void FPeak2i_fprint (FILE* fp, FPeak2i* fpeak);
00044 void FPeak2i_fprintln(FILE* fp, FPeak2i fpeak);
00045
00046 void FPeak2i_fprintWithCurve(FILE* fp, FPeak2i fpeak);
00047 void FPeak2i_fprintlnWithCurve(FILE* fp, FPeak2i fpeak);
00048
00049 char* FPeak2i_toString(FPeak2i* fpeak);
00050 FPeak2i FPeak2i_cpyFPeak2i(FPeak2i aa);
00051 void FPeak2i_copy(FPeak2i* fpk, FPeak2i* aa);
00052
00053
00054 Peak2i FPeak2i_getPeak2i(FPeak2i peak);
00055 Peak2i FPeak2i_getPeak2iFitted(FPeak2i* peak, MQExperiment* expmnt);
00056
00057 Peak2f FPeak2i_getPeak2f(FPeak2i peak);
00058 float FPeak2i_getMZ(FPeak2i* peak);
00059 float FPeak2i_getRT(FPeak2i* peak);
00060 float FPeak2i_getZ(FPeak2i* peak);
00061 float FPeak2i_hasZ(FPeak2i* peak);
00062 float FPeak2i_getParam(FPeak2i* peak, int params);
00063 void FPeak2i_setParam(FPeak2i* peak, int params, float value);
00064
00065 void FPeak2i_filterCurveWithZ(FPeak2i* fpeak);
00066
00067 float FPeak2i_getRealValueDeviation(FPeak2i* fpk, MQExperiment* expmnt, int dimension);
00068 int FPeak2i_getDiscreteValueDeviation(FPeak2i* fpk, MQExperiment* expmnt, int dimension);
00069
00070 int FPeak2i_areParametersPositive(FPeak2i fpeak);
00071
00072 int FPeak2i_cmpBySamplingCoordinates(const void *p1, const void *p2);
00073 int FPeak2i_cmpByAbundance(const void *p1, const void *p2);
00074 int FPeak2i_cmpByMZJ(const void *p1, const void *p2);
00075 int FPeak2i_cmpByMOZ(const void *p1, const void *p2);
00076
00077 void FPeak2i_fprintCommaDelimited(FILE* fp, FPeak2i* peak);
00078
00079 #endif
00080
00081