/* !F77 !DESCRIPTION: Finds if current pixel is adjacent to a cloudy pixel. !Input parameters: none !Output Parameters: none Output stored in output "testbit" array; bit #12 !Revision History: original version 12/07 !Team-unique Header: !References and Credits: !END ***********************************************************************/ /* Includes */ #include #include #include "pixel.h" #include "mask_processing_constants.h" #include "granule.h" void get_cloud_adj() { /**********************************************************************/ /* Declarations */ extern int check_line_edge(int, int, int); extern int check_elem_edge(int, int, int); extern int check_bits(int, unsigned char[]); extern void set_bit(int, unsigned char[]); int imvl, imve, nl, ne; int i,k; int line, elem, idx; int line_edge, elem_edge; int bit_test2; int bit_test0; int cloud; long int j; long int ide; unsigned char adj_testbits[6]; unsigned char current_testbits[6]; unsigned char currentqa_testbits[10]; /**********************************************************************/ /* Initializations */ line = 0; elem = 0; idx = 0; /**********************************************************************/ // Cycle through the granule. for (line=0; line 0) { nl = 2; imvl = 1; } else { nl = nlcntx; imvl = 1; } if(elem_edge && elem == 0) { ne = 2; imve = 0; } else if(elem_edge && elem > 0) { ne = 2; imve = 1; } else { ne = necntx; imve = 1; } // Get cloud adjacency for current pixel. cloud = 0; for(i=0; i