Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
extract.h
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*
* Part of: SExtractor
*
* Author: E.BERTIN (IAP, Leiden observatory & ESO)
*
* Contents: functions for extraction of connected pixels from
* a bitmap.
*
* Last modify: 29/11/2005
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
/*------------------------------ definitions --------------------------------*/
#define NOBJ 256 /* starting number of obj. */
#define UNKNOWN -1 /* flag for LUTZ */
/*--------------------------------- typedefs --------------------------------*/
typedef enum {COMPLETE, INCOMPLETE, NONOBJECT, OBJECT}
status; /* Extraction status */
/*--------------------------------- variables -------------------------------*/
PIXTYPE *dumscan;
/*------------------------------- structures --------------------------------*/
/* Temporary object parameters during extraction */
typedef struct structinfo
{
LONG pixnb; /* Number of pixels included */
LONG firstpix; /* Pointer to first pixel of pixlist */
LONG lastpix; /* Pointer to last pixel of pixlist */
short flag; /* Extraction flag */
} infostruct;
/*------------------------------- functions ---------------------------------*/
void lutzalloc(int, int),
lutzfree(void),
lutzsort(infostruct *, objliststruct *),
sortit(picstruct *, picstruct *, picstruct *, picstruct *,
infostruct *, objliststruct *, PIXTYPE *, PIXTYPE *),
update(infostruct *, infostruct *, pliststruct *);
int lutz(objliststruct *, int, objstruct *, objliststruct *);