1. Introduction

The GBS Fingerprint SDK is a fingerprint recognition library that comes packaged with a Software Development Kit (SDK), allowing you to integrate biometrics in a wide range of applications. Thanks to its support for several programming languages, code samples, and its documentation, you’ll start developing your application in a matter of minutes.

2. Installing the SDK

2.1. Licensing

The GBS Fingerprint SDK requires a software license to work correctly.

It is distributed with a trial license valid for 90 days*. After this period a license must be purchased by sending an email to info@griaule.com and must be installed in C:\ProgramData\Griaule.

Note

For questions, please contact the Griaule Biometrics support sending an email to support@griaule.com.

2.2. Installing

You must have one of the following versions of the SDK to perform the install. Verify if the version you have is compatible with your OS.

  • GBS Fingerprint SDK (x86-64)
  • GBS Fingerprint SDK (x86)
  • GBS Fingerprint SDK (Linux)

To install the SDK, double-click on the file and follow the on-screen instructions.

2.3. Folder Overview

Directory Description
bin Contains all the files needed by the GBS Fingerprint SDK library. This folder mainly contains DLLs.
doc The Fingerprint SDK documentation files.
inc Import files for some of the supported languages (DLL only).
lib Libraries to access the GBS Fingerprint SDK in your C++ and C++.NET applications.
samples Contains the samples source codes and binaries.

2.4. Operating Systems and Fingerprint Reader devices supported

Once the GBS Fingerprint SDK is installed the supported devices are also installed.

The following table specifies which models are supported according to the Operating System.

Operating System
Architecture
Win 10
64 Bits
Win 10
32 Bits
Win 8.1
64 Bits
Win 8.1
32 Bits
Win 8
64 Bits
Win 8
32 Bits
Win 7
64 Bits
Win 7
32 Bits
Cogent Cs500e YES YES YES YES YES YES YES YES
Crossmatch EF200 / Watson YES YES YES YES YES YES YES YES
Crossmatch LSCAN Guardian NO YES NO YES NO YES NO YES
Crossmatch Verifier 320 LC YES YES YES YES YES YES YES YES
Digent Izzix FD1000 NO YES NO YES NO YES NO YES
Digital Persona U.are.U 4000 YES YES YES YES YES YES YES YES
Digital Persona U.are.U 4500 YES YES YES YES YES YES YES YES
Digital Persona U.are.U 5100 YES YES YES YES YES YES YES YES
Futronic FS52 NO YES NO YES NO YES NO YES
Futronic FS80 YES YES YES YES YES YES YES YES
Futronic FS80H YES YES YES YES YES YES YES YES
Futronic FS81H YES YES YES YES YES YES YES YES
Futronic FS88 YES YES YES YES YES YES YES YES
Futronic FS88H YES YES YES YES YES YES YES YES
Greenbit Multiscan 527 YES YES YES YES YES YES YES YES
Lumidigm M301 YES YES YES YES YES YES YES YES
Lumidigm V302 YES YES YES YES YES YES YES YES
Lumidigm V311 YES YES YES YES YES YES YES YES
Lumidigm V371 YES YES YES YES YES YES YES YES
IDTech Biomag IDT-4012-DP YES YES YES YES YES YES YES YES
IDTech Biomag IDT-4033-NG YES YES YES YES YES YES YES YES
IB Sherlock YES YES NO NO NO NO NO NO
Integrated Biometrics Watson Mini YES YES YES YES YES YES YES YES
IB Kojak YES YES NO YES NO YES NO YES
Nitgen eNBioScan-D NO YES NO NO NO NO NO NO
Nitgen Hamster DX NO YES NO YES NO YES NO YES
Nitgen Hamster II NO YES NO YES NO YES NO YES
Nitgen Hamster II DX / III NO YES NO YES NO YES NO YES
Secugen Hamster IV YES YES YES YES YES YES YES YES
Secugen Hamster Plus YES YES YES YES YES YES YES YES
Secugen Hamster Pro 20 YES YES YES YES YES YES YES YES
Suprema BioMini NO YES NO YES NO YES NO YES
Suprema BioMini Plus NO YES NO YES NO YES NO YES
Suprema BioMini Slim NO YES NO YES NO YES NO YES
Suprema RealScan-D YES YES YES YES YES YES YES YES
Suprema RealScan-G10 YES YES YES YES YES YES YES YES
Suprema SFU-S20 NO YES NO YES NO YES NO YES
TechMag Biopass YES YES YES YES YES YES YES YES
UPEK Eikon NO YES NO YES NO YES NO YES
UPEK Eikon Touch NO YES NO YES NO YES NO YES
Virdi FOH02 YES YES YES YES YES YES YES YES
Virdi FOH04 YES YES YES YES YES YES YES YES
Zvetco Verifi P5000 NO YES NO YES NO YES NO YES
Zvetco Verifi P6000-B NO YES NO YES NO YES NO YES
Reader Libraries
CrossMatch V320





