1 /******************************************************************************
3 This file is part of the Export Control subset of the United States NIST
4 Biometric Image Software (NBIS) distribution:
5 http://fingerprint.nist.gov/NBIS/index.html
7 It is our understanding that this falls within ECCN 3D980, which covers
8 software associated with the development, production or use of certain
9 equipment controlled in accordance with U.S. concerns about crime control
10 practices in specific countries.
12 Therefore, this file should not be exported, or made available on fileservers,
13 except as allowed by U.S. export control laws.
15 Do not remove this notice.
17 ******************************************************************************/
19 /* NOTE: Despite the above notice (which I have not removed), this file is
20 * being legally distributed within libfprint; the U.S. Export Administration
21 * Regulations do not place export restrictions upon distribution of
22 * "publicly available technology and software", as stated in EAR section
23 * 734.3(b)(3)(i). libfprint qualifies as publicly available technology as per
24 * the definition in section 734.7(a)(1).
26 * For further information, see http://reactivated.net/fprint/US_export_control
29 /*******************************************************************************
32 This software was developed at the National Institute of Standards and
33 Technology (NIST) by employees of the Federal Government in the course
34 of their official duties. Pursuant to title 17 Section 105 of the
35 United States Code, this software is not subject to copyright protection
36 and is in the public domain. NIST assumes no responsibility whatsoever for
37 its use by other parties, and makes no guarantees, expressed or implied,
38 about its quality, reliability, or any other characteristic.
41 This software was developed to promote biometric standards and biometric
42 technology testing for the Federal Government in accordance with the USA
43 PATRIOT Act and the Enhanced Border Security and Visa Entry Reform Act.
44 Specific hardware and software products identified in this software were used
45 in order to perform the software development. In no case does such
46 identification imply recommendation or endorsement by the National Institute
47 of Standards and Technology, nor does it imply that the products and equipment
48 identified are necessarily the best available for the purpose.
50 *******************************************************************************/
52 /***********************************************************************
53 LIBRARY: FING - NIST Fingerprint Systems Utilities
56 ALGORITHM: Allan S. Bozorth (FBI)
57 MODIFICATIONS: Michael D. Garris (NIST)
61 Contains global variables responsible for supporting the
62 Bozorth3 fingerprint matching "core" algorithm.
64 ***********************************************************************
65 ***********************************************************************/
69 /**************************************************************************/
70 /* General supporting global variables */
71 /**************************************************************************/
73 int colp
[ COLP_SIZE_1
][ COLP_SIZE_2
]; /* Output from match(), this is a sorted table of compatible edge pairs containing: */
74 /* DeltaThetaKJs, Subject's K, J, then On-File's {K,J} or {J,K} depending */
75 /* Sorted first on Subject's point index K, */
76 /* then On-File's K or J point index (depending), */
77 /* lastly on Subject's J point index */
78 int scols
[ SCOLS_SIZE_1
][ COLS_SIZE_2
]; /* Subject's pointwise comparison table containing: */
79 /* Distance,min(BetaK,BetaJ),max(BetaK,BbetaJ), K,J,ThetaKJ */
80 int fcols
[ FCOLS_SIZE_1
][ COLS_SIZE_2
]; /* On-File Record's pointwise comparison table with: */
81 /* Distance,min(BetaK,BetaJ),max(BetaK,BbetaJ),K,J, ThetaKJ */
82 int * scolpt
[ SCOLPT_SIZE
]; /* Subject's list of pointers to pointwise comparison rows, sorted on: */
83 /* Distance, min(BetaK,BetaJ), then max(BetaK,BetaJ) */
84 int * fcolpt
[ FCOLPT_SIZE
]; /* On-File Record's list of pointers to pointwise comparison rows sorted on: */
85 /* Distance, min(BetaK,BetaJ), then max(BetaK,BetaJ) */
86 int sc
[ SC_SIZE
]; /* Flags all compatible edges in the Subject's Web */
88 int yl
[ YL_SIZE_1
][ YL_SIZE_2
];
91 /**************************************************************************/
92 /* Globals used significantly by sift() */
93 /**************************************************************************/
94 int rq
[ RQ_SIZE
] = {};
95 int tq
[ TQ_SIZE
] = {};
96 int zz
[ ZZ_SIZE
] = {};
98 int rx
[ RX_SIZE
] = {};
99 int mm
[ MM_SIZE
] = {};
100 int nn
[ NN_SIZE
] = {};
102 int qq
[ QQ_SIZE
] = {};
104 int rk
[ RK_SIZE
] = {};
106 int cp
[ CP_SIZE
] = {};
107 int rp
[ RP_SIZE
] = {};
109 int rf
[RF_SIZE_1
][RF_SIZE_2
] = {};
110 int cf
[CF_SIZE_1
][CF_SIZE_2
] = {};