| find(Map) |    | 96% |    | 88% | 3 | 19 | 0 | 48 | 0 | 1 | 
| handlePossibleCenter(int[], int, int, boolean) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| FinderPatternFinder(BitMatrix) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| handlePossibleCenter(int[], int, int) |    | 96% |    | 92% | 1 | 8 | 1 | 21 | 0 | 1 | 
| getImage() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getPossibleCenters() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| clearCounts(int[]) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| shiftCounts2(int[]) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| crossCheckDiagonal(int, int) |    | 99% |    | 97% | 1 | 24 | 1 | 34 | 0 | 1 | 
| foundPatternDiagonal(int[]) |    | 97% |    | 93% | 1 | 9 | 1 | 16 | 0 | 1 | 
| crossCheckVertical(int, int, int, int) |   | 100% |   | 100% | 0 | 27 | 0 | 39 | 0 | 1 | 
| crossCheckHorizontal(int, int, int, int) |   | 100% |   | 100% | 0 | 27 | 0 | 39 | 0 | 1 | 
| selectBestPatterns() |   | 100% |   | 100% | 0 | 15 | 0 | 58 | 0 | 1 | 
| foundPatternCross(int[]) |   | 100% |   | 100% | 0 | 9 | 0 | 16 | 0 | 1 | 
| haveMultiplyConfirmedCenters() |   | 100% |   | 100% | 0 | 6 | 0 | 16 | 0 | 1 | 
| findRowSkip() |   | 100% |   | 100% | 0 | 5 | 0 | 13 | 0 | 1 | 
| doShiftCounts2(int[]) |   | 100% |  | n/a | 0 | 1 | 0 | 6 | 0 | 1 | 
| squaredDistance(FinderPattern, FinderPattern) |   | 100% |  | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 
| FinderPatternFinder(BitMatrix, ResultPointCallback) |   | 100% |  | n/a | 0 | 1 | 0 | 6 | 0 | 1 | 
| centerFromEnd(int[], int) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getCrossCheckStateCount() |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| static {...} |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| doClearCounts(int[]) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 |