element 632 the row storage size is fixed at 15 u00d7 640 which limits the operation of the correlator 634 to images that are 656 pixels wide in an alternative embodiment the row storage size is made variable the correlation value is calculated at each template location if the correlation value meets or exceeds the correlation threshold stored in the correlation thresholder 638 and the template is within the area of interest in the image the correlation and template location are saved in the correlation peak ram 642 the template position tracker 636 contains a row and column counter to track the position of the lower right corner of the template it also contains registers that define the area of interest the correlation peak ram address counter 640 increments when each peak is stored in ram 642 the correlation peak ram 642 preferably stores 1024 entries the correlator 634 uses a kernel the image data and a kernel mask to calculate the binary correlation for example the kernel is a 16 u00d7 16 square that contains a binary representation of a golden template mark the mask is used to specify which pixels within the 16 u00d7 16 square will be used for correlation and which pixels will be ignored the image data is a 16 u00d7 16 section of the image that is being correlated upon in general binary correlation is simply counting the number of bits within the image data that match the bits in the template bits that are masked out are ignored on a pixel by pixel basis the logic function is mask kernel image data correlation notes 0 0 0 0 masked 0 0 1 0 masked 0 1 0.