Programas Biometricos de Seguridad.pdf

794
MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android Developer's Guide Copyright © 2011-2013 Neurotechnology. All rights reserved.

Transcript of Programas Biometricos de Seguridad.pdf

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for AndroidDeveloper's Guide

Copyright 2011-2013 Neurotechnology. All rights reserved.

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Table of Contents 1 About1.1 System Requirements 1.2 Licensing

11 1

2 Installation 3 What's New 4 Overview4.1 SDK Components 4.1.1 Embedded Fingerprint Extractor 4.1.2 Embedded Fingerprint Matcher 4.1.3 Embedded Face Extractor 4.1.4 Embedded Face Matcher 4.1.5 Embedded Voice Extractor 4.1.6 Embedded Voice Matcher 4.2 Supported Biometric Standards 4.2.1 Fingerprint BSS 4.2.2 Face BSS 4.2.3 Iris BSS 4.3 Required Libraries 4.4 Supported Devices 4.4.1 Fingerprint Scanners

3 4 77 7 7 7 8 8 8 8 9 10 10 11 11 11

5 Using5.1 System Setup Instructions 5.2 Android Activation 5.3 Matching Threshold and FAR/FRR 5.4 Quick Start

1313 14 21 23

6 Tutorials 7 Samples

24 26ii

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

7.1 VeriLook 7.2 VeriFinger 7.3 VeriSpeak 7.4 VeriEye 7.5 Java Samples Compilation

27 32 40 45 50

8 API Reference8.1 Java Reference 8.1.1 com.neurotec.biometrics Package 8.1.1.1 Classes 8.1.1.1.1 NBiometricAttributes Class 8.1.1.1.2 NBiometrics Class 8.1.1.1.3 NBiometricTypes Class 8.1.1.1.4 NEAttributes Class 8.1.1.1.5 NEESegmentationDetails Class 8.1.1.1.6 NEExtractor Class 8.1.1.1.7 NEMatchingDetails Class 8.1.1.1.8 NERecord Class 8.1.1.1.9 NETemplate Class 8.1.1.1.10 NFAttributes Class 8.1.1.1.11 NFCore Class 8.1.1.1.12 NFDelta Class 8.1.1.1.13 NFDoubleCore Class 8.1.1.1.14 NFExtractor Class 8.1.1.1.15 NFMatchingDetails Class 8.1.1.1.16 NFMinutia Class 8.1.1.1.17 NFMinutiaNeighbor Class 8.1.1.1.18 NFRecord Class 8.1.1.1.19 NFTemplate Class 8.1.1.1.20 NLAttributes Class 8.1.1.1.21 NLEDetectionDetails Class 8.1.1.1.22 NLEEyes Class 8.1.1.1.23 NLEFace Class 8.1.1.1.24 NLERotation Class 8.1.1.1.25 NLExtractor Class 8.1.1.1.26 NLFeaturePoint Class 8.1.1.1.27 NLMatchingDetails Class 8.1.1.1.28 NLRecord Class 8.1.1.1.29 NLTemplate Class 8.1.1.1.30 NMatcher Class

5859 60 61 61 63 63 65 67 68 75 75 80 83 85 87 90 91 105 106 110 110 130 135 136 140 141 142 143 161 163 163 167 170 iii

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

8.1.1.1.31 NMatchingDetails Class 8.1.1.1.32 NMatchingDetailsBase Class 8.1.1.1.33 NSAttributes Class 8.1.1.1.34 NSExtractor Class 8.1.1.1.35 NSMatchingDetails Class 8.1.1.1.36 NSRecord Class 8.1.1.1.37 NSTemplate Class 8.1.1.1.38 NTemplate Class 8.1.2 com.neurotec.biometrics.standards Package 8.1.2.1 Classes 8.1.2.1.1 ANASCIIBinaryRecord Class 8.1.2.1.2 ANASCIIRecord Class 8.1.2.1.3 ANBinaryRecord Class 8.1.2.1.4 ANCharset Class 8.1.2.1.5 ANFAlternateSegment Class 8.1.2.1.6 ANFAmputation Class 8.1.2.1.7 ANFCore Class 8.1.2.1.8 ANFDelta Class 8.1.2.1.9 ANField Class 8.1.2.1.10 ANFImageBinaryRecord Class 8.1.2.1.11 ANFPatternClass Class 8.1.2.1.12 ANFPImageASCIIBinaryRecord Class 8.1.2.1.13 ANFPMinutia Class 8.1.2.1.14 ANFPositionDescriptor Class 8.1.2.1.15 ANFPQualityMetric Class 8.1.2.1.16 ANFPrintPosition Class 8.1.2.1.17 ANFSegment Class 8.1.2.1.18 ANImageASCIIBinaryRecord Class 8.1.2.1.19 ANImageBinaryRecord Class 8.1.2.1.20 ANIrisImageProperties Class 8.1.2.1.21 ANNISTQualityMetric Class 8.1.2.1.22 ANPenVector Class 8.1.2.1.23 ANQualityMetric Class 8.1.2.1.24 ANRecord Class 8.1.2.1.25 ANRecordType Class 8.1.2.1.26 ANSMT Class 8.1.2.1.27 ANSubField Class 8.1.2.1.28 ANTemplate Class 8.1.2.1.29 ANType10Record Class 8.1.2.1.30 ANType13Record Class 8.1.2.1.31 ANType14Record Class 8.1.2.1.32 ANType15Record Class

191 196 197 198 203 203 207 210 214 217 217 220 222 223 224 224 225 226 227 229 233 234 240 245 246 247 249 250 261 265 266 267 268 270 275 283 285 286 320 342 349 360 iv

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

8.1.2.1.33 ANType16Record Class 8.1.2.1.34 ANType17Record Class 8.1.2.1.35 ANType1Record Class 8.1.2.1.36 ANType2Record Class 8.1.2.1.37 ANType3Record Class 8.1.2.1.38 ANType4Record Class 8.1.2.1.39 ANType5Record Class 8.1.2.1.40 ANType6Record Class 8.1.2.1.41 ANType7Record Class 8.1.2.1.42 ANType8Record Class 8.1.2.1.43 ANType99Record Class 8.1.2.1.44 ANType9Record Class 8.1.2.1.45 BDIFFaceFeaturePoint Class 8.1.2.1.46 BDIFFPMinutiaNeighbor Class 8.1.2.1.47 CBEFFBDBFormatIdentifiers Class 8.1.2.1.48 CBEFFBiometricOrganizations Class 8.1.2.1.49 FCRecord Class 8.1.2.1.50 FCRFaceImage Class 8.1.2.1.51 FIRecord Class 8.1.2.1.52 FIRFinger Class 8.1.2.1.53 FIRFingerView Class 8.1.2.1.54 FMCard Class 8.1.2.1.55 FMCBDTTags Class 8.1.2.1.56 FMCBITBHTBAPTTags Class 8.1.2.1.57 FMRCore Class 8.1.2.1.58 FMRDelta Class 8.1.2.1.59 FMRecord Class 8.1.2.1.60 FMRFinger Class 8.1.2.1.61 FMRFingerView Class 8.1.2.1.62 FMRMinutia Class 8.1.2.1.63 IIRecord Class 8.1.2.1.64 IIRIris Class 8.1.2.1.65 IIRIrisImage Class 8.1.2.1.66 NBiometricStandards Class 8.1.3 com.neurotec.biometrics.tools Package 8.1.3.1 Classes 8.1.3.1.1 NBiometricTools Class 8.1.3.1.2 NFClassifier Class 8.1.3.1.3 NFIQ Class 8.1.4 com.neurotec.devices Package 8.1.4.1 Classes 8.1.4.1.1 NBiometricDevice Class

366 372 385 400 401 404 407 410 412 414 420 425 435 437 438 449 461 467 479 488 492 495 502 503 503 506 512 521 524 532 535 547 550 555 556 556 556 557 558 559 560 560 v

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

8.1.4.1.2 NCamera Class 8.1.4.1.3 NCaptureDevice Class 8.1.4.1.4 NDevice Class 8.1.4.1.5 NDeviceManager Class 8.1.4.1.6 NDevices Class 8.1.4.1.7 NFingerScanner Class 8.1.4.1.8 NFScanner Class 8.1.4.1.9 NIrisScanner Class 8.1.4.1.10 NMicrophone Class 8.1.4.1.11 NPalmScanner Class 8.1.5 com.neurotec.images Package 8.1.5.1 Classes 8.1.5.1.1 NGrayscaleImage Class 8.1.5.1.2 NImage Class 8.1.5.1.3 NImageFormat Class 8.1.5.1.4 NImageInfo Class 8.1.5.1.5 NImages Class 8.1.5.1.6 NPixelFormat Class 8.1.5.1.7 NRGB Class 8.1.5.1.8 NRGBImage Class 8.1.5.1.9 PNGInfo Class 8.1.6 com.neurotec.jna Package 8.1.6.1 Classes 8.1.6.1.1 HNObject Class 8.1.6.1.2 NativeSize Class 8.1.6.1.3 NFunctionMapper Class 8.1.6.1.4 NMemory Class 8.1.6.2 Interfaces 8.1.6.2.1 NLibrary Interface 8.1.7 com.neurotec.lang Package 8.1.7.1 Classes 8.1.7.1.1 ErrorCreator Class 8.1.7.1.2 ExternalException Class 8.1.7.1.3 NAbstractDisposable Class 8.1.7.1.4 NCore Class 8.1.7.1.5 NError Class 8.1.7.1.6 NeurotecException Class 8.1.7.1.7 NModule Class 8.1.7.1.8 NObject Class 8.1.7.1.9 NRational Class 8.1.7.1.10 NResult Class 8.1.7.1.11 ParameterException Class

