/* !C ******************************************************************** !Description: Header file pixel.h Defines "pixel_in" and "pixel_out" structures. The structure variables of type "pixel_in" contain all necessary inputs for generating a cloud mask for any given pixel. The structure variables of type "pixel_out" contain all output data pertaining to any given pixel, including the final confidence of clear sky. !Revision History: R. Frey 05/2007 !Team-unique Header: !References and Credits: !END ******************************************************************/ struct pixel_in { int scan; int elem; int line_edge; int elem_edge; int uniform; int day; int night; int polar; int water; int land; int desert; int coast; int ice; int snow; int map_snow; int ndsi_snow; int sunglint; int sh_ocean; int sh_lake; int visusd; int vrused; int hi_elev; int eco_type; int Antarctic; int Greenland; int sfct_flag; int bad_geo; int thinCirrusSolar; int thinCirrusIR; int nonCloudObstruction; float rad[36]; float sfctmp; float tpw; float lat; float lon; float sza; float vza; float raz; float refang; float tbadj; float ndvibk; float sctang; float emissfc22; float emissfc31; float emissfc32; float bt22clr; float bt31clr; float bt32clr; //For 250-m processing float prev_confidence; float prev_sza; int prev_land; int prev_day; int prev_ice; int prev_snow; int prev_sunglint; int prev_coast; int prev_desert; int prev_visusd; int prev_qa1km; unsigned char prev_qabits[10]; unsigned char prev_testbits[6]; } pxin; struct pixel_out { float confidence; float init_conf; float intermediate_conf; int nmtests; int nbands_used; int qa1km; unsigned char qabits[10]; unsigned char testbits[6]; unsigned char temp_qabits[10]; unsigned char temp_testbits[6]; //Means and sigmas of 250-m pixels processed with each 1-km pixel float qkm_mean[2]; float qkm_std[2]; } pxout; struct regional_var { float diff[8]; float mean; float sigma; int num_small_diffs; } rg_var;