00001
#ifndef _IMAGE_H_
00002
#define _IMAGE_H_
00003
00004
00005
00006
00007
00008
00009
#define MASK -2
00010
#define WSHED 0
00011
#define INIT -1
00012
00013
extern int SEGMENTOR_MAX_NO_ATTRIBUTES;
00014
00015
void labelContour(
struct Map2D *SMAP,
struct Map2D *LMAP,
Peak2i peak,
float mval);
00016
void filterLMAPWithAttributes(
struct Map2D *MAP, Attributes* attr,
int nsize, Attributes restr);
00017
int estimatePeakWidths(
struct Map2D* SMAP,
Peak2i* p2iiPEAKS,
int no_peaks,
Peak2i PEAK,
float* sigma_t,
float *sigma_m);
00018
00019
00020 Attributes* EstimateWidths(
struct Map2D *SMAP,
struct Map2D *LMAP,
00021
Peak2i* p2iiPEAKS,
int no_peaks,
00022
int* no_cc,
int* no_succ_cc);
00023
00024 Attributes* labelConnectedComponents(
Map2D *SMAP,
Map2D *LMAP,
00025
Peak2i* p2iiPEAKS,
int no_peaks,
00026
int threshold,
00027
int* no_cc,
int* no_succ_cc);
00028
00029 Attributes* labelConnectedComponentsSE(
Map2D *SMAP,
struct Map2D *LMAP,
00030
Peak2i* p2iiPEAKS,
int no_peaks,
00031
int threshold,
00032
int* no_cc,
int* no_succ_cc,
char* szStructElemName);
00033
00034 Attributes* labelMap2D_SE(
Map2D *IMAP,
Map2D *OMAP,
00035
float threshold,
int* no_cc,
00036
char* szStructElemName1,
00037
char* szStructElemName2);
00038
00039
int Image_removeStreaks(
Map2D* map, PeakFinder* pf);
00040
00041
00042 ArrayDomain* Peak3iifArray_bin(Peak3iif *peaks,
int npeaks,
int *nisoypses,
int abubinsize);
00043
00044
int applyErosionToMapSE(
struct Map2D *IMAP,
struct Map2D *OMAP,
char* szStructElemName);
00045
int applyDilationToMapSE(
struct Map2D *IMAP,
struct Map2D *OMAP,
char* szStructElemName);
00046
int applyOpeningToMapSE(
struct Map2D *out,
struct Map2D *in,
char* szStructElemName);
00047
00048 Attributes* performWatershed(
struct Map2D* IMAP,
struct Map2D* LMAP,
00049
Peak2i* peaks,
int npeaks,
00050 ArrayDomain* isoypses,
int nisoypses,
int* nlabels);
00051
00052 Attributes* performWatershedSegmentation(
struct Map2D* IMAP,
struct Map2D* OMAP,
int* nlabels);
00053
00054 Attributes* performWatershedSegmentationWithRestrictions(
struct Map2D* IMAP,
struct Map2D* OMAP,
00055 PeakRestrictions SR,
00056
int* nlabels);
00057
00058
int MapProcessor_applyWatershedSegmentation(
struct Map2D* IMAP,
struct Map2D* OMAP);
00059
00060
00061
00062
00063
00064
00065
#endif
00066