562 563 566 569 573 573 575 579 584 585 586 587 587 589 622 634 634 636 654 655 658 659 660 660 660 661 661 662 663 663 663 663 664 665 666 678 680 680 683 694 695 704 vi

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

8.1.7.1.12 ParameterReadOnlyException Class 8.1.7.2 Interfaces 8.1.7.2.1 NDisposable Interface 8.1.8 com.neurotec.licensing Package 8.1.8.1 Classes 8.1.8.1.1 NLicense Class 8.1.8.1.2 NLicenseInfo Class 8.1.8.1.3 NLicensing Class 8.1.8.1.4 NLicensingService Class 8.1.9 com.neurotec.media Package 8.1.9.1 Classes 8.1.9.1.1 NMedia Class 8.1.9.1.2 NMediaFormat Class 8.1.9.1.3 NMediaReader Class 8.1.9.1.4 NMediaSource Class 8.1.9.1.5 NVideoFormat Class 8.1.10 com.neurotec.plugins Package 8.1.10.1 Classes 8.1.10.1.1 NPlugin Class 8.1.10.1.2 NPluginManager Class 8.1.10.1.3 NPluginModule Class 8.1.11 com.neurotec.plugins.event Package 8.1.11.1 Classes 8.1.11.1.1 NPluginEvent Class 8.1.11.2 Interfaces 8.1.11.2.1 NPluginsChangeListener Interface

704 705 705 706 706 706 712 713 714 716 716 716 717 718 726 731 742 742 742 745 750 751 751 751 752 752

Index

a

vii

1.2 Licensing

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

1 AboutMegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android is software development kit from Neurotechnology that enables developers to create biometric applications for the Android platform (Android powered mobile devices such as smartphones and tablet computers). MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android provides required libraries to build Android based applications for live faces, fingerprints, irises and voice enrollment and matching. Also sample applications ( see page 26) (applets) with source code are included to demonstrate how to use SDK. Notes Before start using MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android, user should be familiar with Android SDK.

1

