FingerprintIO template codecs

FingerprintIO is a Java library that encodes and decodes publicly documented fingerprint template formats defined by ISO and ANSI. Currently supported formats include:

FingerprintIO itself does not perform feature extraction or matching. Use SourceAFIS for that.

Download

Get FingerprintIO from Maven Central:

Tool
<dependency>
    <groupId>com.machinezoo.fingerprintio</groupId>
    <artifactId>fingerprintio</artifactId>
    <version>0.1.1</version>
</dependency>

Or clone sources from GitHub or Bitbucket. Don't forget to configure your build for Java 8+. Sources and binaries are distributed under Apache License 2.0.

Usage

Here's a quick example demonstrating decoding of ANSI 378 template:

byte[] serialized = Files.readAllBytes(Paths.get("ansi378-2004-example.dat"));
if (Ansi378Template.accepts(serialized)) {
    System.out.println("This is an ANSI 378-2004 template.");
    Ansi378Template template = new Ansi378Template(serialized);
    int fpcount = template.fingerprints.size();
    System.out.printf("Template contains %d fingerprint(s).\n", fpcount);
    Ansi378Fingerprint fingerprint = template.fingerprints.get(0);
    int mincount = fingerprint.minutiae.size();
    System.out.printf("First fingerprint has %d minutiae.\n", mincount);
}

There's currently no javadoc, but object structure closely matches actual template structure. See classes Ansi378Template, Ansi378v2009Template, Ansi378v2009Am1Template, and Iso19794p2Template.

Contribute

FingerprintIO was developed by Robert Važan as a SourceAFIS spin-off. If you have any suggestions, including requests for documentation, report an issue (GitHub, Bitbucket) or submit a pull request (GitHub, Bitbucket). You can reach the author via email .