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

massspec/fitter.h

Go to the documentation of this file.
00001 #ifndef _FITTER_H_ 00002 #define _FITTER_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 00019 typedef struct 00020 { 00021 Peak2i* pPeaks; 00022 int nPeaks; 00023 int* pCurves; 00024 int nCurves; 00025 Map2D* pMap; 00026 } FitterInput; 00027 00028 typedef struct 00029 { 00030 int nIteration; 00031 float dChiSquare; 00032 FPeak2i* pFPeaks; 00033 int nFPeaks; 00034 } FitterOutput; 00035 00036 typedef struct 00037 { 00038 unsigned isMutlipleCurves: 1; 00039 unsigned haveCommonWidth: 1; 00040 00041 FitterInput input; 00042 FitterOutput output; 00043 00044 int nStatus; 00045 int nOptions; 00046 00047 int nCurrPeaks; 00048 float* pValueParamArray; 00049 int* pStateParamArray; 00050 int nParams; 00051 int* pParamPerCurveArray; 00052 00053 } MapFitter; 00054 00055 extern int FITTER_INIT_SIGMA_RT_SET; 00056 extern int FITTER_INIT_SIGMA_MZ_SET; 00057 00058 extern float INIT_SIGMA_RT; 00059 extern float INIT_SIGMA_MZ; 00060 00061 enum {FITTER_INIT_SIGMA_RT_PARAMETER, 00062 FITTER_INIT_SIGMA_MZ_PARAMETER}; 00063 00064 extern int NR_BD_GAUSSIOID_FIX_CHARGE; 00065 extern int FITTER_MAX_NO_PEAKS; 00066 extern int FITTER_MAX_ITERATIONS; 00067 00068 void Fitter_setParameter(int parameter, float value); 00069 00070 void Fitter_init(MapFitter* mfitter); 00071 int Fitter_init_2(MapFitter* fitter, Map2D* map, int scan, int bin, int charge); 00072 00073 int Fitter_setInitCondForPeptide(MapFitter* fitter, Map2D* map, 00074 int scan, int bin, 00075 float charge, int carbons, 00076 int curve_index); 00077 00078 void Fitter_fixParameter(MapFitter* mfitter, int parameter); 00079 void Fitter_setStateParamArray(MapFitter* mfitter); 00080 void Fitter_destroy(MapFitter* mfitter); 00081 void Fitter_fprint(FILE* fp, MapFitter* fitter); 00082 00083 Map2D Fitter_createFittedMap(MapFitter MFF); 00084 Map2D Fitter_createFittedMapFromFPeaks(Map2D* pMap, FPeak2i* pFPeaks, int nFPeaks); 00085 Map2D Fitter_createMapFromFPeaks(Map2D* temp_map, FPeak2i* pFPeaks, int nFPeaks); 00086 00087 float* Fitter_getInitialConditionsOfUnion(FPeak2i* pIn1 /* pre-alloc */, int nIn1, 00088 FPeak2i* pIn2 /* pre-alloc */, int nIn2, 00089 int* nInit); 00090 00091 Peak2i* Fitter_getPeak2iArrayOfUnion(FPeak2i* pIn1 /* pre-alloc */, int nIn1, 00092 FPeak2i* pIn2 /* pre-alloc */, int nIn2, 00093 int* nPeaks); 00094 00095 int* Fitter_getCurveArrayOfUnion(FPeak2i* pIn1 /* pre-alloc */, int nIn1, 00096 FPeak2i* pIn2 /* pre-alloc */, int nIn2, 00097 int* nCurves); 00098 00099 int Fitter_getInitialConditionsFromPeak2iArray(MapFitter* ftt, 00100 Map2D* map, 00101 Peak2i* pPeaks, int nPeaks, 00102 int curve); 00103 00104 int Fitter_getInitialConditionsFromFPeak2iArray(MapFitter* ftt, 00105 Map2D* map, 00106 FPeak2i* pFPeaks, int nPeaks, 00107 int curve); 00108 00109 float* Fitter_getInitialConditionsWithMultipleCurves(MapFitter* fitter); 00110 00111 /* Flag index: 00112 -I Initial conditions 00113 -M Multiple curves 00114 -T by iTeration 00115 */ 00116 00117 /* Fitter_fitPeaks: 00118 1. initial conditions not given 00119 2. single type of curve 00120 3. with iterative correction 00121 */ 00122 00123 int Fitter_fitPeaks(MapFitter* fitter); /* -T */ 00124 00125 /* Fitter_fitPeaks: 00126 1. initial conditions given 00127 2. single type of curve 00128 3. with iterative correction 00129 */ 00130 00131 int Fitter_fitPeaksGivenInitialConditions(MapFitter* fitter); /* -I -T*/ 00132 00133 /* Fitter_fitPeaksWithMultipleCurves: 00134 1. initial conditions not given 00135 2. multiple types of curves 00136 3. with iterative correction 00137 */ 00138 int Fitter_fitPeaksWithMultipleCurves(MapFitter* fitter); /* -M */ 00139 00140 /* Fitter_fitPeaksGivenInitialConditionsMultipleCurves 00141 1. initial conditions given 00142 2. multiple types of curves 00143 3. without iterative correction 00144 */ 00145 int Fitter_fitPeaksGivenInitialConditionsMultipleCurves(MapFitter* fitter); /* -I -M -T*/ 00146 00147 00148 00149 #endif 00150

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