1.1 System RequirementsDevelopment environment requirements Java SE JDK 6 (or higher) (http://www.oracle.com/technetwork/java/javase/downloads/index.html) Eclipse IDE 3.7 (or higher) (Eclipse Indigo) (http://eclipse.org/indigo/) Android SDK v9 (or higher; Android OS 2.3 or higher) (http://developer.android.com/sdk/installing.html) Maven 3.0.3 (http://maven.apache.org/download.html) Internet connection Note: Read more how to configure Eclipse to use Android SDK ( see page 13) and MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android ( see page 50). Hardware requirements (recommended) Android 2.3 (or higher) powered mobile device with camera 1 GHz Arm based CPU 512 MB RAM (Optional) Fingerprint scanner.

1.2 LicensingProduct based on one of MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android technology requires to obtain SDK. Each modality (component) included into MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android also requires a license. Components are copy-protected a license is required for a component to run. A license for an individual component is required for each CPU that runs the component (a processor can have any number of cores). Licenses are intended for end-user products development. Integrators who want to develop and sell a MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android based development tool (with API, programming 1

1.2 Licensing

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

possibilities, programming samples, etc.), must obtain permission from Neurotechnology and sign a special VAR agreement. Trial licenses Trial license is used in a period of time (usually one month) for SDK evaluation purpose before obtaining single computer license. The license will be obtained automatically via internet when using SDK trial version. Note: Trial SDK requires constant internet connection. Single computer licenses A single computer license allows the installation and running of a MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android component installation on one CPU (a processor can have any number of cores). Neurotechnology provides a way to renew the license if the device or computer undergoes changes due to technical maintenance. Each single computer license requires activation for a component to run. The available activation options are listed below. License activation options Single computer licenses are supplied in three ways: Internet activation. A special license file is stored on a device or computer; the license file allows to run particular MegaMatcher Embedded components on that device or computer after checking the license over the Internet. Internet connection should be available for a short period of time at least once in 7 days. A single computer license can be transferred to another device or computer by moving the license file there and waiting until the previous activation expires. Serial numbers are used to activate licenses for particular MegaMatcher Embedded components. The activation is done via the Internet or by email. After activation the network connection is not required for single computer license usage. Note: activation by serial number is not suitable for virtual environment Dongle. License file stored on a device or computer allows to run particular components on that device or computer. This license activation option is suitable for virtual environments and requires that Internet connection would be available for a short period of time at least once in 7 days. A single computer license can be transferred to another device or computer by moving the license file there and waiting until the previous activation expires. Notes For end-user applications it is required license file to be stored on a mobile device running Android OS. See Samples ( page 26) for more information how to transfer a license file to device. see

1

Using Single computer licenses, MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android connects internet occasionally (requires approximately 1MB of data traffic per 24 hours). Beware mobile network and international roaming charges. See Also Read more how to activate Android licenses ( see page 14).

2

2

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

2 Installation

2

3

3

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

3 What's NewMarch 6, 2013 Fixed directory structure for native libraries according to the Android style. Fixed variation in record quality and quality sharpness failures bug in sample. Fixed camera layout initialization bug in sample. Fixed face detection details adjustment calculations in sample. Fixed minor bugs in NCore library. Updated and simplified application state and licensing management. Redone image recognition in Android sample. Added biometrics-gui component. January 29, 2013 Futronic support via Android USB Host API. Minor internal improvements, error handling. Fixed score normalization bug, improved accuracy. Fixed NfmMatchDetails serialization bug. New face image sharpness quality measure. Updated iris segmentation, improved iris extraction speed and accuracy. Updated gender classification algorithm, improved accuracy. Updated voices matching algorithm, improved speed. Fixed internal bugs in NCore and NBiometrics library. Fixed bugs in Activation Wizard. December 18, 2012 Added new NLicensing library methods ( see page 714) (former NInstaller API).

3

Added ability to save sound buffer to Wav files. Added ability to return iris inner boundary ( see page 70) to iris extractor.

Added new voice activity detection, which can be used for online audio processing in real-time. Improved voice recognition accuracy. Added gender classification from face image to face extractor. Added new fingerprint slap segmentation: improved accuracy on scans from paper, slightly improved accuracy on scans from scanner. Added support for hardware licenses on Android: activation/deactivation of hardware licenses. Added separate licensing manager application. Added integration of biometric standards to all Android samples. Updated and improved rolled fingeprint recognition. Fixed Android imports. Removed obsolete NInstaller API. October 1, 2012 Native library loading moved from samples/tutorials to wrapper. Minor fixes in Abis sample. Fixed face detection issue.

4

3

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Fixed obtainining license on device orientation change. Applications loading time improved. Added Biometric and BiometricTools tutorials. August 22, 2012 Updated Version of Android JNA from 3.2.7 to 3.4.1. Fixed JNA Callback crash with CheckJNI enabled (i.e. when android:debuggable flag is set to true). Fixed face detection details rendering (details were rendering incorrectly after camera resolution switch). July 25, 2012 Updated licensing manager, it is incorporated into each sample and tutorials apk's. Updated Java native code wrapper: get/set methods for parameters changed to fields in classes that map to structs in native code. Updated and simplified loading of native libraries. Updated samples to correspond a common style. Updated fingerprint sample: added support for biometric standards, modules enumeration bug fixed. Updated iris sample: added support for biometric standards. Added C tutorials for Biometrics/BiometricStandards/BiometricTools. Added Java tutorials for BiometricStandards. July 12, 2012 Fixed minor bugs in Java wrapper. Added native tutorials. June 7, 2012 Fixed minor bugs in faces and fingers samples. Updated NCore library internals. May 14, 2012 Fixed minor bugs in NBiometrics library and other libraries. Fixed minor bugs in Android face and fingerprint samples. April 27, 2012 Fixed Media library bug - unable to save WSQ image to memory. Fixed number of minor Core library bugs. April 6, 2012 Preference seekbar bug fixed in multimodal biometric sample. Iris and voice minimal value fixes. Voice settings are managed in milliseconds instead of seconds. Voice maxPhraseDuration is set to 10s instead of maximal value 60s. April 2, 2012 Release of VeriSpeak for voice recognition and VeriEye ( see page 45) for iris recognition Embedded SDKs.

3

MegaMatcher Embedded SDK now includes face, finger, iris and voice recognition technologies. Increased fingers recognition reliability, with 20% decrease in the false rejection rate (FRR) when set the same false acceptance rate (FAR). Enchantments for recognition of faces that are rotated out-of-plane. Added Futronic scanner support for Android OS. Merged face and fingerprint Android samples, added iris and voice modalities to this sample. 5

3 Fixed minor bugs in samples. February 28, 2012

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Added support for armeabi-v7a native libraries. Added support for Futronic fingerprint scanners. Face sample image stretching issue fixed. Face sample thread synchronization issue fixed. January 25, 2012 Added parameter PARAMETER_FACE_ROLL_ANGLE_BASE. Added wireless network connection check to samples. Added support for front facing camera on devices with OS 2.3 or higher to faces sample. Added verification scenario to faces sample. Added landscape and portrait device orientations to faces sample.

3

6

4.1 SDK Components

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Embedded Face Extractor

4 Overview

4.1 SDK ComponentsFunctionality of MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android is split into components (each component providing some functionality). This section describes available components.

4.1.1 Embedded Fingerprint ExtractorEmbedded Fingerprint Extractor creates fingerprint templates from fingerprint images. Image quality control can be applied to accept only good quality fingerprint images. The Fingerprint Extractor can generalize a fingerprint template from several images that contain the same fingerprint to improve the template's quality. Features extraction can be used with fingerprint images from fingerprint scanners or images from files. Using Feature extraction: NfeExtractor.extract method. Template generalization: NFExtractor.generalize method.

4

4.1.2 Embedded Fingerprint MatcherEmbedded Fingerprint Matcher performs fingerprint template matching in 1-to-1 (verification) and 1-to-many (identification) modes. Also the Fingerprint Matcher for MegaMatcher component includes fused matching algorithm that allows to increase template matching reliability by: matching templates that contain 2 or more fingerprint records; matching templates that contain fingerprint, face and/or iris records;

4.1.3 Embedded Face ExtractorEmbedded Face Extractor creates face templates from face images (captured by camera). Image quality control can be applied to accept only good quality face images. The Extractor can generalize a face template from several images that include the same face to improve the template's quality. Live face detection can be used for determining whether a face in a video stream belongs to a real human or is a photo.

7

4.2 Supported Biometric Standards

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Features extraction can be used with face images from cameras or images from files. Camera management software allows to perform simultaneous capture from multiple cameras. Using Feature extraction from single image: NLExtractor.extract method Feature extraction from image sequence: NLExtractor.extractStart method Template generalization: NLExtractor.generalize method

4.1.4 Embedded Face MatcherEmbedded Face Matcher performs facial template matching in 1-to-1 (verification) and 1-to-many (identification) modes. Also the Face Matcher component includes fused matching algorithm that allows to increase template matching reliability by matching templates that contain fingerprint, face and/or iris records.

4.1.5 Embedded Voice ExtractorVoice Extractor creates voice templates from sound stream. Voice quality control can be applied to accept only good quality sound stream. The Extractor can generalize a voice template from several sound streams that include the same speaker to improve the quality of template. Using Feature extraction from sound stream: NSExtractor.extractStart method

4

4.1.6 Embedded Voice MatcherThe Voice Matcher performs voice template matching in 1-to-1 (verification) and 1-to-many (identification) modes.

4.2 Supported Biometric StandardsMegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android supports the following biometrical standards and formats: 1. Biometric Data Interchange standards (Bdif) FCRecord - supports Face Recognition Format for Data Interchange (ANSI INCITS 385-2004) and Biometric data interchange format - Part 5: Face image data (ISO/IEC 19794-5:2005). FIRecord - Biometric data interchange formats - Part 4: Finger image data (ISO/IEC 19794-4:2005) and Finger Image-Based Data Interchange Format (ANSI/INCITS 381-2004). FMCard - Biometric data interchange formats - Part 2: Finger minutiae data (ISO/IEC 19794-2:2005). IIRecord - Biometric data interchange formats - Part 6: Iris image data (ISO/IEC 19794-6:2005) and Iris Image Interchange Format (ANSI/INCITS 379-2004). 2. Common Biometric Exchange Formats Framework (Cbeff)* CbeffBdbFormatIdentifiers 8

4.2 Supported Biometric Standards CbeffBiometricOrganizations

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Face BSS

* - Cbeff standard is not implemented yet and provides only constants from Cbeff registry. 3. Data Format for the Interchange of Fingerprint, Facial, & Other Biometric Information Part 1 (ANSI/NIST-ITL 1-2007)

4.2.1 Fingerprint BSSThe Fingerprint BSS component allows to integrate support for fingerprint template and image format standards and additional image formats with new or existing biometric systems based on VeriFinger SDK. These biometric standards are supported: ISO/IEC 19794-2:2005 (Fingerprint Minutiae Data) ISO/IEC 19794-4:2005 (Finger Image Data) ANSI/INCITS 378-2004 (Finger Minutiae Format for Data Interchange) ANSI/INCITS 381-2004 (Finger Image-Based Data Interchange Format) ANSI/NIST-CSL 1-1993 (Data Format for the Interchange of Fingerprint, Facial, & SMT Information) ANSI/NIST-ITL 1a-1997 (Data Format for the Interchange of Fingerprint, Facial, & SMT Information) ANSI/NIST-ITL 1-2000 (Data Format for the Interchange of Fingerprint, Facial, & SMT Information) ANSI/NIST-ITL 1-2007 (Data Format for the Interchange of Fingerprint, Facial, & Other Biometric Information) ANSI/NIST-ITL 1a-2009 (Data Format for the Interchange of Fingerprint, Facial, & Other Biometric Information) The Fingerprint BSS component allows conversion between Neurotechnology proprietary fingerprint templates, ISO/IEC 19794-2:2005, ANSI/INCITS 378-2004 and ANSI/NIST-ITL templates. The Fingerprint BSS component also includes: Fingerprint pattern classification module Additional image formats and fingerprint image quality algorithm Fingerprint pattern classification module allows to determine a fingerprint pattern class is included with Fingerprint BSS module. The classification is usually used in forensics, but also it can be used to increase fingerprint matching speed. The defined classes are: Left Slant Loop; Right Slant Loop; Tented Arch; Whorl; Scar; "Unknown" for the nondetermined classes. Image enhancements are: JPEG 2000 image format support module with 1000 dpi Fingerprint Profile; NIST IHead image format support module; module with NIST Fingerprint Image Quality (NFIQ) algorithm, a standard method to determine fingerprint image quality.

4

9

4.2 Supported Biometric Standards

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Iris BSS

4.2.2 Face BSSThe Face BSS (Biometric Standards Support) component allows to integrate support for facial image format standards and additional image formats with new or existing biometric systems based on VeriLook SDK or MegaMatcher SDK. These biometric standards are supported: BioAPI 2.0 (ISO/IEC 19784-1:2006) (Framework and Biometric Service Provider for Face Identification Engine), see: BioAPI section. ISO/IEC 19794-5:2005 (Face Image Data) ANSI/INCITS 385-2004 (Face Recognition Format for Data Interchange) Face BSS component also allows to integrate JPEG 2000 with Lossy and Lossless Face Profiles support into applications based on VeriLook SDK or MegaMatcher SDK. Neurotechnology Token Face Image (NTFI) module Neurotechnology Token Face Image (NTFI) module is included in the component. The NTFI module is intended to provide token* face images compatible with the Face Image Format as in ISO/IEC 19794 standard. This face image format enables range of applications on variety of devices, including devices that have limited resources required for data storage, and improves recognition accuracy by specifying data format, scene constraints (lighting, pose), photographic properties (positioning, camera focus) and digital image attributes (image resolution, image size). The NTFI module has the following features: Token face image creation from an image containing human face using eye coordinates which may be either hand marked or detected automatically using Neurotechnology VeriLook face detection algorithm. Face is detected and eye coordinates are acquired using state-of-the-art Neurotechnology face detection and recognition algorithm. Geometrical normalization of face image according to proportions and photographic properties in ISO/IEC 19794 standard. Intelligent image padding algorithm for cut of parts of token face image as in ISO/IEC 19794 standard. Evaluation of the created token face image for the following quality criteria suggested in ISO/IEC 19794 standard: Background uniformity the background in the token face image should be uniform, not cluttered. Sharpness the token face image should not be blurred. Too light or too dark images the token face image should not be too dark or too light. Exposure range of an image the token face image should have a reasonable exposure range to represent as much details of the subject in the image as possible. Evaluation of the token face image quality based on suggestions of ISO/IEC 19794 standard (using the quality criteria above).*

4

Token in this context is used as "symbolic image, good enough image for machine recognition". Token Image as in ISO/IEC19794-5: "A Face Image Type that specifies frontal images with a specific geometric size and eye positioning based on the width and height of the image. This image type is suitable for minimizing the storage requirements for computer face recognition tasks such as verification while still offering vendor independence and human verification (versus human examination which requires more detail) capabilities."

4.2.3 Iris BSSThe Iris BSS (Biometric Standards Support) component allows to integrate support for iris image format standards and additional image formats with new or existing biometric systems based on VeriEye ( see page 45) SDK or MegaMatcher 10

4.4 Supported Devices SDK. These biometric standards are supported:

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Fingerprint Scanners

ISO/IEC 19794-6:2005 (Iris Image Data) ANSI/INCITS 379-2004 (Iris Image Interchange Format) Iris BSS component also allows to integrate JPEG 2000 image format support into applications based on VeriEye ( page 45) SDK or MegaMatcher SDK. see

4.3 Required LibrariesMegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android use the following main libraries: Java package com.neurotec.biometrics ( see page 60) see page 214) Java archive (JAR) neurotec-biometrics-android.jar neurotec-biometrics-standards-android.jar neurotec-biometrics-tools-android.jar neurotec-core-android.jar

com.neurotec.biometrics.standards ( com.neurotec.biometrics.tools (

see page 556)

com.neurotec.event com.neurotec.geometry.jna com.neurotec.graphics com.neurotec.io com.neurotec.jna ( see page 659) com.neurotec.lang ( see page 663) com.neurotec.net com.neurotec.plugins ( see page 742) com.neurotec.util com.neurotec.devices ( see page 559) com.neurotec.devices.event com.neurotec.licensing ( com.neurotec.media ( see page 706)

4

neurotec-devices-android.jar neurotec-licensing-android.jar neurotec-media-android.jar see page 50) to

see page 716)