GBSFingerprintCapPluginCrossMatch320.dll
LScanEssentials.dll
QtCore4.dll
QtGui4.dll
QtNetwork4.dll
QtWebKit4.dll
Other CrossMatch




GBSFingerprintCapPluginCrossMatchP.dll
GBSFingerprintCapPluginCrossMatch300.dll
intl.dll
libglib-2.0-0.dll
USB4XX.dll
Digent


GBSFingerprintCapPluginDigent.dll
FingerAPI22Ex.dll
IZZIX20.dll TCI.dll
Futronic FS

GBSFingerprintCapPluginFutronicFS50.dll
ftrScanAPI.dll
Other Futronic

GBSFingerprintCapPluginFutronic.dll
ftrScanAPI.dll
Nitgen Hamster

GBSFingerprintCapPluginHams.dll
NBioBSP.dll
Nitgen eNBioScan-D


GBSFingerprintCapPluginNitgenD.dll
eNBioScan-D
NBioScan.dll
Nitgen eNBioScan-F


GBSFingerprintCapPluginNitgenF.dll
eNBioScan-F
NBioBSP.dll
Integrated Biometrics Watson Mini

GBSFingerprintCapPluginIB.dll
IBScanUltimate.dll
Lumidigm









GBSFingerprintCapPluginLumi.dll
LumiAPI.dll
LumiCore.dll
LumiInOpAPI.dll
plugin/AlgoDvc.dll
plugin/IEngine_Plus.dll
plugin/MercuryDvc.dll
plugin/PreProcV31_INT16.dll
plugin/SDvc.dll
plugin/VenusDvc.dll
Suprema RealScan-D

GBSFingerprintCapPluginRealD.dll
RS_SDK.dll
Other Suprema


GBSFingerprintCapPluginSuprema.dll
UFLicense.dat
UFScanner.dll
UPEK TouchChip


GBSFingerprintCapPluginUpek.dll
bsapi.dll
TCI.dll
Virdi FOH02


GBSFingerprintCapPluginVirdi2.dll
UCBioBSP.dll
VHMLib.dll

Note

If your fingerprint reader is not listed in the table above and for further information, please contact us by email info@griaule.com.

2.5. Programming Language Support

GBS Fingerprint SDK supports multiple programming languages, including Java, C++ and C#/.NET.

3. Features

3.1. Technical Characteristics

Capture:

  • Detects fingerprint readers plug/unplug;
  • Automatic finger detection;
  • Supports BMP files for fingerprint image saving/loading;
  • Maximum image size of 1280 x 1280 pixels;
  • Minimum image size of 50 x 50 pixels;
  • Maximum resolution of 1000 DPI;
  • Minimum resolution of 125 DPI;

Extraction:

  • Average extraction time of 100ms;

    Note

    Images of 300 x 300 pixels. Machine: Pentium4 2.8GHz, 512MB RAM.

  • Maximum image size of 500 x 500 pixels;

    Note

    Larger images are cropped.

  • Minimum image size of 50 x 50 pixels;

  • Average template size of 400 bytes;

Matching:

Note

The Identification one-to-many is not performed by the GBS Fingerprint SDK.

  • Verification speed: up to 100/s.

    Note

    Images of 100 x 100 pixels. Machine: Pentium4 2.8GHz, 512MB RAM.

3.2. Threshold and Rotation Tolerance

The verification function in Fingerprint SDK library are governed by two important parameters: threshold and rotation tolerance.

The threshold is the minimum score needed to state that two fingerprints do match. The default value is 20 for the verification process, ensuring a 1% FRR.

The rotation tolerance defines the maximum acceptable angle variation (in degrees) between two fingerprints being compared that will result in a match. This value is valid in both clockwise and counterclockwise directions, so the maximum value that can be set is 180. The default value is -1.

