Main Page | Modules | Data Structures | File List | Data Fields | Globals

massspec/fpeak.h

Go to the documentation of this file.
00001 #ifndef _FPEAK_H_ 00002 #define _FPEAK_H_ 00003 00004 /* Copyright (c) Kyriacos Leptos and the President and Fellows of Harvard University 00005 Release Date: 2004-11-01 00006 Part of the MapQuant suite library "massspec.lib" 00007 */ 00008 00023 struct FPeak2i 00024 { 00025 unsigned isValid : 1; 00026 unsigned isOversized: 1; 00027 00028 int rt_i; 00029 int mz_j; 00030 float* param; 00031 }; 00032 00033 typedef struct FPeak2i FPeak2i; 00034 typedef FPeak2i* FPeak2iArray; 00035 typedef FPeak2i* FPeak2iPointer; 00036 00037 enum { FPEAK_METRIC_MZ_WIDTH_OK = 0x00000001, 00038 FPEAK_METRIC_RT_WIDTH_OVER = 0x00000002, 00039 FPEAK_METRIC_MZ_WIDTH_OVER = 0x00000004, 00040 FPEAK_METRIC_RT_WIDTH_UNDER = 0x00001000, 00041 FPEAK_METRIC_MZ_WIDTH_UNDER = 0x00002000, 00042 FPEAK_METRIC_MZ_DISPL_OVER = 0x00100000 00043 }; 00044 00045 typedef struct 00046 { 00047 FPeak2i* fpeak; 00048 float aux_param; 00049 00050 } FPeak2iAuxParamIndex; 00051 00052 00053 void FPeak2iAuxParamIndex_sortByAuxParam(FPeak2iAuxParamIndex *pfpeaks, int nPeaks); 00054 00055 00056 00057 // *************************************************** 00058 // *************** FPeak2i Functions ***************** 00059 // *************************************************** 00060 00061 FPeak2i FPeak2i_create(int scan, int bin, float* param); 00062 void FPeak2i_destroy(FPeak2i* peak); 00063 FPeak2i* FPeak2i_new(); 00064 void FPeak2i_fprint (FILE* fp, FPeak2i fpeak); 00065 void FPeak2i_fprintln(FILE* fp, FPeak2i fpeak); 00066 00067 void FPeak2i_fprintWithCurve(FILE* fp, FPeak2i fpeak); 00068 void FPeak2i_fprintlnWithCurve(FILE* fp, FPeak2i fpeak); 00069 00070 char* FPeak2i_toString(FPeak2i* fpeak); 00071 FPeak2i FPeak2i_cpyFPeak2i(FPeak2i aa); 00072 void FPeak2i_copy(FPeak2i* fpk, FPeak2iPointer aa); 00073 00074 // ################# Get Functions ##################### 00075 Peak2i FPeak2i_getPeak2i(FPeak2i peak); 00076 Peak2i FPeak2i_getPeak2iFitted(FPeak2i* peak, Experiment* expmnt); 00077 00078 Peak2f FPeak2i_getPeak2f(FPeak2i peak); 00079 float FPeak2i_getMZ(FPeak2i* peak); 00080 float FPeak2i_getZ(FPeak2i* peak); 00081 float FPeak2i_hasZ(FPeak2i* peak); 00082 float FPeak2i_getParam(FPeak2i* peak, int params); 00083 00084 int FPeak2i_areParametersPositive(FPeak2i fpeak); 00085 int FPeak2i_cmpBySamplingCoordinates(const void *p1, const void *p2); 00086 int FPeak2i_cmpByAbundance(const void *p1, const void *p2); 00087 00088 // *************************************************** 00089 // *************** FPeak2iArray Functions ************ 00090 // *************************************************** 00091 00092 FPeak2i* FPeak2iArray_create (int size); 00093 FPeak2i* FPeak2iArray_copy (FPeak2i* fpeaks, int npeaks); 00094 void FPeak2iArray_destroy (FPeak2i** peak, int nSize); 00095 void FPeak2iArray_freeParam (FPeak2i* peak, int nSize); 00096 float* FPeak2iArray_getFloatArray (FPeak2i* pfpeaks, int size, int param); 00097 float* FPeak2iArray_getParamArray (FPeak2i* pfpeaks, int size, ParameterName params, int* nParameters); 00098 int* FPeak2iArray_getCurveArray (FPeak2i* fpk, int npeaks); 00099 Peak2i* FPeak2iArray_getPeak2iArray(FPeak2i* peaks, int npeaks); 00100 Peak2i* FPeak2iArray_getPeak2iArrayFitted(FPeak2i* peaks, int npeaks, Experiment* expmnt); 00101 00102 void FPeak2iArray_sortByMZJ (FPeak2i *pfpeaks, int nPeaks); 00103 void FPeak2iArray_sortByMOZ (FPeak2i *pfpeaks, int nPeaks); 00104 void FPeak2iArray_sortByAbundance(FPeak2i *pfpeaks, int nPeaks); 00105 int FPeak2iArray_countFPeaksOfCurve(FPeak2i* array, int start, int stop, int curve); 00106 void FPeak2iArray_fprintRestrictCurve(FILE* fp, FPeak2i* array, int start, int stop, int curve); 00107 void FPeak2iArray_fprint(FILE* fp, FPeak2i* array, int start, int stop); 00108 void FPeak2iArray_fprintValid(FILE* fp, FPeak2i* array, int start, int stop); 00109 void FPeak2iArray_fprintWithCurve(FILE* fp, FPeak2i* array, int start, int stop); 00110 void FPeak2iArray_printParam(FPeak2i* array, int npeaks, int parameter); 00111 00112 void FPeak2iArray_setElement(const void* array, int index, const void* data); 00113 00114 00115 FPeak2iPointer* FPeak2iArray_getFPeak2iPointerArray(FPeak2i* peaks, int npeaks); 00116 int FPeak2iArray_getIndexWithNegativeParam(FPeak2i* array, int npeaks); 00117 FPeak2iPointer* FPeak2iArray_getFPeak2iPointerArrayWithRestrictions(FPeak2i* peaks, int npeaks, 00118 PeakRestrictions* restr, int* npeaks_pass); 00119 00120 void FPeak2iArray_transformSamplingCoordinates(FPeak2iArray* fpeaks, int npeaks, int type, Rectangle4i rect); 00121 00122 void FPeak2iArray_transformSamplingCoordinates_2(FPeak2i** fpeaks, 00123 int npeaks, 00124 Rectangle4i child, 00125 Rectangle4i parent); 00126 00127 void FPeak2iArray_transformSamplingCoordinates_3(FPeak2i** fpeaks, 00128 int npeaks, 00129 Rectangle4i child, 00130 Rectangle4i parent); 00131 00132 FPeak2i* FPeak2iArray_getInitialConditions(int curve, struct Map2D* map, Peak2i* peaks, int npeaks); 00133 00134 int FPeak2iArray_removePeaksScanWindow(FPeak2i* array_in, int* npeaks_in, 00135 FPeak2i* array_out, int* npeaks_out, 00136 int scan_mean, int scan_width); 00137 00138 int FPeak2iArray_getLastIndexOfValid(FPeak2i* pFPeaks, int nFPeaks, int limit); 00139 00140 // *************************************************** 00141 // *************** FPeak2iPointer Functions ********** 00142 // *************************************************** 00143 00144 FPeak2iPointer FPeak2iPointer_copy(FPeak2iPointer aa); 00145 int FPeak2iPointer_cmpBySamplingCoordinates(const void *p1, const void *p2); 00146 int FPeak2iPointer_cmpByMZJ(const void *p1, const void *p2); 00147 int FPeak2iPointer_cmpByMOZ(const void *p1, const void *p2); 00148 int FPeak2iPointer_getSegment(FPeak2iPointer fpeak, struct Map2D* mask); 00149 00150 // *************************************************** 00151 // *************** FPeak2iPointerArray Functions ***** 00152 // *************************************************** 00153 00154 FPeak2iPointer* FPeak2iPointerArray_copyPointersOnly(FPeak2iPointer* aa, int n); 00155 FPeak2iPointer* FPeak2iPointerArray_copy(FPeak2iPointer* aa, int n); 00156 FPeak2iPointer* FPeak2iPointerArray_copyPart(FPeak2iPointer* in, int start, int stop); 00157 00158 Peak2i* FPeak2iPointerArray_getPeak2iArray(FPeak2iPointer* peaks, int npeaks); 00159 00160 float* FPeak2iPointerArray_getFloatArray(FPeak2iPointer* pfpeaks, int size, int param); 00161 void FPeak2iPointerArray_sortByMZJ(FPeak2iPointer *pfpeaks, int nPeaks); 00162 void FPeak2iPointerArray_sortByMOZ(FPeak2iPointer *pfpeaks, int nPeaks); 00163 FPeak2i* FPeak2iPointerArray_getFPeak2iArray(FPeak2iPointer* peaks, int npeaks); 00164 00165 void FPeak2iPointerArray_destroy (FPeak2iPointer** array, int nsize); 00166 FPeak2iPointer* FPeak2iPointerArray_create (int size); 00167 00168 void FPeak2iPointerArray_fprint (FILE* fp, FPeak2iPointer* array, 00169 int start, int stop); 00170 void FPeak2iPointerArray_fprintWithCurve (FILE* fp, FPeak2iPointer* array, 00171 int start, int stop); 00172 void FPeak2iPointerArray_fprintWithPos (FILE* fp, FPeak2iPointer* array, 00173 Map2DPositionPointer* pos_array, 00174 int start, int stop); 00175 00176 void FPeak2iPointerArray_setElement (const void* array, int index, const void* data); 00177 00178 // *************************************************** 00179 // *************** FPeak2iPointerSet Functions ******* 00180 // *************************************************** 00181 00182 #include "fpeakpointer_set.h" 00183 00184 00185 00186 #endif 00187 00188

Generated on Sun Feb 13 01:05:57 2005 for MapQuant by doxygen 1.3.7