00001
#ifndef _FPEAKFILE_H_
00002
#define _FPEAKFILE_H_
00003
00004
00005
00006
00007
00008
00019
struct FPeakFile
00020 {
00021
unsigned int state: 2;
00022
unsigned int isMultiple: 1;
00023
00024 FILE* pFPeakFile;
00025 fpos_t datastart;
00026 fpos_t curr_pos;
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
char* szPathname;
00039
char* szName;
00040
char* szSession;
00041
char* szNameInSession;
00042
00043
Experiment* expmnt;
00044
00045
00046
Rectangle4i borders;
00047
00048
00049
char* ps;
00050 ProcScript procscript;
00051
00052
00053
00054
00055
00056
int curve;
00057
00058 Map2DPosition* pFPeakPositions;
00059
00060
FPeak2i* pFPeaks;
00061
int nFPeaks;
00062
int nCurrFPeak;
00063
00064
struct Segment* pSegments;
00065
00066
int nSegments;
00067
int nCurrSegment;
00068
00069
int nSkippedSegment;
00070
00071 };
00072
00073
typedef struct FPeakFile FPeakFile;
00074
00075
int FPeakFile_load(
char* szFilename, FPeakFile *file);
00076
int FPeakFile_sntLoad(FPeakFile* file,
Experiment* expmnt,
00077
char* session,
00078
char* name,
char* tile);
00079
00080
00081
int FPeakFile_populateNextSegment(FPeakFile* file);
00082
void FPeakFile_initIterator(FPeakFile* file);
00083
Segment* FPeakFile_getNextSegment(FPeakFile* file);
00084
00085
int FPeakFile_querySegment(
char* szFilename,
int scan,
int bin);
00086
00087
00088
00089
void FPeakFile_destroy(FPeakFile* file);
00090
int FPeakFile_countSegments(FPeakFile* file);
00091
void FPeakFile_init(FPeakFile* file);
00092
00093
void FPeakFile_fprintHeader(FILE* fp,
char *experiment,
00094
Rectangle4i *rect,
00095 ProcScript *PS,
00096
int nSegments,
00097
char* curve,
00098
int npeaks_cutoff);
00099
00100
FPeak2i* FPeakFile_getFPeak2iArray(FPeakFile fpkfile,
int* nFPeaks);
00101 Peak2f* FPeakFile_getPeak2fArray(FPeakFile* fpkfile,
int* nFPeaks);
00102
00103
int* getSkippedLabels(
char* szPath,
char* szFilename,
int* nsize);
00104
00105
struct Segment Experiment_getSegment(Experiment expmnt, char* szSession,
int nSegment);
00106
struct Segment FPeakFile_getSegment(FPeakFile fpkfile, char* szSession,
int nSegment);
00107
00108
void FPeakFile_tile(FPeakFile* fpk,
char* fullname);
00109
00110
00111
00112 FPeak2iToSegmentIndex* FPeakFile_getFPeak2iToSegmentMap(FPeakFile* file);
00113
00114
#endif
00115
00116