00001
#ifndef _MS_SPECTRUM_TK_H_
00002
#define _MS_SPECTRUM_TK_H_
00003
00004
00005
00006
00007
00008
00009
enum {MS_CENTROID, MS_PROFILE};
00010
00011
struct MS_Spectrum
00012 {
00013 Point2f *peaks;
00014
float *moz;
00015
float *abu;
00016
int type;
00017
float RT;
00018
int scanNumber;
00019
int no_of_peaks;
00020
Experiment *expmnt;
00021 };
00022
00023
typedef struct MS_Spectrum MS_Spectrum;
00024
00025
void MSSpectrum_alloc(MS_Spectrum* ms_sp,
int size);
00026
int MSSpectrum_create(MS_Spectrum* mss, Point2f* dpeaks,
int npeaks);
00027
00028
void MSSpectrum_init(MS_Spectrum* ms_sp);
00029
void MSSpectrum_initPeaks(MS_Spectrum* ms_sp);
00030
00031
void MSSpectrum_destroy(MS_Spectrum* ms_sp);
00032
00033 int (*MSSpectrum_loadFromRawFile)(MS_Spectrum* sp,
Experiment* expmnt,
int scanNumber);
00034
00035
int MSSpectrum_loadFromTextFile (MS_Spectrum* sp,
char* specFile);
00036
int MSSpectrum_loadFromOpenRawMSArchive(MS_Spectrum* sp,
Experiment* expmnt,
int scanNumber);
00037
00038
int MSSpectrum_loadFromMQXML (MS_Spectrum* sp,
Experiment* expmnt,
int scanNumber);
00039
00040
float* MSSpectrum_getAbundanceFloatArrayWithLimitsAndWithZeroFill(MS_Spectrum* sp,
float start_moz,
float stop_moz,
float start_zero,
float stop_zero);
00041
00042
float* MSSpectrum_getMZArray(MS_Spectrum* sp);
00043
float* MSSpectrum_getMZArrayWithLimits(MS_Spectrum* sp,
float start,
float stop);
00044
00045
float* MSSpectrum_getAbundanceFloatArray(MS_Spectrum* sp);
00046
float* MSSpectrum_getAbundanceFloatArrayWithLimits(MS_Spectrum* sp,
float start,
float stop);
00047
float* MSSpectrum_getAbundanceFloatArrayWithLimitsAndWithZeroFill(MS_Spectrum* sp,
float start_moz,
float stop_moz,
float start_zero,
float stop_zero);
00048
00049
void MSSpectrum_fprint(FILE* fp, MS_Spectrum* mss);
00050
void MSSpectrum_fprintHeader(FILE *fp, MS_Spectrum* MS);
00051
void MSSpectrum_fprintNonZeros(FILE* fp, MS_Spectrum* mss);
00052
void MSSpectrum_print(MS_Spectrum* sp);
00053
00054
00055
#endif
00056