3.3. What’s New on Fingerprint SDK

  • Added AFIS (Automatic Fingerprint Identification System) functionality: patterns are identified by software in fingerprint images and are used for comparison with another fingerprint image patterns to determine if they came from the same finger and ultimately, from the same person.
  • Added converter to WSQ functionality. The WSQ is the best image format for fingerprints. It reaches a great compression with high image quality.
  • Image formats supported when converting to WSQ: BMP, JPEG, JPEG 2000, TIFF, GIF and PNG.
  • Added support to more Fingerprint Readers;
  • Added support to Windows 7, 8 and 8.1 32-bit and 64-bit.
  • Fixed some bugs from the Fingerprint SDK 2009;
  • Dropped the concept of Context;
  • Dropped the editions IDENTIFICATION and VERIFICATION;
  • Does not perform multi-thread operations such as identification one-to-many;
  • Performs fingerprint extraction and verification (matching one-to-one).

4. How to migrate from the Fingerprint SDK 2009 to the new GBS Fingerprint SDK

This section highlights the main differences introduced when comparing the new Fingerprint SDK and the Fingerprint SDK 2009.

4.1. The GBS Fingerprint SDK

In the Fingerprint SDK 2009, a MatchingContext object is where the biometric operations (fingerprint minutiae extraction and fingerprint matching) occur. All methods in a MatchingContext object are synchronized, thus to execute N biometric operations at the same time, N MatchingContext objects must be created.

In the new Fingerprint SDK, the Matching Context is not applicable anymore. The application continues to be thread-safe, but only single-threaded operations are performed at a time. For multi-thread operations, such as Identification (one-to-many), the GBS Server is needed. For further information regarding this software of the Griaule Biometric Suite, please contact the Griaule Biometrics support (support@griaule.com).

4.1.1. New API: discontinued and new methods

The following tables match the discontinued methods of the previous softwares (Fingerprint SDK 2009, AFIS 2.0 and WSQ 1.2) with the new ones that replace them, if applicable. The value NA indicates that the method’s functionality has been discontinued in the current release of the SDK.

Tip

The table below has four columns. If any columns are hidden, you can scroll to the side using the arrow keys.

Fingerprint 2009 Afis WSQ GBS Fingerprint
GrInitialize GriauleAfisInitialize   GrInitialize
GrCapInitialize GriauleAfisCapInitialize   GrCapInitialize
GrFinalize GriauleAfisFinalize   GrFinalize
GrCapFinalize GriauleAfisCapFinalize   GrCapFinalize
GrExtract GriauleAfisExtract   NA
GrExtractEx GriauleAfisExtractEx   GrExtract
GrConvertTemplate GriauleAfisConvertTemplate   GrConvertTemplate
GrCreateContext GriauleAfisCreateContex   NA
GrDestroyContext GriauleAfisDestroyContext   NA
GrVerify GriauleAfisVerify   GrVerify
GrSetVerifyParameters GriauleAfisSetVerifyParameters   GrSetVerifyParameters
GrGetVerifyParameters GriauleAfisGetVerifyParameters   GrGetVerifyParameters
GrIdentify GriauleAfisIdentify   NA
GrIdentifyPrepare GriauleAfisIdentifyPrepare   NA
GrSetIdentifyParameters GriauleAfisSetIdentifyParameters   NA
GrGetIdentifyParameters GriauleAfisGetIdentifyParameters   NA
GrCapStartCapture GriauleAfisCapStartCapture   GrCapStartCapture
GrCapStopCapture GriauleAfisCapStopCapture   GrCapStopCapture
  GriauleAfisCapCapture   NA
  GriauleAfisGetProcessedImage   NA
  GriauleAfisGetTemplate   NA
  GriauleAfisGetTemplateEx   NA
  GriauleAfisSetTemplate   NA
  GriauleAfisGetTemplateInfo   NA
  GriauleAfisGetMinutiaInfo   NA
  GriauleAfisGetSegmentInfo   NA
  GriauleAfisAddMinutia   NA
  GriauleAfisRemoveMinutia   NA
  GriauleAfisGetNearestMinutia   NA
  GriauleAfisGetNearestSegment   NA
  GriauleAfisRecalculateSegment   NA
  GriauleAfisSetPatternClassification   NA
  GriauleAfisGetPatternClassification   NA
  GriauleAfisGetMatchInfo   NA
  GriauleAfisGetMatchMinutia   NA
  GriauleAfisGetMatchSegment   NA
  GriauleAfisRawImageToHandle   NA
  GriauleAfisSaveRawImageToFile   NA
  GriauleAfisLoadImageFromFile   NA
  GriauleAfisDisplay   NA
  GriauleAfisSegmentTwoFingers   GrSegmentNFingers
  GriauleAfisSegmentFourFingers   GrSegmentNFingers
  GriauleAfisFreeBlockData  
  GriauleAfisSetCaptureParameters   GrSetCaptureParameters
  GriauleAfisGetCaptureParameters   GrGetCaptureParameters
  GriauleAfisSetCaptureThresholds   GrSetCaptureThresholds
  GriauleAfisGetCaptureThresholds   GrGetCaptureThresholds
  GriauleAfisSetDisplayColors   NA
  GriauleAfisGetDisplayColors   NA
  GriauleAfisSetExtractParameters   NA
  GriauleAfisGetExtractParameters   NA
  GriauleAfisSetPostMatchParameters   NA
  GriauleAfisGetPostMatchParameters   NA
  GriauleAfisGetVersion   NA
  GriauleAfisInitializeStandard   NA
  GriauleAfisAddFingerprintToStandard   NA
  GriauleAfisExportStandard   NA
  GriauleAfisAddicaoToStandard   NA
  GriauleAfisAddExceptionToStandard   NA
  GriauleAfisAddBioDataToStandard   NA
