00001
#ifndef _PEAKFIND_H_
00002
#define _PEAKFIND_H_
00003
00004
00005
00006
00007
00008
00009
struct PeakFinder
00010 {
00011
unsigned pos_type: 1;
00012
unsigned stg_type: 1;
00013
00014
char* structElement;
00015
float threshold;
00016
float noise_factor;
00017
float nsd;
00018
00019 PeakArray peaks;
00020
int npeaks;
00021 };
00022
00023
typedef struct PeakFinder PeakFinder;
00024
00025
00026
void PeakFinder_init(PeakFinder* pf,
char* structElement,
float threshold);
00027
void PeakFinder_destroy(PeakFinder* pf);
00028
void PeakFinder_setNoiseModel(PeakFinder* pf,
float noisefactor,
float numberofsd);
00029
int PeakFinder_cmp(
const void* pf1,
const void* pf2);
00030
int PeakFinder_findPeaksInMap2D(PeakFinder *PF,
Map2D *map);
00031
void PeakFinder_filterPeaksUsingNoiseInformation(PeakFinder* pf,
Map2D* map,
float noise_factor,
int no_sd);
00032
00033
int arrayFindPeak2i(
float** array,
int height,
int width,
00034
char* szStructElemName,
int threshold,
00035
Peak2i** peaks,
int* nsize);
00036
00037
int findPeak2i (
struct Map2D* MAP,
char* szStructElemName,
int threshold,
00038
Peak2i** peaks,
int* nsize);
00039
00040
int findPeak2f (
struct Map2D* MAP,
char* szStructElemName,
int threshold,
00041 Peak2f** peaks,
int* nsize);
00042
00043
int findPeak3f (
struct Map2D *MAP,
char* szStructElemName,
int threshold,
00044 Peak3f** peaks,
int* nsize);
00045
00046
int findPeak2i_3f(
struct Map2D* MAP,
char* szStructElemName,
int threshold,
00047
Peak2i** peaks, Peak3f** peaks2,
int* nsize);
00048
00049
00050
00051
00052
00053
#endif
00054