1 |
#ifndef LEV0LEV1_INCL |
2 |
#define LEV0LEV1_INCL 1 |
3 |
|
4 |
//NOTE: the NUMRECLEV1S must be a string for module_args[] in |
5 |
//build_lev1_mgr.c and NUMRECLEV1 a number in build_lev1.c |
6 |
//NUMRECLEV1S and NUMRECLEV1 must be the same number of images. |
7 |
#define NUMRECLEV1S "12"//# of lev0 to lev1 images to process at a time |
8 |
//Used by build_lev1_mgr.c and |
9 |
//build_lev1.c. Compile both if change |
10 |
#define NUMRECLEV1 12 //# of lev0 to lev1 images to process at a time |
11 |
|
12 |
//Used by build_lev1.c to pass info to do_flat(). |
13 |
//All the data arrays are filled in except adata1, |
14 |
//which do_flat() populates. |
15 |
typedef struct { |
16 |
DRMS_Record_t *rs0; //drms lev0 record |
17 |
DRMS_Record_t *rs1; //drms lev1 record |
18 |
DRMS_Record_t *rsff; //drms flat field record |
19 |
short *adata0; //lev0 segment array data |
20 |
union { |
21 |
float *adata1; |
22 |
int *adata1A; |
23 |
} dat1; |
24 |
float *adataff; //flat field array data |
25 |
float *adatadark; //bias dark array data |
26 |
int *adatabad; //bad pixel array data |
27 |
long long recnum0; //lev0 record DRMS record number |
28 |
long long recnum1; //lev1 record DRMS record number |
29 |
unsigned int fsn; //fsn of lev0 record |
30 |
int himgcfid; //HMI_SEQ_ID_IMAGE_CNFG |
31 |
int darkflag; //1=dark image |
32 |
int datamin; |
33 |
int datamax; |
34 |
int datamedn; |
35 |
double datamean; |
36 |
double data_rms; |
37 |
double dataskew; |
38 |
double datakurt; |
39 |
double oscnmean; |
40 |
double oscnrms; |
41 |
int datavals; //on input=lev0 vals, output lev1 vals |
42 |
int missvals; //on input=lev0 vals, output lev1 vals |
43 |
short sumx; //from lev0 kw SUMSPTRL |
44 |
short sumy; //from lev0 kw SUMSPAT |
45 |
int nx; //from lev0 segment->axis[0] |
46 |
int ny; //from lev0 segment->axis[1] |
47 |
int winflip; |
48 |
} LEV0LEV1; |
49 |
|
50 |
#endif |