Java archives (JARs) are saved in Bin\Android folder. Read more about how to include JAR libraries ( your project.

4.4 Supported Devices

4.4.1 Fingerprint ScannersThe following fingerprint scanners are supported under Android:

11

4.4 Supported Devices

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Fingerprint Scanners

Manufacturer Toplink Pacific

Model BlueFIN bluetooth fingerprint reader1

AutenTec (Upek) AutenTec (Upek) Eikon AutenTec (Upek) Eikon To Go AutenTec (Upek) Eikon Solo AutenTec (Upek) EikonTouch 300 AutenTec (Upek) EikonTouch 500 AutenTec (Upek) EikonTouch TCRU1C AutenTec (Upek) EikonTouch TCRU2C Futronic Futronic FS50 Futronic FS80 Futronic FS82 Futronic FS88 Futronic FS90

Notes USB fingerprint devices require root access to Android subsystem (set USB permissions for enabling application to use fingerprint scanner). 1 - When using BlueFIN scanner it is recommended to press capture button after a beep is heard. In this case fingerprint capture takes less time.

4

12

5.1 System Setup Instructions

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

5 Using

5.1 System Setup InstructionsBefore start development using Android SDK and MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android you should prepare your computer. You might need to install the JDK, if you don't have it already. Also Android SDK v9 (Android 2.3 platform) or greater should be installed (read more information on how to install Android SDK). For developing Android applications it is recommended to use Eclipse IDE for Java Developers (Eclipse Indigo or greater). Maven 3.0.3 or greater is used to deploy and release Android applications (application package files - APK). Environment variables These environment variables should be added to the system: ANDROID_HOME - should be set to point Android SDK home directory (e.g C:\Program Files\Android\android-sdk) JAVA_HOME - should be set to point JDK home directory (e.g C:\Program Files\Java\jdk1.6.0_20) M2_HOME - should be set to point Maven home directory (e.g C:\Program Files\Maven_3.0) Add %ANDROID_HOME%/tools;%ANDROID_HOME%/platform-tools;%JAVA_HOME%/bin;%M2_HOME%/bin to PATH environment variable where bin is home directory. Compiling applications Samples and other source code is compiled using command line terminal. Use these commands to compile application for Android platform: CD %MegaMatcher Embedded Android SDK root directory% Change directory to where sample is saved: CD Samples Build sample application: mvn clean install Android application deployment Using Maven: Connect device to computer using USB cable. Install device drivers is applicable. Change directory (where built files are saved): E.g. Multi biometric sample directory: CD DISTRIBUTION_LOCATION/Samples/Biometrics/Android/multibiometric-sample Deploy your .apk file to the connected device: mvn android:deploy Using Android SDK platform tools: Connect device to computer using USB cable. 13

5

5.2 Android Activation Change directory to Android installation:

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

CD ANDROID_INSTALL_DIR/android-sdk/platform-tools Use Android Debug Bridge (Adb) to copy application from your development environment and install it on a device. You should specify path to compiled .apk file (in this example path to Face sample is provided): adb install DISTRIBUTION_LOCATION/Bin/Android/multibiometric-sample.apk Manually: Manually copy .apk file (e.g. multibiometric-sample.apk) to device internal storage. Locate and install this file using Android OS tools.

5.2 Android ActivationMegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android licenses should be activated before using product. Activation methods varies depending on what license you have. This section demonstrates how to activate license using Licensing manager for Android. 1. Install licensing-manager.apk from Bin\Android folder. 2. Start the licensing manager. Licensing manager application allows to manually configure, start, stop, restart licensing service and generate report. Trial version of SDK allows choosing Direct and From PC modes, while Non-Trial version of SDK allows From PC and From file modes. Licence activation/deactivation is available only in Non-trial version of SDK. 3a. Standard products activation. When you first start the Neurotechnology standard licensing application you will see this window:

5

14

5.2 Android Activation

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

5

By clicking Configure you will be able to choose the desired licensing mode: From PC or From File, and set licensing server (PC) address and port.

15

5.2 Android Activation

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

5

After choosing the mode you will be able to run the licensing service and choose the licenses you want to activate/deactivate in the Activation tab.

16

5.2 Android Activation

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

5

The default place for storing serial numbers and licenses is sdcard/Neurotechnology/Licenses directory. Serial numbers and licenses must be copied to this directory, otherwise they will not be available. Once license is activated, it will be stored near corresponding serial number. Note: User can define other path to license file (source code changes are required). Also you should note that when using Standard licenses temporary internet connection may be required. After you complete these steps, press Start to start the licensing service. Should the licensing be successful, you should see the following window:

17

5.2 Android Activation

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

5

Should you require a licensing report, press Generate Report. A text file will be generated in the Reports sub-folder of the Neurotechnology folder.

3b. Trial products activation. When you first start the Neurotechnology trial licensing application you will see this window:

18

5.2 Android Activation

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

5

If you are using Trial version of SDK sample application will try to activate licenses automatically (using Direct activation mode). When Trial version of MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android is used it is possible to select two license retrieval modes: Direct and From PC. Direct mode is used to obtain licenses directly from internet (this is the default option). From PC mode is used when license is obtained from computer in local network. You can change Licensing mode to From PC by launching Licensing preferences window from sample application:

19

5.2 Android Activation

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

5

In this window you should select licensing mode. If From PC mode is used you should set licensing server (PC) address and port. From PC mode is suitable for these situations when mobile device can not connect to the internet (only local network). Note, that the PC will still require internet connection. After you complete these steps, press Start to start the licensing service. Should the activation be successful, you will see the following window:

20

5.3 Matching Threshold and FAR/FRR

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

5

Note: Usage of Trial SDK is limited up-to 30 days. Trial SDK requires constant internet connection. Also PC should be connected to the Internet when the mobile device obtains a license from it.

4. License modes Direct mode retrieves license directly from Neurotechnology server. From File mode licenses come in two variants: 1. Internet Licenses - require periodic internet connection (e.g. once per week) they use to confirm they are still active. 2. Non-internet Licenses - require internet connection only at activation. They are also known as hardware licenses - each license works on one device only. From PC mode retrieves license from the Neurotechnology Licensing Service on the computer it is connected to.

5.3 Matching Threshold and FAR/FRRBiometric features matching algorithm provides similarity score as a result. The higher is score, the higher is probability that 21

5.3 Matching Threshold and FAR/FRR

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

features collections are obtained from the same person. The strictness of matching algorithms is controlled by NMP_MATCHING_THRESHOLD (NMatcher.MatchingThreshold) parameter of NMatcher. The higher the threshold value, the more similar feature collections will have to be to yield positive result during matching. Matching threshold - the minimum score that verification and identification functions accept to assume that the compared finger fingerprints, face or iris belong to the same person. Matching threshold is linked to false acceptance rate (FAR, different subjects erroneously accepted as of the same) of matching algorithm. The higher is threshold, the lower is FAR and higher FRR (false rejection rate, same subjects erroneously accepted as different) and vice a versa. Matching threshold for NMatcher should be determined from this table (note: thresholds for MINEX mode are provided at the end): FAR (false acceptance rate) 100 % 10 % 1% 0.1 % 0.01 % 0.001 % 0.0001 % 0.00001 % 0.000001 % or using this formula: Threshold = -12 * log10(FAR); where FAR is NOT percentage value (e.g. 0.1% FAR is 0.001) Matching threshold should be selected according to desired FAR (False Acceptance Rate). FAR is calculated for single match (1:1) and during identification (1:N) false acceptance accumulates. Identification false acceptance probability can be calculated using this formula: (1-(1-FAR/100)^N)*100, where N - DB size For example: If FAR=0.001% then probability that false acceptance situation will occur during 1:N identification (where N=10 000) is 1-(1-0.00001)^10000=9.52%. If FAR=0.0001% then probability that false acceptance situation will occur during 1:N identification (where N=10 000) is 1-(1-0.000001)^10000=1.00%. Matching threshold/FAR should be selected according to the system's development requirements and taking into account mentioned identification false acceptance accumulation. Matching threshold for NMatcher when MINEX mode is used: FAR (false acceptance rate) 10 % 1% 0.1 % 0.01 % 0.001 % 0.0001 % MINEX matching threshold (score) 100 150 200 250 300 350 Matching threshold (score) 0 12 24 36 48 60 72 84 96

5

22

5.4 Quick Start

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

0.00001 % Notes

400

It is recommended to use NMatcher instead of using separate matchers like NlsMatcher, NLMatcher, NfsMatcher, NFMatcher, NesMatcher.

5.4 Quick StartQuick Start 1. Copy licensing-manager.apk and multibiometric-sample.apk to the SD card. They can be found in the /Bin/Android subfolder of the MegaMatcher Embedded SDK folder. 2. Create folder(s) /sdcard/mnt/NeurotechnologyLicenses 3. Copy the serial number files to the folder from step 2. 4. Install licensing-manager.apk and multibiometric-sample.apk Installation instructions. ( see page 13)

5. Run Licensing manager activity. License activation instructions. ( see page 14)

6. In Activation tab select all the serial numbers and hit Activate. 7. In Services tab check if the service is running, if not - start it. 8. Run sample activity. Sample overview. ( see page 26)

5

23

6

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

6 TutorialsThis section contains a list of tutorials included in the MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android. Each tutorial is usually a small program which demonstrate specific functionality of Neurotechnology libraries in isolation. Developer can also refer to Samples ( see page 26) chapter for more elaborate example applications. Biometrics Tutorial CreateMultiFaceTemplate CreateMultiFingerTemplate CreateTokenFaceImage CreateTwoIrisTemplate DetectFacialFeatures EnrollFaceFromCamera EnrollFaceFromImage EnrollFaceFromStream EnrollFingerFromImage EnrollFingerFromScanner EnrollIrisFromImage EnrollIrisFromScanner EnrollPalmFromImage EnrollVoiceFromAudioFile Description Creates NTemplate that contains multiple faces templates (multiple NLRecord). Creates NTemplate that contains multiple fingerprint NFRecord templates. Demonstrates how to use Neurotechnology token face images library (see API Reference for Ntfi module or class). Demonstrates how to make packed NTemplate from images. Demonstrates how to detect facial features from images. Demonstrates face feature extraction from camera. Demonstrates how to enroll to database a single face image. Demonstrates how to enroll to database face from stream (image sequence). Demonstrates how to extract features from fingerprint image and enroll to database. Demonstrates how to extract fingerprint features as NFRecord from scanner and enroll to database. Demonstrates how to enroll to database a single iris image. Demonstrates enrollment from iris scanner. Demonstrates palmprint feature extraction from image. Demonstrates voices feature extraction from audio file.

EnrollVoiceFromMicrophone Demonstrates voices feature extraction from microphone. GeneralizeFinger GeneralizePalm Identify IdentifyFace IdentifyFinger IdentifyIris IdentifyPalm MatchMultipleFaces SegmentIris ShowTemplateContent Verify VerifyFace VerifyFinger VerifyIris VerifyPalm Generalizes count features collections to single features collection. Demonstrates palmprint generalization from templates or images. Demonstrates how to use 1:N matching. Demonstrates facial identification (matching of template extracted from image to gallery of serialized templates). Demonstrates how to use 1:N fingerprints matching. Demonstrates how identify subject's iris against all database. Demonstrates palmprint identification. Demonstrates how to convert face image to grayscale and match multiple face templates. Demonstrates how to use iris features segmenter. Demonstrates how to retrieve information about a template Demonstrates how to use 1:1 matching. Demonstrates how to match (verify) two faces templates. Demonstrates how to use 1:1 fingerprints matching. Demonstrates how to match (verify) two irises templates. Demonstrates palmprint verification.

6

24

6

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Biometric Standards These tutorials are used to convert different biometric standards. Tutorial ANTemplateType10FromNImage ANTemplateType13FromNImage ANTemplateType14FromNImage ANTemplateType15FromNImage ANTemplateType16FromNImage ANTemplateType17FromNImage ANTemplateType3FromNImage ANTemplateType4FromNImage ANTemplateType5FromNImage ANTemplateType6FromNImage ANTemplateType8FromNImage ANTemplateType9FromNImage ANTemplateToNTemplate CreateMinexCompliantTemplate FCRecordFromNImage FCRecordToNTemplate FIRecordFromNImage FIRecordToNTemplate FMRecordToNTemplate IIRecordFromNImage IIRecordToNTemplate MatchMinexCompliantTemplates NTemplateToANTemplate NTemplateToFMRecord Biometric Tools Tutorial ClassifyFinger EvaluateFingerQuality Description Demonstrates fingerprint classification. Demonstrates fingerprint image quality evaluation. Description Demonstrates creation of ANTemplate with type 10 record in it. Demonstrates creation of ANTemplate with type 13 record in it. Demonstrates creation of ANTemplate with type 14 record in it. Demonstrates creation of ANTemplate with type 15 record in it. Demonstrates creation of ANTemplate with type 16 record in it. Demonstrates creation of ANTemplate with type 17 record in it. Demonstrates creation of ANTemplate with type 3 record in it. Demonstrates creation of ANTemplate with type 4 record in it. Demonstrates creation of ANTemplate with type 5 record in it. Demonstrates creation of ANTemplate with type 6 record in it. Demonstrates creation of ANTemplate with type 8 record in it. Demonstrates creation of ANTemplate with type 9 record in it. Demonstrates how to convert ANTemplate to NTemplate. Creates Minex compliant template. Demonstrates creation of FCRecord from image. Demonstrates how to convert face record FCRecord to NTemplate. Demonstrates how to create FIRecord from fingerprint image. Creates FIRecord from NTemplate. Demonstrates how to convert FMRecord to NTemplate. Demonstrates how to create IIRecord from iris image. Demonstrates how to convert iris record IIRecord to NTemplate. Demonstrates how to match Minex compliant templates. Demonstrates how to convert NTemplate to ANTemplate. Demonstrates how to convert NTemplate to FMRecord.

6

All tutorials are written for C programming language. Source files are located within Tutorials\ folder.

25

7

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

7 SamplesSamples are used to demonstrate the main functionality of MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android. Samples are developed using Java programming language. Source code of all sample applications is included into \Samples folder. You are allowed to use, change or adapt this source code for your applications. Also SDK contains .apk file which is a container for all Android samples. These samples from multibiometric-sample.apk (which is saved in Bin\Android folder) are installed: VeriLook Sample ( see page 27) - demonstrates how to use Neurotechnology VeriLook faces recognition algorithm on mobile devices running Android OS . VeriFinger Sample ( see page 32) - demonstrates how to use Neurotechnology VeriFinger fingers recognition algorithm on mobile devices running Android OS. Note: Fingerprint scanner ( see page 11) may be required to run this sample. VeriSpeak Sample ( see page 40) - demonstrates how to use Neurotechnology VeriSpeak voices recognition algorithm on mobile devices running Android OS. VeriEye Sample ( see page 45) - demonstrates how to use Neurotechnology VeriEye ( algorithm on mobile devices running Android OS. see page 45) irises recognition

Note: you should obtain license before using sample applications. Use licensing-manager.apk file from Bin\Android folder on your device to activate. Licensing service configuration and license activation/deactivation is integrated into multibiometric-sample as well (Preferences/Licensing). All samples allows selecting input from images, NTemplates, Biometric standard templates. Notes Every application must have an AndroidManifest.xml file (with precisely that name) in its root directory. The manifest presents essential information about the application to the Android system, information the system must have before it can run any of the application's code. Among other things, the manifest file for application developed with Neurotechnology libraries should include these permissions: AndroidManifest.xml Read more about http://developer.android.com/guide/topics/manifest/manifest-intro.html and permissions:

7

26

7.1 VeriLook See Also

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

System Setup Instructions ( see page 13) and Java Samples Compilation ( compile and run Java sample applications.

see page 50) for more information how to

7.1 VeriLookMegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android incorporates Neurotechnology face recognition algorithm. Using this demo application face images can be enrolled from live images captured by a camera and matching task performed. Note: before you start using VeriLook sample for Android (multibiometric-sample.apk) you need to activate it ( page 14). Starting and using application When VeriLook sample application was started you should see live view from camera. see

When a subject appears near the camera, the green rectangle on his face is drawn (subject was detected).

7

27

7.1 VeriLook

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Tap screen to enroll new person. Faces sample performs as a common Android camera application. After user taps the screen the camera will autofocus. The extraction proceeds after user presses action button (camera icon).

In the next window extraction result is shown. If you want to enroll this subject (template) to internal database, press "Plus" button on the right. When you enroll new template it is required to enter new name:

7

28

7.1 VeriLook

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

If you press "Search" button you will be able to perform template identification. "Question" button performs verification.

7

29

7.1 VeriLook

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Note: Currently VeriLook sample application doesn't support vertical camera orientation. Application preferences VeriLook sample for Android settings window can be accessed by pressing Menu button and choosing Preferences on the left corner in the main window. Preferences window is used to configure camera, extraction, enrollment, matching and licensing parameters.

7

30

7.1 VeriLook

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Camera Camera resolution - allows to select camera resolution (only values supported by the device are enumerated). Use max camera resolution - allows to use better picture quality for extraction (maximum camera resolution is used). Camera flash mode - allows to turn on or off camera flash (if mobile device has). If On demand was selected flash will be used when necessary. Change camera - allows to select back or front camera to use. Set default values - allows to set all settings to its default values. Extraction Face quality threshold ( see page 149) - controls how strict rules are applied when determining the quality of a found face for extraction. If face quality score does not outscore. Face confidence threshold ( see page 149) - value which controls the requirements for face detection. The greater this value is the more strict rules are applied when looking for faces in an image. Detect multiple faces ( see page 149) - if checked, multiple faces in an image will be detected. Note that to detect multiple faces requires more device resources. Favor largest face ( see page 149) - if checked, the largest face found in an image will be used for facial feature extraction instead of the one with the highest face confidence threshold score. Liveness threshold ( see page 150) - value which controls the requirements for face liveness. The greater this value is the more strict rules are applied when deciding if the face is live. MinIod ( see page 151) - minimum distance between eyes. 31

7

7.2 VeriFinger MaxIod (

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

see page 150) - maximum distance between eyes.

Max yaw angle deviation ( see page 150) - this value is used to define the maximum value in degrees of pose yaw angle in a face image which can be enrolled or identified. Max roll angle deviation ( see page 150) - this value is used to define the maximum value in degrees of tilted face image which can be enrolled or identified. Enrollment template size ( see page 151) - controls face template size. If Small template was selected extraction takes less time but matching quality is not so good compared to Large template. When Large template is selected, matching results are the best, but extraction takes more time. Identification template size ( see page 151) - controls face template size for identification. If Small template was selected identification takes less time but quality is not so good compared to Large template. Detect gender ( see page 149) - if checked, application can identify gender of the captured face.

Gender confidence threshold ( see page 150) - value which controls the requirements for gender detection. The greater this value is the more strict rules are applied when identifying gender in an image. Enrollment Check for duplicates - allows to check duplicates when enrolling new subjects. Matching Speed ( see page 178) - matching speed. Can be chosen Low or High speed.

Verify threshold - threshold that separates identical from different templates. Matching threshold is linked to false acceptance rate (FAR, different templates erroneously accepted as of the same) of matching algorithm. The higher is threshold, the lower is FAR and higher FRR (false rejection rate, same templates erroneously accepted as different) and vice a versa. See: Matching Threshold and Score ( see page 21). Licensing Changes licenses obtain preferences. Read more about Licenses activation for Android ( DB View DB view shows all enrolled templates and allows to edited it. Notes Source code files of this sample application is saved in Samples\Biometrics\Android\face-sample directory of SDK. Compiled sample (face-sample.apk) is saved in Bin\Android directory of sDK. see page 14).

7.2 VeriFingerVeriFinger fingerprint sample for Android demonstrates how to use MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android for working with subject's fingerprint images retrieved from a file or a fingerprint scanner. Note: before you start using VeriFinger sample for Android (multibiometric-sample.apk) you need to activate it ( page 14). Starting and using application Verifinger sample for Android is started from applications by selecting "VeriFinger". When application starts and license is successfully obtained you will see this window: see

7

32

7.2 VeriFinger

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Using this sample application you can do the following: Enroll user fingerprint. Fingerprint can be enrolled from image or using fingerprint scanner. Press Load button and select image source.

7

33

7.2 VeriFinger

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

These load options are available: Finger scanners - fingerprint is loaded from one of supported fingerprint scanner ( see page 11).

Images - fingerprint images is loaded from specified directory (by selecting Browse...) or from sample images directory. NFRecord, FIRecord, FMRecord - by selecting this option NFrecord, FIRecord or FMRecord template is loaded (from specified or samples directory). FIRecord and FMRecord require BSS license. After image was loaded it can be enrolled into internal database by selecting Enroll button and entering user ID:

7

34

7.2 VeriFinger

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Verification. Using this option one fingerprint can be verified against other (1:1 matching).

7

35

7.2 VeriFinger

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

7

36

7.2 VeriFinger

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Identification. Using this option fingerprint is identified against internal database. (1:N matching).

7

37

7.2 VeriFinger

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Application preferences VeriFinger sample for Android settings window can be accessed by pressing Menu button and choosing Preferences on the left corner in the main window. Preferences window is used to configure extraction, enrollment, matching and licensing parameters.

7

38

7.2 VeriFinger

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Extraction Enrollment template size ( Returned image ( see page 98) - can be set to either Small or Large.

see page 98) - can be set to either None, Binarized or Skeletonized.

Ridge counts ( see page 97) - can be set to either None, Four neighbors, Eight neighbors, Four neighbors with indexes or Eight neighbors with indexes. Use minimal minutia count - sets whether minimal minutia count is used. Minimal minutia count ( Use quality threshold ( Quality threshold ( see page 98) - minimum number of minutia used. Can be set between 0 and 180. see page 98) - sets whether quality threshold is used.

see page 98) - quality threshold. Can be set between 0 and 100.

Set default values - when activated, sets all application preferences to factory defaults. Enrollment Check for duplicates - when checked, attempts to identify newly-enrolled images and prevents enrollment of images of already enrolled fingerprints. Set default values - when activated, sets all application preferences to factory defaults. Matching Speed ( see page 179) - can be set to either Low or Medium. see page 179) - sets the maximal rotation (in degrees) of the fingerprint image. 39

