Code covered by the BSD License
 ...RIDGEORIENT  Estimates the local orientation of ridges in a fingerprint
 FindOrient(img, x, y)Joshua Ibrahim
 FindTheta(img, x, y, CN)
 W=gaussker(N);
 [BH,mean_dist]=sc_compute...[BH,mean_dist]=sc_compute(Bsamp,Tsamp,mean_dist,nbins_theta,nbins_r,r_inner,r_outer,out_vec);
 [HC]=hist_cost_2(BH1,BH2,...HC=hist_cost_2(BH1,BH2);
 [cx,cy,E,L]=bookstein(X,Y...
 angular_filter_bank(BW,fn...
 calc_EER(genuine_dists, i...genuine_scores = genuine_dists;
 calc_genuine_pdf(genuine_...genuine_scores = genuine_dists;
 calc_imposter_pdf(imposte...
 calc_orient(A, rA, B, rB,...JI
 calculate_FMR(imposter_sc...
 calculate_FMR(impostor_di...
 calculate_FNMR(genuine_di...
 calculate_FNMR(genuine_di...
 clean_minutia(m, m_CN, im...JI: Removes spikes
 compute_coherence(oimg)
 dist2(x, c)DIST2 Calculates squared distance between two sets of points.
 do_match(f1, f2)Author: Joshua Abraham
 extract_finger(filename)Author: Joshua Abraham
 fft_enhance_cubs(img, BLKSZ)
 figures(f1, f2)Bibliography
 filter_minutia(img, index...call with thinned, index, minutiae list, x
 freqest(im, orientim, win...FREQEST  Estimate fingerprint ridge frequency within image block
 houghline(Imbinary,pstep,...HOUGHLINE  detects lines in a binary image using common computer vision operation known as the Hough Transform.
 hungarian.m
 im(X,vec);
 normalise(im, reqmean, re...NORMALISE  Normalises image values to 01, or to desired mean and variance
 orientation_image_rao(x)
 p(img, x, y, i)
 partest(x)This function calculate the performance, based on Bayes theorem, of a
 plotridgeorient(orient, s...PLOTRIDGEORIENT  plot of ridge orientation data
 pseudo_matched_filter(x,a...
 radial_filter_bank
 register(f1,f2)Author: Joshua Abraham
 ridgefilter(im, orient, f...RIDGEFILTER  enhances fingerprint image via oriented filters
 ridgefreq(im, mask, orien...RIDGEFREQ  Calculates a ridge frequency image
 ridgesegment(im, blksze, ...RIDGESEGMENT  Normalises fingerprint image and segments ridge region
 roc(x,y)ROC  Receiver Operating Characteristics.
 show(im, figNo, Title)SHOW  Displays an image with the right size and colors and with a title.
 smoothen_frequency_image(...
 smoothen_orientation_imag...
 test_bifurcation(img, x, ...Returns if the single ridge in a bifurcation is
 testfin(im)TESTFIN
 tico(img,x,y, oimg, orien...
 tps_iter_match_1(m1, m2, ...Author: Joshua Abraham
 tps_iter_match_m1(m1, m2,...Author: Joshua Abraham
 trace_path(img, m_list, p...call with thinned, index, minutiae list, x
 view_orientation_image(o)
 enhance_images.mBibliography
 extract_db.mAuthor: Joshua Abraham
 main.m
 match.m

View all files
Fingerprint matching algorithm using shape context and orientation descriptors
by
Joshua Abraham
04 Nov 2010
(Updated
08 Aug 2011)
Fingerprint matching code using a hybrid descriptor. EER < 1% (approx. 0.75%) on FVC2002 Db1_A.

calculate_FNMR(genuine_dists, all_dists) 
function [FNMR] = calculate_FNMR(genuine_dists, all_dists)
count = 0;
v = var(all_dists);
m = mean(all_dists);
c = 1/(sqrt(v*2*pi));
all_dists = sort(all_dists);
%genuine_dists = c * exp( ((genuine_dists  m).^2) ./ (2*v) );
for threshold = 0.01:0.0001:1.00
%tempvec = (genuine_dists > threshold*61);
%Find all genuines > than the threshold 'percentile' for all results
tempvec = (genuine_dists > all_dists(round (threshold * numel(all_dists)) ));
FNM = sum(tempvec);
count = count + 1;
FNMR(count,1) = FNM / numel(genuine_dists);
end


Contact us