Our student development team came across your open source project while looking for a JAVA based fingerprint SDK.
We are curious as to the current state of SourceAFIS:
Is it still under development and will be supported by you or the community in the future?
Is it stable enough at this point to do what we need for our project (1-N patient tracking)?
We are now using the open source NIST C++ code any thoughts on this?
I am familiar with the commercial products by BIO-key and Neurotech for AFIS, does SourceAFIS have similar speed in 1-N?
I apologize in advance if these questions are simple - I am on the project management side of the team (not one of the coders, but they are CC'd). We are looking for a package that we can work with moving forward.
I will be continuously maintaining SourceAFIS for the foreseeable future. It's a little different with the java port. I've originally developed SourceAFIS in C# and all releases of SourceAFIS contain stable C# version. Java code was contributed by two other developers over the last two years, but it's by no means production ready. Last release contains working java matcher, but no java extractor, which is present only in development branch. Lots of rough edges are still in. I will have to get the java port to production quality myself. I hope to get around to doing that sometime during 2013. Meantime I recommend using the stable C# version of SourceAFIS.
The one variable you want to watch out for is false reject rate (FRR), i.e. how often the system doesn't recognize the fingerprint. FAR is not a big issue, because it can be driven below 0.01% by setting match threshold high enough. Accuracy benchmark by FVC-onGoing shows FRR 10.9% at FAR 0.01%. That means 1 in 10 patients won't be recognized. You can lower FRR below 1% by repeated scanning until you get quality fingerprint (hard to do consistently) or by scanning and matching multiple fingers (much easier to manage). With larger databases, it's also recommended to use separate finger for final verification match in order to prevent FAR from rising with every increase in database size.
NIST C++ code is good, but it lacks independent accuracy and performance benchmarks. That makes it hard to compare. SourceAFIS uses many algorithms inspired by NIST code.
SourceAFIS matches 10,000 fingerprints/second on standard dual-core processor. This is by no means comparable to high-end commercial products, which can match millions of fingerprints per second.