7

Maximal rotation (

7.3 VeriSpeak Minimal matched finger count (

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

see page 179) - sets the minimal count of matched fingerprints.

Minimal matched finger count threshold ( see page 179) - threshold that separates identical from different templates. Matching threshold is linked to false acceptance rate (FAR, different templates erroneously accepted as of the same) of matching algorithm. The higher is threshold, the lower is FAR and higher FRR (false rejection rate, same templates erroneously accepted as different) and vice a versa. See: Matching Threshold and Score ( see page 21). Set default values - when activated, sets all application preferences to factory defaults. Licensing Changes licenses obtain preferences. Read more about Licenses activation for Android ( Notes Source code files of this sample application is saved in Samples\Biometrics\Android\finger-sample directory of SDK. Compiled sample (multibiometric-sample.apk) is saved in Bin\Android directory of sDK. see page 14).

7.3 VeriSpeakVeriSpeak sample application for Android demonstrates how to use Neurotechnology's voice recognition technology on Android powered device. Using this application user can enroll voice template and perform identification or verification tasks. Note: before you start using VeriSpeak sample for Android (multibiometric-sample.apk) you need to activate it ( page 14). Starting and using application When VeriSpeak (voices) sample application was started you should see such window: see

7

40

7.3 VeriSpeak

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Buttons below allow to choose operation: Enroll - performs voice template extraction. Press this button, record a phrase and press Stop button. After template was extracted you can save it in local database by entering user id (template id). If Repeat button is pressed and the same phrase is repeated, recognition quality can be improved.

7

41

7.3 VeriSpeak

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

7

42

7.3 VeriSpeak

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Verify - performs 2 templates verification. When this button is pressed user should record a phrase and choose a template to verify with. If verification succeeded verification score is displayed. Identify - performs recorded voice template identification with templates stored in local database. Preferences VeriSpeak sample for Android settings window can be accessed by pressing Menu button and choosing Preferences on the left corner in the main window. Preferences window is used to configure extraction, matching and licensing parameters.

7

43

7.3 VeriSpeak

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Extraction Max phrase duration ( Use speak detection ( see page 200) - controls maximum duration of extracted phrase. see page 200) - if set the end of voice activity is detected automatically.

Max pause duration ( see page 200) -controls the duration of pause used to detect end of voice activity. If no voice was detected, application stops voice template extraction after this period. Matching Matching threshold - threshold that separates identical from different templates. Matching threshold is linked to false acceptance rate (FAR, different templates erroneously accepted as of the same) of matching algorithm. The higher is threshold, the lower is FAR and higher FRR (false rejection rate, same templates erroneously accepted as different) and vice a versa. See: Matching Threshold and Score ( see page 21). Use unique phrases only ( see page 181) - if this parameter is used user during verification can say only his unique phrase(-s) (which was enrolled to database). If not used user can say any phrase. Licensing Changes licenses obtain preferences. Read more about Licenses activation for Android ( DB View DB view shows all enrolled templates and allows to edited it. Notes Source code files of this sample application is saved in Samples\Biometrics\Android\voice-sample directory of 44 see page 14).

7

7.4 VeriEye SDK.

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Compiled sample (multibiometric-sample.apk) is saved in Bin\Android directory of sDK.

7.4 VeriEyeVeriEye sample application for Android demonstrates how MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android can be used to work with subject's iris scans retrieved from an image file or an iris scanner. Note: before you start using VeriEye sample for Android (multibiometric-sample.apk) you need to activate it ( Starting and using the application When VeriEye sample application starts you should see this window: see page 14).

The buttons below have the following functions: Load - allows the user to choose and loads an image or an image scan to the application.

7

45

7.4 VeriEye

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

When an image is loaded into application, you should be able to see it, with the iris marked with a selection circle.

Enroll - saves the loaded image into database under a user-specified id. This function requires an image to be loaded into the application.

7

46

7.4 VeriEye

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Identify - Compares the loaded image with the records in the database and finds the closest match. The closest match is then displayed along with its score. (1:N matching).

Verify - compares the currently loaded image with a selected iris candidate (record) (1:1 matching).

7

47

7.4 VeriEye

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

If the chosen iris image matches the current image, the application displays a success message and matching score.

If the chosen iris image doesn't match the current image, the application displays a failure message and matching score.

7

48

7.4 VeriEye

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Application preferences VeriEye sample for Android settings window can be accessed by pressing Menu button and choosing Preferences on the left corner in the main window. Preferences window is used to configure extraction, enrollment, matching and licensing parameters.

Extraction Template size ( Deinterlace ( see page 71) - can be set to either Normal or Compact.

7

see page 70) - enables or disables deinterlacing. see page 70) - the minimal radius of the inner border.