GrCapAddPlugin     NA
GrCapRawImageToHandle     NA
GrCapSaveRawImageToFile     NA
GrCapLoadImageFromFile     NA
GrBiometricDisplay     GrBiometricDisplay
GrBiometricDisplayRaw     NA
GrSetBiometricDisplayColors     GrSetBiometricDisplayColors
GrGetGrFingerVersion     GrGetVersion
GrSetLicenseFolder     GrSetLicenseFolder
GrInstallLicense     GrInstallLicense
GrGetLicensePath     NA
GrStartEnroll     GrStartConsolidation
GrEnroll     GrConsolidate
GrEncodeBase64     GrExtract
GrDecodeBase64     GrExtract
GrisBase64Encoding     GrExtract
    griaulewsq_raw2wsq GrConvertImage
    griaulewsq_wsq2raw GrConvertImage
    griaulewsq_free GrConvertImage
    griaulewsq_loadFromFile GrLoadFromFile
      GrSaveToFile
    griaulewsq_getVersion GrConvertImage
    griaulewsq_saveToBMPFile GrConvertImage
    griaulewsq_saveToJPEGFile GrConvertImage
    griaulewsq_saveToJPEG200OFile GrConvertImage
    griaulewsq_saveToGIFFile GrConvertImage
    griaulewsq_saveToTIFFFile GrConvertImage
    griaulewsq_iso197944_to_raw GrConvertImage
    griaulewsq_iso197944_to_raw_single GrConvertImage
    griaulewsq_raw_to_iso197944_single GrConvertImage
    griaulewsq_raw_to_iso197944 GrConvertImage
    griaulewsq_saveToiso197944File_single GrConvertImage
    griaulewsq_saveToiso197944File GrConvertImage
    griaulewsq_saveToWSQFile GrConvertImage
    griaulewsq_saveToPNGFile GrConvertImage
    griaulewsq_setComment GrConvertImage
    griaulewsq_getComment GrConvertImage
    griaulewsq_setLicenseFolder GrConvertImage
    griaulewsq_requestAuthorization GrConvertImage
    griaulewsq_rawmageToHandle GrConvertImage
    griaulewsq_memleak_start GrConvertImage
    griaulewsq_memleak_chec GrConvertImage
GrGetCaptureInfo     GrGetCaptureInfo
GrGetReaderInfo     GrGetReaderInfo
GrSetReaderInfo     GrSetReaderInfo
GrSetCrypt     NA
GrDecrypt     NA

4.1.2. Methods Signature Simplified: Gr_IMAGE and Gr_TEMPLATE

In the Fingerprint SDK 2009, several primitive types must be passed as parameters of the API functions in order to define an image or a template. In the GBS Fingerprint SDK, new classes define how Image and Template data must be defined. They encapsulate the necessary information and allow a clearer understanding of the API.