Inner boundary from ( Inner boundary to (

see page 70) - the maximal radius of the inner border. see page 71) - the minimal radius of the outer border.

Outer boundary from ( Outer boundary to (

see page 71) - the maximal radius of the outer border.

49

7.5 Java Samples Compilation Use flexible boundary model (

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

see page 71) - can be checked in order to use a flexible boundary model.

Set default values - when activated, sets all application preferences to factory defaults. Enrollment Check for duplicates - when checked, attempts to identify newly-enrolled images and prevents enrollment of images of already enrolled irises. Set default values - when activated, sets all application preferences to factory defaults. Matching Speed ( see page 179) - can be set to either Low or Medium. see page 180) - sets the maximal rotation (in degrees) of the iris image. see page 180) - sets the minimal count of matched irises.

Maximal rotation (

Minimal matched iris count (

Minimal matched iris threshold ( see page 180) - threshold that separates identical from different templates. Matching threshold is linked to false acceptance rate (FAR, different templates erroneously accepted as of the same) of matching algorithm. The higher is threshold, the lower is FAR and higher FRR (false rejection rate, same templates erroneously accepted as different) and vice a versa. See: Matching Threshold and Score ( see page 21). Set default values - when activated, sets all application preferences to factory defaults. Licensing Changes licenses obtain preferences. Read more about Licenses activation for Android ( Notes Source code files of this sample application is saved in Samples\Biometrics\Android\iris-sample directory of SDK. Compiled sample (multibiometric-sample.apk) is saved in Bin\Android directory of sDK. see page 14).

7.5 Java Samples CompilationMegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android Java projects (sample programs) are built and managed using Eclipse and Apache Maven tool. Instructions for compiling Java samples using Maven: 1. Run Eclipse IDE and change Java version in your Eclipse from Runtime Environment to Development Kit. To do so, go Windows->Preferences->Java->Installed JREs.

7

50

7.5 Java Samples Compilation

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

There, select the JRE and click Edit.

7

Click Directory and select the directory containing the Java Development Kit.

51

7.5 Java Samples Compilation

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Click Finish. (Note: Eclipse Indigo or later has Apache Maven integrated. If you are using Eclipse Indigo or later it is not required to perform steps 2-3). 2. Download (http://maven.apache.org/download.html) and integrate Apache Maven for Eclipse (http://maven.apache.org/eclipse-plugin.html). Java projects require Apache Maven version 3.0.3 or later. Downloaded Maven package contains README.txt file with installation instructions. 3. Integrate Apache Maven to Eclipse IDE. (http://eclipse.org/m2e/). 4. Make sure that your Maven version is 3.0.3 or higher. To do so, go Windows->Preferences->Maven->Installations.

7

52

7.5 Java Samples Compilation

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

If the Maven version displayed there is lower than 3.0.3, click Add and select the higher version.

7

5. Install the 5. Import the Java project (one of sample application provided with SDK). Select File->Import->Maven->Existing Maven 53

7.5 Java Samples Compilation projects. Press Next button.

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

6. In the next dialog window browse for Samples root folder in the SDK select it and press Next. E.g.:

77. In the last window just select Finish button.

54

7.5 Java Samples Compilation

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

8. In Eclipse find imported project in Package Explorer and right click on the "samples" project. Select Run As -> Maven Build... In the Main tab find Goals field and type "clean install".

7

(Note: Maven may throw a warning or an error if the file path is too long. It is advisable to keep the file path as short as possible.). 9. In the Package Explorer of the Eclipse right-click on each of the projects. In the pop-up menu choose Properties.

55

7.5 Java Samples Compilation

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

Select the "..\utils-android" item and click Remove. Then click Add.

7Select the "utils-android" project and click OK.

56

7.5 Java Samples Compilation

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

9. To deploy and run a project right click on it and select Run As -> Maven Build... In the Main tab find Goals field and type "android:redeploy android:run".

7

57

8

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

8 API ReferenceThis section provides MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2, VeriLook Embedded 1.2, VeriEye Embedded 1.1 and VeriSpeak Embedded 1.1 SDK for Android documentation (API Reference) for Java programming language. Libraries dependency Before loading libraries in your applications you should note that dependent libraries should be loaded in an appropriate order before using the main library functionality. The image below shows libraries dependency:

E.g., if you need to load NDevices library you should load libraries in such order: NCore, NMedia and NBiometrics. Also all libraries shown in the image requires to load NLicensing. Neurotechnology native libraries for Android are saved in Lib\Android_armeabi and Lib\Android_armeabi-v7a directories of SDK. The table below lists down all native libraries: Java package com.neurotec.biometrics ( see page 60) see page 214) Native library for Android libNBiometrics.so libNBiometricStandards,so libNBiometricTools.so libNCore.so

com.neurotec.biometrics.standards ( com.neurotec.biometrics.tools (

see page 556)

com.neurotec.event com.neurotec.graphics com.neurotec.io com.neurotec.jna ( see page 659) com.neurotec.lang ( see page 663) com.neurotec.devices ( see page 559) com.neurotec.devices.event com.neurotec.licensing ( com.neurotec.media ( see page 706)

libNDevices.so libNLicensing.so libNMedia.so libNMediaProc.so libNSmartCards.so libSentiSight.so

see page 716)

com.neurotec.media.processing com.neurotec.smartcards com.neurotec.sentisight Android specific parameters Some parameters have different default values for Android: NLExtractor ( see page 143):

8

TemplateSize = NLETemplateSize.SMALL 58

8.1 Java Reference

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

com.neurotec.biometrics Package

FaceDetectionScaleCount = During detection value is set to 2, during extraction the value provided by user is used. NFExtractor ( see page 91):

TemplateSize = NFETemplateSize.SMALL UseQuality = false Parameter 990 (SubRecordQuality) = false ReturnedImage = NFEReturnedImage.NONE NEExtractor ( see page 68):

UseFlexibleBoundaryModel = false NMatcher ( see page 170)

FacesMatchingSpeed = NMatchingSpeed.HIGH FingersMatchingSpeed = NMatchingSpeed.MEDIUM IrisesMatchingSpeed = NMatchingSpeed.MEDIUM Modules Name Java Reference ( see page 59) Description

8.1 Java ReferencePackages Name com.neurotec.biometrics ( see page 60) Description Classes under this package provides methods and properties for working with biometrical data.

com.neurotec.biometrics.standards ( 214) com.neurotec.biometrics.tools ( com.neurotec.devices ( com.neurotec.images ( com.neurotec.jna ( com.neurotec.lang (

see page This package contains classes of supported biometrical standards.

see page 556) This package contains classes for using biometric tools. Provides functionality for managing devices, like cameras, fingerprint or irises scanners. Contains classes that provide functionality for loading, saving and converting images in various formats. Contains classes that provide functionality for working with Java Native Access (JNA). Contains classes that provide infrastructure for Neurotechnology components. Provides functionality for getting, releasing licenses. Provides functionality for working with various type of media items: images, audio and video. Classes under this package provides plugins management framework for use in other Neurotechnology components. Classes under this package provides methods for working with plugin events.

see page 559) see page 586)

see page 659) see page 663) see page 706)

com.neurotec.licensing ( com.neurotec.media ( com.neurotec.plugins (

see page 716) see page 742) see page 751)

com.neurotec.plugins.event (

8

59

8.1 Java Reference

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

com.neurotec.biometrics Package

8.1.1 com.neurotec.biometrics PackageClasses under this package provides methods and properties for working with biometrical data. Module Java Reference ( Classes Name NBiometricAttributes ( 61) NBiometrics ( NEAttributes ( NBiometricTypes ( see page Description Represents the biometric attributes. Provides methods for retrieving NBiometrics Library information. Specifies the type of biometric data. Provides methods to retrieve iris attributes (metadata .which is not saved in iris template). Provides information about segmentation details. Provides functions for iris features extraction into Neurotechnology Iris Record (NERecord ( see page 75)). Provides functionality for packing, unpacking and editing Neurotechnology iris Records (NERecords). Provides functionality for packing, unpacking and editing Neurotechnology iris templates (NETemplates). Provides methods to retrieve fingerprint attributes (metadatawhich is not saved in fingerprint template). The bean contains information of core. The bean contains information of delta. The bean contains information of double core. Provides functionality for extracting Neurotechnology Finger Records (NFRecords) from fingerprint images using algorithm/ encapsulated in Neurotechnology Fingerprint Features Extractor (NFExtractor) object. Represents Neurotechnology Fingerprint or Palmprint Records (NFRecord ( see page 110)) matching details. Contains information of minutia. The bean contains information of minutia neighbor. Provides functionality for packing, unpacking and editing Neurotechnology Finger Records (NFRecords). Provides functionality for packing, unpacking and editing Neurotechnology Fingers Templates (NFTemplates). Provides methods to retrieve face attributes (metadata which is not saved in face template). Structure containing face detection results. Defines information of an eye pair. Contains information of a face location in an image. Contains information of a face rotation in an image as a deviation from frontal face in degrees. Provides functionality for extracting Neurotechnology Face Records (NLRecord ( see page 163)) from face images. Provides functionality to retrieve face templates feature points. 60 see page 59)

see page 63) see page 63) see page 65) see

NEESegmentationDetails ( page 67) NEExtractor ( see page 68)

NEMatchingDetails ( NERecord ( NETemplate ( NFAttributes ( NFCore ( NFDelta (

see page 75) Represents iris templates matching details.

see page 75) see page 80) see page 83)

see page 85) see page 87) see page 90) see page 91)

NFDoubleCore ( NFExtractor (

NFMatchingDetails ( 105) NFMinutia ( NFMinutiaNeighbor ( 110) NFRecord ( NFTemplate ( NLAttributes (

see page

see page 106) see page

see page 110) see page 130) see page 135) see page

NLEDetectionDetails ( 136) NLEEyes ( NLEFace (

see page 140) see page 141) see page 142) see page 143) see page 161)

NLERotation ( NLExtractor (

8

NLFeaturePoint (

8.1 Java Reference NLMatchingDetails ( 163) NLRecord ( NLTemplate ( NMatcher (

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

com.neurotec.biometrics Package

see page

Provides functionality to retrieve face templates matching details. Provides functionality for packing, unpacking and editing Neurotechnology Face Records (NLRecords). Provides functionality for packing, unpacking and editing Neurotechnology Faces Templates (NLTemplates). Provides functionality for comparing all Neurotechnology Templates (NTemplates, NFTemplates, NFRecords, NLTemplates, NLRecords, NETemplates, NERecords), encapsulated in Neurotechnology Matcher (NMatcher) object.

see page 163) see page 167)

see page 170)

NMatchingDetails (

see page 191) Provides functionality for retrieving Neurotechnology templates matching details. see page Base class for NMatchingDetails ( see page 191).

NMatchingDetailsBase ( 196) NSAttributes ( NSExtractor (

see page 197) see page 198) see page

Provides methods to retrieve sound template attributes. Provides functions for speaker features extraction into Neurotechnology Speaker Record (NSRecord ( see page 203)). Provides functionality to retrieve speaker matching details. Provides functionality for packing, unpacking and editing Neurotechnology Speaker Records (NSRecords). Provides functionality for packing, unpacking and editing Neurotechnology Speaker Templates (NSTemplates). Provides functionality for packing, unpacking and editing Neurotechnology Templates (NTemplates).

NSMatchingDetails ( 203) NSRecord ( NSTemplate ( NTemplate (

see page 203) see page 207) see page 210)

8.1.1.1 Classes8.1.1.1.1 NBiometricAttributes ClassRepresents the biometric attributes. Java public class NBiometricAttributes extends NObject; File NBiometricAttributes.java NBiometricAttributes Methods Name getBiometricType ( getQuality ( getStatus ( setQuality ( setStatus ( see page 61) see page 62) see page 62) see page 62) see page 62) see page 62) Description Gets the biometric type enumeration for the current object. Gets quality of the current object. Gets the biometric status of the current object. Retrieves a function that retrieves NType object for the enclosing type. Sets quality of the current object. Sets the biometric status of the current object.

nativeTypeOf (

8.1.1.1.1.1 NBiometricAttributes Methods8.1.1.1.1.1.1 NBiometricAttributes.getBiometricType MethodGets the biometric type enumeration for the current object.

8

61

8.1 Java Reference Java

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

com.neurotec.biometrics Package

public final EnumSet getBiometricType(); Returns The biometric type enum.

8.1.1.1.1.1.2 NBiometricAttributes.getQuality MethodGets quality of the current object. Java public final byte getQuality(); Returns Quality in bytes.

8.1.1.1.1.1.3 NBiometricAttributes.getStatus MethodGets the biometric status of the current object. Java public final NBiometricStatus getStatus(); Returns NBiometricStatus object.

8.1.1.1.1.1.4 NBiometricAttributes.nativeTypeOf MethodRetrieves a function that retrieves NType object for the enclosing type. Java public static NType nativeTypeOf(); Returns The function that retrieves NType object for the enclosing type.

8.1.1.1.1.1.5 NBiometricAttributes.setQuality MethodSets quality of the current object. Java public final void setQuality(byte value); Parameters Parameters byte value Description Quality in bytes.

8.1.1.1.1.1.6 NBiometricAttributes.setStatus MethodSets the biometric status of the current object. Java public final void setStatus(NBiometricStatus value); Parameters Parameters NBiometricStatus value Description NBiometricStatus object.

8

62

8.1 Java Reference

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

com.neurotec.biometrics Package

8.1.1.1.2 NBiometrics ClassProvides methods for retrieving NBiometrics Library information. Java public final class NBiometrics; File NBiometrics.java NBiometrics Fields Name DLL_NAME ( see page 63) NATIVE_LIBRARY ( NBiometrics Methods Name nativeModuleOf ( see page 63) Description Retrieves a function that retrieves NModule object for the enclosing module. Description Name of DLL containing unmanaged part of this component. see page 63) The object incapsulating the native library.

8.1.1.1.2.1 NBiometrics Fields8.1.1.1.2.1.1 NBiometrics.DLL_NAME FieldName of DLL containing unmanaged part of this component. Java public static final String DLL_NAME = "NBiometrics";

8.1.1.1.2.1.2 NBiometrics.NATIVE_LIBRARY FieldThe object incapsulating the native library. Java public static final NativeLibrary NATIVE_LIBRARY;

8.1.1.1.2.2 NBiometrics Methods8.1.1.1.2.2.1 NBiometrics.nativeModuleOf MethodRetrieves a function that retrieves NModule object for the enclosing module. Java public static NModule nativeModuleOf(); Returns The function that retrieves NModule object for the enclosing module.

8.1.1.1.3 NBiometricTypes ClassSpecifies the type of biometric data. Java public class NBiometricTypes; File NBiometricTypes.java

8

63

8.1 Java Reference NBiometricTypes Fields Name PHRASE_ID_UNKNOWN ( page 64) QUALITY_FAILED ( QUALITY_MAX ( QUALITY_MIN (

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

com.neurotec.biometrics Package

Description see Specified that phrase ID is unknown.

see page 64) Defines the failed quality value. Defines the maximum quality value. Defines the minimum quality value.

see page 64) see page 64)

QUALITY_UNKNOWN ( 64) NBiometricTypes Methods Name isQualityValid (

see page Defines the unknown quality value.

Description see page 64) Checks whether the quality value is valid.

8.1.1.1.3.1 NBiometricTypes Fields8.1.1.1.3.1.1 NBiometricTypes.PHRASE_ID_UNKNOWN FieldSpecified that phrase ID is unknown. Java public static final byte PHRASE_ID_UNKNOWN = (byte) 0;

8.1.1.1.3.1.2 NBiometricTypes.QUALITY_FAILED FieldDefines the failed quality value. Java public static final byte QUALITY_FAILED = (byte) 255;

8.1.1.1.3.1.3 NBiometricTypes.QUALITY_MAX FieldDefines the maximum quality value. Java public static final byte QUALITY_MAX = (byte) 100;

8.1.1.1.3.1.4 NBiometricTypes.QUALITY_MIN FieldDefines the minimum quality value. Java public static final byte QUALITY_MIN = (byte) 0;

8.1.1.1.3.1.5 NBiometricTypes.QUALITY_UNKNOWN FieldDefines the unknown quality value. Java public static final byte QUALITY_UNKNOWN = (byte) 254;

8.1.1.1.3.2 NBiometricTypes Methods8.1.1.1.3.2.1 NBiometricTypes.isQualityValid MethodChecks whether the quality value is valid. Java public static boolean isQualityValid(byte value);

8

64

8.1 Java Reference Parameters Parameters byte value Returns true if the value is valid; else false.

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

com.neurotec.biometrics Package

Description Quality value.

8.1.1.1.4 NEAttributes ClassProvides methods to retrieve iris attributes (metadata .which is not saved in iris template). Java public class NEAttributes extends NBiometricAttributes; File NEAttributes.java Methods NEAttributes Class Name NEAttributes ( see page 65) Description Creates new instance of NEAttributes.

NBiometricAttributes Methods Name getBiometricType ( getQuality ( getStatus ( setQuality ( setStatus ( NEAttributes Class Name getBoundingRect ( getImageIndex ( getPosition ( nativeTypeOf ( setImageIndex ( see page 65) see page 66) see page 66) see page 66) see page 66) Description Gets the bounding rectangle that completely encloses scanned iris. Gets iris image index. Gets iris position. Retrieves a function that retrieves NType object for the enclosing type. Sets the bounding rectangle that completely encloses scanned iris. Sets iris image index. see page 61) see page 62) see page 62) see page 62) see page 62) see page 62) Description Gets the biometric type enumeration for the current object. Gets quality of the current object. Gets the biometric status of the current object. Retrieves a function that retrieves NType object for the enclosing type. Sets quality of the current object. Sets the biometric status of the current object.

nativeTypeOf (

see page 66)

setBoundingRect (

8.1.1.1.4.1 NEAttributes.NEAttributes ConstructorCreates new instance of NEAttributes. Java public NEAttributes(NEPosition position);

8.1.1.1.4.2 NEAttributes Methods8.1.1.1.4.2.1 NEAttributes.getBoundingRect MethodGets the bounding rectangle that completely encloses scanned iris.

8

65

8.1 Java Reference Java

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

com.neurotec.biometrics Package

public final Rectangle getBoundingRect(); Returns Rectangle type value containing coordinates, width and height.

8.1.1.1.4.2.2 NEAttributes.getImageIndex MethodGets iris image index. Java public final int getImageIndex(); Returns Iris image index.

8.1.1.1.4.2.3 NEAttributes.getPosition MethodGets iris position. Java public final NEPosition getPosition(); Returns Iris position value.

8.1.1.1.4.2.4 NEAttributes.nativeTypeOf MethodRetrieves a function that retrieves NType object for the enclosing type. Java public static NType nativeTypeOf(); Returns The function that retrieves NType object for the enclosing type.

8.1.1.1.4.2.5 NEAttributes.setBoundingRect MethodSets the bounding rectangle that completely encloses scanned iris. Java public final void setBoundingRect(Rectangle value); Parameters Parameters Rectangle value Description Rectangle type value containing coordinates, width and height.

8.1.1.1.4.2.6 NEAttributes.setImageIndex MethodSets iris image index. Java public final void setImageIndex(int value); Parameters Parameters int value Description Iris image index.

8

66

8.1 Java Reference

MegaMatcher Embedded 1.2, VeriFinger Embedded 1.2,

com.neurotec.biometrics Package

8.1.1.1.5 NEESegmentationDetails ClassProvides information about segmentation details. Java public final class NEESegmentationDetails implements Serializable; File NEESegmentationDetails.java Methods Name NEESegmentationDetails ( page 67) NEESegmentationDetails Fields Name BOUNDARY_POINT_COUNT ( see page 67) innerBoundaryAvailable ( page 67) outerBoundaryAvailable ( page 67) NEESegmentationDetails Methods Name getInnerBoundaryPoints ( page 68) getOuterBoundaryPoints ( page 68) see see Description Gets list of inner boundary points. Gets list of outer boundary points. see see Description Int value indicating the number of boundary point count. Boolean value indicating if the inner boundary is available. Boolean value indicating if the outer boundary is available. see Description Creates new instance of NEESegmentationDetails.

8.1.1.1.5.1 NEESegmentationDetails.NEESegmentationDetails ConstructorCreates new instance of NEESegmentationDetails. Java public NEESegmentationDetails();

8.1.1.1.5.2 NEESegmentationDetails Fields8.1.1.1.5.2.1 NEESegmentationDetails.BOUNDARY_POINT_COUNT FieldInt value indicating the number of boundary point count. Java public static final int BOUNDARY_POINT_COUNT = 32;

8.1.1.1.5.2.2 NEESegmentationDetails.innerBoundaryAvailable FieldBoolean value indicating if