45

Click here to load reader

FPCaptureExpressLite SDK Programmer's Guide

  • Upload
    serdias

  • View
    232

  • Download
    18

Embed Size (px)

Citation preview

Page 1: FPCaptureExpressLite SDK Programmer's Guide

Version 1.53

FPCaptureExpressLite SDK Programmer’s Guide

Page 2: FPCaptureExpressLite SDK Programmer's Guide

©2011 Cogent, Inc. All rights reserved.

No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any

means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of Cogent,

Inc.

The information in this document is subject to change without notice. The software mentioned in this document is

furnished under license and may only be used or copied in accordance with the terms of such license. Contact software

manufacturers directly for terms of software licenses for any software mentioned in this document not originating from

Cogent, Inc.

All brand or product names are the trademarks or registered trademarks of their respective holders.

Cogent Document # IG-EXT-AP-897-0.00 (1)

Document Revision History

Version Date Comment

0.1 05/14/2008 Initial version

0.2 05/22/2008 Updated the document

0.3 05/23/2008 Updated the document

0.4 05/23/2008 Updated the document

1.0 05/28/2008 Updated the document

1.1 06/04/2008 Updated the document

1.2 06/05/2008 Updated the document

1.3 01/09/2009 Updated the document

1.4 02/11/2009 Updated the document

1.42 02/19/2009 Updated the document

1.43 03/18/2009 Updated the document

1.44 03/24/2009 Updated the document

1.45 07/01/2009 Updated the document

1.46 07/15/2009 Updated the document

1.47 09/18/2009 Updated the document

1.48 03/10/2010 Updated the document

1.49 04/19/2010 Updated the document

Page 3: FPCaptureExpressLite SDK Programmer's Guide

1.50 05/07/2010 Updated the document

1.51 09/28/2010 Updated the document

1.52 01/20/2011 Updated the document

1.53 08/12/2011 Updated the document

Page 4: FPCaptureExpressLite SDK Programmer's Guide

This page was intentionally left blank.

Page 5: FPCaptureExpressLite SDK Programmer's Guide

Contents iii Proprietary

Contents

1  Overview 1 

2  Key Terms 1 

3  System Requirements 2 

4  Architectural Overview 2 4.1  Software Architecture .............................................................................................. 2 4.2  Hardware Architecture ............................................................................................. 2 

5  Getting Started 3 5.1  License Control ....................................................................................................... 3 

6  Properties 4 6.1  bAutoCapture .......................................................................................................... 4 6.2  destPath .................................................................................................................. 4 6.3  TransNo .................................................................................................................. 4 6.4  FingPos ................................................................................................................... 5 6.5  bRolled ................................................................................................................... 5 6.6  ErrCode ................................................................................................................... 6 6.7  OutputSaveFormat ................................................................................................... 6 6.8  bDisplayPromptText ................................................................................................ 6 6.9  bDisplayArrow ......................................................................................................... 7 6.10  bDisplayCombox ..................................................................................................... 7 6.11  GetNFIQScore .......................................................................................................... 8 6.12  nMatchScore............................................................................................................ 8 6.13  ReportTime ............................................................................................................. 8 6.14  ErrMsg .................................................................................................................... 9 6.15  FingerNumToDetect ................................................................................................ 9 6.16  bImageSegmentation ............................................................................................... 9 6.17  RightSideSegmentedFingerPosition ........................................................................ 10 6.18  LeftSideSegmentedFingerPosition .......................................................................... 10 6.19  SegmentedImageHeight ......................................................................................... 11 6.20  SegmentedImageWidth .......................................................................................... 11 6.21  OutputFileMode ..................................................................................................... 12 6.22  Tpl220MatchResult................................................................................................ 12 6.23  bInitKillScannerExternal ......................................................................................... 12 6.24  bAmputateCombox ............................................................................................... 13 6.25  AmputatedCode .................................................................................................... 14 6.26  bLengthenValidationTime ...................................................................................... 14 

Page 6: FPCaptureExpressLite SDK Programmer's Guide

Contents iv Proprietary

6.27  bInvisibleFingerLogo ............................................................................................. 15 6.28  ScannerModel ........................................................................................................ 15 6.29  bCalibrationMessage ............................................................................................. 16 

7  Methods 17 7.1  Capture() ............................................................................................................... 17 7.2  ComputeNFIQScore( File_Path, File_Format ) .......................................................... 17 7.3  SameCheck( File_Path1, File_Path2, Para) ............................................................... 17 7.4  GetTiming( Time_Capture_Scenario ) ..................................................................... 18 7.5  CreateTpl( FPImg1, FPImg2, FPPosition1, FPPosition2, ImputImageType, OutputFileType, OutputFileName, DeviceID ) ................................................................... 19 7.6  GetMemoryBuffer( BufferType, OutputImageBuffer ) ............................................... 19 7.7  ComputeNFIQScoreFromBuffer( Raw_Image_Buffer ) ............................................... 21 7.8  CreateTplBuffer( RawImageBuffer1, RawImageBuffer2, FPPosition1, FPPosition2) .... 21 7.9  SameCheckFromBuffer( MntBuffer1, MntBuffer2) .................................................... 22 7.10  Create220Tpl( BmpFingerImg, OutputFileName, FPPosition) ................................... 22 7.11  Create220TplBuffer( RawImgBuffer, FPPosition) ..................................................... 23 7.12  Verify220Tpl( 220Tpl1, 220Tpl2) ........................................................................... 23 7.13  Verify220TplBuffer( 220TplBuff1, 220TplBuff2) ..................................................... 24 7.14  InitScannerExternal().............................................................................................. 25 7.15  TerminateScannerExternal() ................................................................................... 25 7.16  SetRecaptureHotKey( FSKEY, KEYCODE) .................................................................. 25 7.17  SetCancelHotKey( FSKEY, KEYCODE) ....................................................................... 26 7.18  ConvertType9ToEFTS( InFilePath, OutFilePath)........................................................ 27 7.19  ConvertType9ToEFTSBuffer( Type9TplBuffer) ......................................................... 27 7.20  ConvertBMPBufferToEFTSBuffer( BMPBuffer) ........................................................... 27 

8  Multi-Language Support 29 

Appendix A  Error Code Definitions 33 

Appendix B  Output File Naming Conventions 36 

Appendix C  Troubleshooting 36 

Appendix D  Key Code List 37 

Page 7: FPCaptureExpressLite SDK Programmer's Guide

2 - Key Terms 1 Proprietary

1 Overview

The Cogent Fingerprint Capture (FPCaptureExpressLite) SDK provides a customizable interface for the following Cogent fingerprint scanning devices to capture a single flat fingerprint image.

• CSD200 scanner (Dimensions: 320x480, Resolution: 500ppi)

• CSD330 scanner (Dimensions: 500x500, Resolution: 500ppi)

• CSD450 scanner (Dimensions: 800x750, Resolution: 500ppi)

The FP330DIRECTX.dll is an ActiveX control interface that can easily be integrated into a Web-based application or standalone application. It provides the following services:

• Easy-to-use GUI that instructs the user about how to place the finger in the correct position

• Auto-capture when an acceptable quality fingerprint is detected

• Output image in BMP or WSQ format

• Extract minutiae to the EFTS format

• Create the ANSI INCITS 378 template

• Create/verify 220 bytes template

• Quality check based on NFIQ values

• 1:1 minutiae match verification

• Rolled finger image capture (CSD450 scanner only)

• 2-flat finger image capture (CSD450 scanner only)

• Cuts 2-flat finger image into 2 individual image file groups in the format of BMP, WSQ, or EFTS format (CSD450 scanner only)

• Output finger images or Templates as memory buffer

• Multi-language support

2 Key Terms

This section describes key terms that are used throughout this Guide. Term Description

Software Development Kit (SDK) An SDK is a programming package that enables programmers to develop applications for a specific platform. Typically, an SDK includes one or more APIs, programming tools, and documentation.

Application Program Interface (API) An API is a set of routines, protocols, and tools for building software applications.

Page 8: FPCaptureExpressLite SDK Programmer's Guide

4 - Architectural Overview 2 Proprietary

3 System Requirements

The following minimum system requirements are necessary in order to use the SDK described in this document. Operating System:

• Windows 2000/XP/Vista

Tools:

• Microsoft Visual C++ 6.0, VB, HTML, C#, JAVA

Hardware:

• CPU: Pentium IV 2.0 GHz or better/comparable third party CPU

• Memory: 512 MB RAM or more

• Graphics Adapter: Graphics card supporting 1024 x 768 x 24 bit colors with DirectDraw Support, 8 MB memory

• PC Interface: USB 2.0, COM port (if using an external footswitch)

• Monitor: Supports 1024 x 768 displays. A 19-inch monitor is recommended for displaying a resolution of 1280 x 1024. Touch-screen is an option.

4 Architectural Overview

4.1 Software Architecture

The Cogent Fingerprint Capture (FPCaptureExpressLite) SDK is an ActiveX control. It provides a GUI interface for Cogent’s fingerprint scanning device. Client applications can be built on top of the FPCaptureExpressLite as shown in the following diagram.

Customer Application

FPCaptureExpressLite

Cogent Scanner SDK and Driver

Operating System

Figure 4.1-1 Software Architecture

4.2 Hardware Architecture

The hardware requires a USB 2.0 connection to a standard PC running under Microsoft Windows XP or 2000.

Page 9: FPCaptureExpressLite SDK Programmer's Guide

5 - Getting Started 3 Proprietary

5 Getting Started

5.1 License Control

The Cogent Fingerprint Capture (FPCaptureExpressLite) SDK is under license control provided by Cogent, Inc. A license must be obtained in order to use FPCaptureExpressLite. To purchase a license, please visit http://www.license.cogentsystems.com. A 90-day trial version is also available for demonstration purposes. FPCaptureExpressLite provides a set of fingerprint capture and fingerprint image processing features. Each of these features is licensed and can be purchased separately accordingly to each customer’s need. Please refer to Figure 5.1-1 for the complete set of features.

# Features

1 Fingerprint Capture and save as BMP format.

2 Output WSQ format image.

3 Output EFTS Minutia Format Extraction

4 Output Image NFIQ score

5 Create 378,220 or Type9 Template

6 1 to 1 match verification

Figure 5.1-1 Licensed Features

Page 10: FPCaptureExpressLite SDK Programmer's Guide

6 - Properties 4 Proprietary

6 Properties

This section provides detailed information about the API properties contained in this SDK.

6.1 bAutoCapture

Description This property is used to enable the auto capture feature. If this feature is enabled, the live image window will be closed and the image will be saved automatically when an acceptable quality fingerprint is detected. If this feature is not enabled, the user must press <Enter> or the <Space bar> to capture the fingerprint manually. Valid Values

0 Default value, the auto capture feature is not enabled

1 Enable auto capture feature

Sample Code

FPLite.bAutoCapture=0

6.2 destPath

Description This property is used to specify the path of the output image. Valid Values A string contains an existing directory. Max length: 256. Sample Code

FPLite.destPath = “c:\\temp”;

6.3 TransNo

Description This property is used to specify the transaction number of the fingerprint. Valid Value A string contains letters or numbers. Max length: 20. Sample Code

FPLite.TransNo = “ABC001”;

Page 11: FPCaptureExpressLite SDK Programmer's Guide

6 - Properties 5 Proprietary

6.4 FingPos

Description This property is used to specify the position of the fingerprint. The default finger position is 1. For output file naming rules, please refer to Appendix B: Output File Naming Conventions. Valid Values

1 Right Thumb

2 Right Index Finger

3 Right Middle Finger

4 Right Ring Finger

5 Right little Finger

6 Left Thumb

7 Left Index Finger

8 Left Middle Finger

9 Left Ring Finger

10 Left little Finger

Sample Code

FPLite.FingPos = 1;

6.5 bRolled

Description This property is used to specify the type of finger image that will be captured by the scanner. Only CSD450 scanner supports rolled fingerprint capture. If bRolled is set to 1, then both FingerNumToDetect and bAutoCapture must also be set to 1. Valid Values

0 Default value: flat finger image is expected to be captured.

1 Rolled fingerprint image is expected to be captured (CSD450 scanner only).

Sample Code

FPLite.FingerNumToDetect=1 FPLite.bAutoCapture=1

Page 12: FPCaptureExpressLite SDK Programmer's Guide

6 - Properties 6 Proprietary

FPLite.bRolled=1

6.6 ErrCode

Description This property is used to return the capture result when the capture is done. Valid Values

0 Success

Others Error: Please refer to Appendix A for the error code definitions.

Sample Code

FPLite.ErrCode;

6.7 OutputSaveFormat

Description This property is used to specify the output image format. If this is not specified, a BMP will be saved. If multiple formats are required, place all required formats into one string. For example, if WSQ output format and EFTS minutiae extraction is required, use “WSQ_EFTS.” If “RAW” option is specified, the corresponding raw image buffer will be generated. The first 32 bytes of the buffer is the cogent type 32 bytes header. Valid Values A valid value consists of one of the items or a combination of the items below.

BMP Default value, a BMP is output

WSQ WSQ format image

EFTS EFTS format minutiae

RAW Raw image buffer with Cogent 32 bytes header.

TYPE9 TYPE 9 Cogent format template

Sample Code

FPLite.OutputSaveFormat = “BMP_WSQ_EFTS_TYPE9”;

6.8 bDisplayPromptText

Description

Page 13: FPCaptureExpressLite SDK Programmer's Guide

6 - Properties 7 Proprietary

This property is used to enable the feature for prompting the text display on the GUI. If this feature is enabled, the text prompt will be displayed right under the capture screen and it will guide you to capture the fingerprint properly. If this feature is not enabled, users need to capture images using their own judgment. Valid Values

0 The text display prompt feature is not enabled

1 Default value, the text display prompt feature is enabled

Sample Code

FPLite.bDisplayPromptText = 1;

6.9 bDisplayArrow

Description This property is used to enable the feature for displaying the arrow symbol on the GUI. If this feature is enabled, the arrow symbols will be displayed right under the capture screen and guide you to capture the fingerprint properly. If this feature is not enabled, users need to capture images using their own judgment. Valid Values

0 The arrow symbol feature is not enabled

1 Default value, the arrow symbol feature is enabled

Sample Code

FPLite.bDisplayArrow=1

6.10 bDisplayCombox

Description The live capture GUI displays a finger position logo depending on the finger position that the user has entered in the FingPos property. This property is used to specify whether to enable the feature for changing the position of the finger that was defined previously in the FingPos property. If this feature is enabled, a different finger position can be chosen from the list box. The user can specify another finger position other than the finger position that was previously defined in the FingPos property. The finger position logo will be changed accordingly. The combo box applies only to a single finger capture: it will be automatically disabled if FingerNumToDetect > 1. Valid Values

0 Default value, the finger position list box feature is not enabled

Page 14: FPCaptureExpressLite SDK Programmer's Guide

6 - Properties 8 Proprietary

1 The finger position list box feature is enabled

Sample Code

FPLite.bDisplayPromptText = 1;

6.11 GetNFIQScore

Description This property is used to return the NFIQ score after using/calling the method ComputeNFIQScore() or ComputeNFIQScoreFromBuffer() to compute the NFIQ score. ComputeNFIQScore/ComputeNFIQFromBuffer and GetNFIQScore are always used in pairs. Please see Section 7.2 for information about using the ComputeNFIQScore() and Section 7.7 for information about using the ComputeNFIQScoreFromBuffer() method. Sample Code

FPLite.GetNFIQScore;

6.12 nMatchScore

Description This property is used to return the 1:1 match minutia score after using/calling the method SameCheck() or SameCheckFromBuffer() to perform minutiae matching. The property nMatchScore and the method SameCheck()/SameCheckFromBuffer() are always used in pairs. Please see Section 7.3 for information about using the SameCheck() method and Section 7.9 for information about using the SameCheckFromBuffer() method. Valid Values 0 < nMatchScore < 10000. Typically, if nMatchScore > 1000, the 2 fingers are considered a match. Sample Code

FPLite.nMatchScore;

6.13 ReportTime

Description This property is used to return the time required after calling the method GetTiming(). GetTiming() and ReportTime are always used in pairs. Please see Section 7.4 for information about using the GetTiming() method. Sample Code

Page 15: FPCaptureExpressLite SDK Programmer's Guide

6 - Properties 9 Proprietary

FPLite.ReportTime;

6.14 ErrMsg

Description This property is used to return the error message if the error code is found to be less than 0, otherwise, nothing will be displayed by the ErrMsg property. Sample Code

FPLite.ErrMsg;

6.15 FingerNumToDetect

Description This property sets the number of fingers to be captured. At this stage, 3 scanner types are supported: CSD200, CSD330 and CSD450. CSD200 and CSD330 scanners are only supporting 1-finger capture, CSD450 is supporting both 1-finger and 2-finger capture. If CSD450 scanner is used for 2-flat finger capture, it needs to be set to 2. Valid Values

1 Default value: 1 finger is expected to be captured. This applies to all scanner types.

2 2 fingers are expected to be captured. This only applies to CSD450 scanner.

Sample Code

FPLite.FingerNumToDetect=1

6.16 bImageSegmentation

Description This property only applies to the CSD450 scanner. If the property “FingerNumToDetect” is set to 2, this property is used to split the 2-finger image into 2 individual image files/buffer when enabled. If the property “FingerNumToDetect” is set to 1, this property is used to segment the 1-finger capture from the original image. The segmented image size is 500x500 pixels. Valid Values

0 Default value: the segmentation or splitting feature is not enabled.

1 The segmentation of the 1-finger image or splitting 2-finger image feature is enabled.

Page 16: FPCaptureExpressLite SDK Programmer's Guide

6 - Properties 10 Proprietary

Sample Code

FPLite.bImageSegmentation=0

6.17 RightSideSegmentedFingerPosition

Description This property only applies to the CSD450 scanner. It is used to specify the position of the future segmented fingerprint captured on the right side of the scanner. The default finger position is 1. If the property “FingerNumToDetect” is set to 1, this property is ignored. For output file naming rules, please refer to Appendix B: Output File Naming Conventions. Valid Values

1 Right Thumb

2 Right Index Finger

3 Right Middle Finger

4 Right Ring Finger

5 Right little Finger

6 Left Thumb

7 Left Index Finger

8 Left Middle Finger

9 Left Ring Finger

10 Left little Finger

Sample Code

FPLite.RightSideSegmentedFingerPosition = 1;

6.18 LeftSideSegmentedFingerPosition

Description This property only applies to the CSD450 scanner. It is used to specify the position of the future segmented fingerprint captured on the left side of the scanner. The default finger position is 6. If the property “FingerNumToDetect” is set to 1, this property is ignored. For output file naming rules, please refer to Appendix B: Output File Naming Conventions. Valid Values

Page 17: FPCaptureExpressLite SDK Programmer's Guide

6 - Properties 11 Proprietary

1 Right Thumb

2 Right Index Finger

3 Right Middle Finger

4 Right Ring Finger

5 Right little Finger

6 Left Thumb

7 Left Index Finger

8 Left Middle Finger

9 Left Ring Finger

10 Left little Finger

Sample Code

FPLite.LeftSideSegmentedFingerPosition = 6;

6.19 SegmentedImageHeight

Description This property is used to define the height of the image that will be segmented by setting bImageSegmentation to 1. The default height is 500 pixels. Valid Values 320 pixels <= SegmentedImageHeight <= 750 pixels Sample Code

FPLite.bImageSegmentation = 1; FPLite.SegmentedImageHeight = 450; FPLite.SegmentedImageWidth = 450;

6.20 SegmentedImageWidth

Description This property is used to define the width of the image that will be segmented by setting bImageSegmentation to 1. The default width is 500 pixels. Valid Values 320 pixels <= SegmentedImageWidth <= 800 pixels Sample Code

Page 18: FPCaptureExpressLite SDK Programmer's Guide

6 - Properties 12 Proprietary

FPLite.bImageSegmentation = 1; FPLite.SegmentedImageHeight = 450; FPLite.SegmentedImageWidth = 450;

6.21 OutputFileMode

Description This property is used to specify the output format of the resulting image files (e.g., bmp or wsq) or extracted minutiae file (e.g., mnt). The output format can either be output as file or buffer. If the property is set to 1 and you have also specified the property “OutputSaveFormat” = BMP_WSQ_EFTS, the corresponding bmp, wsq and mnt files will all be generated as output. If the property is set to 0 and you have also specified the property “OutputSaveFormat” = BMP_WSQ_EFTS, no files would be generated. However, the corresponding bmp buffer, wsq buffer, and mnt buffer will be generated. The buffers can be retrieved by calling the method “GetMemoryBuffer()”. Please see Section 7.6 for more details. Valid Values

0 The resulting output image/minutiae would be in the form of buffer.

1 Default value: the resulting output image/minutiae would be generated as file format.

Sample Code

FPLite.OutputFileMode=1

6.22 Tpl220MatchResult

Description This property is used to return the minutia matching result after using/calling the method Verify220Tpl() or Verify220TplBuffer() to perform minutiae matching. The property Tpl220MatchResult and the method Verify220Tpl()/Verify220TplBuffer() are always used in pairs. Please see Section 7.12 for information about using the Verify220Tpl() method and Section 7.13 for information about using the Verify220TplBuffer() method. Valid Values

0 The two 220 bytes templates do not match each other.

1 The two 220 bytes templates are considered a match.

6.23 bInitKillScannerExternal

Description

Page 19: FPCaptureExpressLite SDK Programmer's Guide

6 - Properties 13 Proprietary

This property is used to initialize the scanner externally and turn off the scanner lights in preparation for external shutdown. That means the user can initialize the CSD series scanners when the upper layer applications starts and before the scanner is used. In addition, the user is only required to prepare the scanner for shutdown when the application is no longer using the scanner. This feature applies to all three supported CSD scanners. If the property bInitKillScannerExternal is set to 1, the user needs to call the method InitScannerExternal() to initialize the scanner before use and calling the method TerminateScannerExternal() to prepare the scanner for shutdown after no longer using the scanner. Valid Values

0 Default value: the scanner will be initialized/de-initialized internally before/after each capture. No need to call the methods InitScannerExternal() and TerminateScannerExternal().

1 The scanner is required to initialize and de-initialize once by the calling methods InitScannerExternal() and TerminateScannerExternal()

Sample Code

FPLite.bInitKillScannerExternal=0 Sample Code

FPLite.InitScannerExternal(); … FPLite.bInitKillScannerExternal=1; … FPLite.TerminateScannerExternal();

6.24 bAmputateCombox

Description This property is used to specify which finger is amputated during the 2-finger capture with the CSD450 scanner. This property will be disabled automatically if users set the property FingerNumToDetect = 1. If the feature is enabled, a list will be displayed on the Capture GUI; users can specify which finger(s) is (are) amputated from the list. If users set the property bImageSegmentation = 1, a pair of finger images will be created after capture. However, the corresponding amputated finger image(s) will be generated as a blank image accordingly. Valid Values

0 Default value, the amputated finger list box feature is not enabled

1 The amputated finger list box feature is enabled

Page 20: FPCaptureExpressLite SDK Programmer's Guide

6 - Properties 14 Proprietary

Sample Code

FPLite.bAmputateCombox = 1; FPLite.FingerNumToDetect = 2; FPLite.bImageSegmentation = 1; FPLite.RightSideSegmentedFingerPosition = 2; FPLite.LeftSideSegmentedFingerPosition = 7;

6.25 AmputatedCode

Description This property is used to return a value that identifies which finger(s) is (are) amputated. This property is used only if the user enables the property bAmputateCombox. Valid Values

0 Default value. No finger amputated.

1 Right side finger amputated

2 Left side finger amputated

3 Both fingers amputated

Sample Code

FPLite.AmputatedCode;

6.26 bLengthenValidationTime

Description This property is used to provide a longer validation time for user while capturing the finger image by the scanner. This feature is not enabled by default. If this feature is enabled, the validation time will be 3 times slower than the normal validation time. Valid Values

0 Default value, the feature is not enabled

1 The feature is enabled

Sample Code

FPLite. bLengthenValidationTime=1

Page 21: FPCaptureExpressLite SDK Programmer's Guide

6 - Properties 15 Proprietary

6.27 bInvisibleFingerLogo

Description This property is used to hide the fingerprint logo on the capture GUI. This feature is disabled by default. Valid Values

0 Default value.

1 Fingerprint logo will not be displayed on the screen

Sample Code

FPLite. bInvisibleFingerLogo=1

6.28 ScannerModel

Description This property is optional, and is used to specify which scanner will be used. If it is not called, the scanner model will be detected automatically. If this property and the method InitScannerExternal() are both called, this property must be specified before InitScannerExternal() is called. If the method InitScannerExternal() is not going to be used, this property must be specified before the method Capture() is called. Valid Values

CSD200 CSD200 scanner will be used

CSD330 CSD330 scanner will be used

CSD450 CSD450 scanner will be used

Sample Code

FPLite.ScannerModel = “CSD330”; FPLite.InitScannerExternal(); … FPLite.Capture(); Or … FPLite.ScannerModel = “CSD450”; FPLite.Capture();

Page 22: FPCaptureExpressLite SDK Programmer's Guide

6 - Properties 16 Proprietary

6.29 bCalibrationMessage

Description This property is used to display a calibration message during the Initialization process. It will take effect only if you use the method InitScannerExternal() to initialize the scanner. This property must be specified before InitScannerExternal() is called. Valid Values

0 Default value. Calibration message will not be displayed on the screen during initialization

1 Calibration message will be displayed on the screen during initialization

Sample Code

FPLite.bCalibrationMessage = 1; FPLite.InitScannerExternal();

Page 23: FPCaptureExpressLite SDK Programmer's Guide

7 - Methods 17 Proprietary

7 Methods

This section provides detailed information about the API methods contained in this SDK.

7.1 Capture()

Description This method will bring up a live capture window. When the user places a finger on the scanner, it will display the fingerprint image. It will instruct the user to position the finger (up/down/left/right) and to press harder to obtain a good quality print. If the auto-capture feature is enabled, the window will no longer be displayed when a good print is captured. Otherwise, press <Enter> or the <Space bar> to capture the fingerprint. Parameters None Sample Code

FPLite.Capture();

7.2 ComputeNFIQScore( File_Path, File_Format )

Description This method will compute the NFIQ score for the finger image located at File_Path in the File_Format image format. Parameters

Parameter Description Support Options

Example

File_Path Input fingerprint file path N/A “C:\\Temp\\f1.bmp”

File_Format Image type of the input image file

"BMP", "WSQ"

"BMP"

Sample Code

FPLite.ComputeNFIQScore(“c:\\Temp\\f1.bmp”, “BMP”); FPLite.GetNFIQScore;

7.3 SameCheck( File_Path1, File_Path2, Para)

Description

Page 24: FPCaptureExpressLite SDK Programmer's Guide

7 - Methods 18 Proprietary

This method will compute the 1:1 matching score for the two minutia files specified at File_Path1 and File_Path2. Note: The third parameter Para is not being used at this time. Place an empty string “” in this field. Parameters

Parameter Description Support Options

Example

File_Path1 1st Input minutia file path N/A “C:\\Temp\\f1.mnt”

File_Format 2nd Input minutia file path N/A “C:\\Temp\\f2.mnt”

Para Reserved for future use N/A ""

Sample Code

FPLite.SameCheck(“c:\\Temp\\f1.mnt”, “c:\\Temp\\f2.mnt”, “”); FPLite. nMatchScore;

7.4 GetTiming( Time_Capture_Scenario )

Description This method will compute the time required for the following 5 scenarios. Valid Values

INIT_TIME Time required to initialize the scanner

CAPTURE_TIME Time required to capture a fingerprint using the scanner

WSQ_CONVERT_TIME Time required to convert the BMP file to WSQ file format

EFTS_CONVERT_TIME Time required to extract the minutiae from the BMP file

QUALITY_ASSESS_TIME Time required to compute the NFIQ score for a fingerprint image

VERIFICATION_TIME Time required to compute the 1:1 fingerprint matching

Sample Code

FPLite.Capture(); FPLite.GetTiming(“INIT_TIME”); FPLite.ReportTime; FPLite.GetTiming(“CAPTURE_TIME”); FPLite.ReportTime;

Page 25: FPCaptureExpressLite SDK Programmer's Guide

7 - Methods 19 Proprietary

7.5 CreateTpl( FPImg1, FPImg2, FPPosition1, FPPosition2, ImputImageType, OutputFileType, OutputFileName, DeviceID )

Description This method is used to create the 378 minutia format template given the two fingerprint images. A 378 minutia format template will be created as an output specified by the parameter OutputFileName. Parameters

Parameter Description Support Options

Example

FPImg1 Input fingerprint file path N/A “c:\\Temp\\f1.bmp”

FPImg2 Input fingerprint file path N/A “c:\\Temp\\f6.bmp”

FPPosition1 Finger position 1 to 10 1

FPPosition2 Finger position 1 to 10 6

InputImageType Image type of the two input image files

"BMP", "WSQ"

"BMP"

OutputFileType Output file format "378" "378"

OutputFileName Output file name and path N/A “c:\\Temp\\Output.FMR”

DeviceID Scanner that captured the two finger images

"301" "301"

7.6 GetMemoryBuffer( BufferType, OutputImageBuffer )

Description This method is used to retrieve the corresponding buffer if the user has set the property OutputFileMode to 0. If OutputFileMode is set to 1, then no buffer will be retrieved by this method. If CSD200/CSD330/CSD450 scanner is used to capture a flat finger image and the property “OutputSaveFormat” = BMP_WSQ_EFTS_TYPE9, then the following buffer format could be generated: - 1 bmp file buffer - 1 wsq file buffer - 1 mnt file buffer - 1 type 9 file buffer If CSD450 scanner is used to capture a 2-finger image, the property “OutputSaveFormat” = BMP_WSQ_EFTS_TYPE9, and the property “bImageSegmentation” = 0, then the following buffer format could be generated: - 1 2finger bmp file buffer

Page 26: FPCaptureExpressLite SDK Programmer's Guide

7 - Methods 20 Proprietary

- 1 2finger wsq file buffer - 1 2finger mnt file buffer - 1 2finger T9 file buffer If CSD450 scanner is used to capture a 2-finger image, the property “OutputSaveFormat” = BMP_WSQ_EFTS_TYPE9, and the property “bImageSegmentation” = 1, then the following buffer format could be generated: - 1 2finger bmp file buffer - 1 2finger wsq file buffer - 1 2finger mnt file buffer - 1 2finger T9 file buffer - 1 Right side finger image bmp file buffer - 1 Left side finger image bmp file buffer - 1 Right side finger image wsq file buffer - 1 Left side finger image wsq file buffer - 1 Right side finger image mnt file buffer - 1 Left side finger image mnt file buffer - 1 Right side finger image T9 file buffer - 1 Left side finger image T9 file buffer Parameters

Parameter Description Support Options Example

BufferType Input buffer image type

“BMP” “WSQ” “MNT” “RIGHT_SEGMENTED_BMP” “LEFT_SEGMENTED_BMP” “RIGHT_SEGMENTED_WSQ” “LEFT_SEGMENTED_WSQ” “RIGHT_SEGMENTED_MNT” “LEFT_SEGMENTED_MNT” “RIGHT_SEGMENTED_T9” “LEFT_SEGMENTED_T9” “RAW” “378TPL” “220TPL” “TYPE9” “T9_TO_MNT” “BMP_TO_MNT”

“BMP”

OutputImageBuffer Output retrieved File buffer

N/A buffImg

Sample Code

Page 27: FPCaptureExpressLite SDK Programmer's Guide

7 - Methods 21 Proprietary

FPLite.OutputSaveFormat = “BMP_WSQ”; FPLite.FingerNumToDetect = 2; FPLite.bImageSegmentation = 1; FPLite.OutputFileMode = 0; FPLite.Capture(); FPLite.GetMemoryBuffer(“BMP”,ImgBuffer1); FPLite.GetMemoryBuffer(“WSQ”,ImgBuffer2); FPLite.GetMemoryBuffer(“RIGHT_SEGMENTED_BMP”,ImgBuffer3); FPLite.GetMemoryBuffer(“LEFT_SEGMENTED_BMP”,ImgBuffer4); FPLite.GetMemoryBuffer(“RIGHT_SEGMENTED_WSQ”,ImgBuffer5); FPLite.GetMemoryBuffer(“LEFT_SEGMENTED_WSQ”,ImgBuffer6);

7.7 ComputeNFIQScoreFromBuffer( Raw_Image_Buffer )

Description This method is used to compute the NFIQ score for the finger image buffer. The method ComputeNFIQScore defined in Section 7.2 requires image file input, but this method requires image memory buffer instead. Parameters

Parameter Description Support Options

Example

Raw_Image_Buffer Raw_image_Buffer is the incoming raw image buffer with Cogent32 bytes header

N/A RawBuff

Sample Code

FPLite.OutputFileMode = 0; FPLite.OutputSaveFormat = “RAW”; FPLite.GetMemoryBuffer(“RAW”,RawBuff); FPLite.ComputeNFIQScore(RawBuff); FPLite.GetNFIQScore;

7.8 CreateTplBuffer( RawImageBuffer1, RawImageBuffer2, FPPosition1, FPPosition2)

Description This method is used to create the 378 minutia format template in memory buffer given the two fingerprint image buffers. A 378 minutia format template is retrieved by calling the method GetMemoryBuffer defined in Section 7.6. Parameters

Parameter Description Support Options

Example

RawImageBuffer1 Raw fingerprint image buffer 1 with Cogent32 N/A RawBuff1

Page 28: FPCaptureExpressLite SDK Programmer's Guide

7 - Methods 22 Proprietary

bytes header

RawImageBuffer2 Raw fingerprint image buffer 2 with Cogent32 bytes header

N/A RawBuff2

FPPosition1 Finger position of image buffer 1 1 to 10 1

FPPosition2 Finger position of image buffer 2 1 to 10 6

Sample Code

FPLite.OutputFileMode = 0; FPLite.OutputSaveFormat = “RAW”; FPLite.GetMemoryBuffer(“RAW”,RawBuff1); … FPLite.GetMemoryBuffer(“RAW”,RawBuff2); … FPLite.CreateTplBuffer(RawBuff1, RawBuff2, 1, 6); FPLite.GetMemoryBuffer(“378TPL”,OutputTplBuffer);

7.9 SameCheckFromBuffer( MntBuffer1, MntBuffer2)

Description This method is used to compute the 1:1 matching score for the two minutia buffers specified at MntBuffer1 and MntBuffer2. Parameters

Parameter Description Support Options

Example

MntBuffer1 1st Input minutia buffer N/A MntBuf1

MntBuffer2 2nd Input minutia buffer N/A MntBuf2

Sample Code

FPLite.OutputFileMode = 0; FPLite.OutputSaveFormat = “EFTS”; FPLite.GetMemoryBuffer(“MNT”,MntBuff1); … FPLite.GetMemoryBuffer(“MNT”,MntBuff2); … FPLite.SameCheckFromBuffer(MntBuff1, MntBuff2); FPLite. nMatchScore;

7.10 Create220Tpl( BmpFingerImg, OutputFileName, FPPosition)

Description

Page 29: FPCaptureExpressLite SDK Programmer's Guide

7 - Methods 23 Proprietary

This method is used to create the 220 bytes minutia format template given a BMP format fingerprint image. A 220 bytes minutia format template will be created as an output specified by the parameter OutputFileName. Parameters

Parameter Description Support Options

Example

BmpFingerImg Input fingerprint file path N/A “c:\\Temp\\fing.bmp”

OutputFileName Output file name and path N/A “c:\\Temp\\220bTpl.220”

FPPosition Finger position 1 to 10 1

Sample Code

FPLite.Create220Tpl(“c:\\Temp\\fing.bmp”,”c:\\Temp\\220Tpl.220”, 1);

7.11 Create220TplBuffer( RawImgBuffer, FPPosition)

Description This method is used to create a 220 bytes minutia format template buffer given a raw image buffer with Cogent32 bytes header. A 220 bytes minutia format template will be retrieved by calling the method GetMemoryBuffer defined in Section 7.6. Parameters

Parameter Description Support Options

Example

RawImgBuffer Input fingerprint file path N/A RawBuff

FPPosition Finger position 1 to 10 1

Sample Code

FPLite.OutputFileMode = 0; FPLite.OutputSaveFormat = “RAW”; FPLite.GetMemoryBuffer(“RAW”,RawBuff); FPLite.Create220TplBuffer(RawBuff,1); FPLite.GetMemoryBuffer(“220TPL”,Out220TplBuff);

7.12 Verify220Tpl( 220Tpl1, 220Tpl2)

Description

Page 30: FPCaptureExpressLite SDK Programmer's Guide

7 - Methods 24 Proprietary

This method is used to compute the 1:1 matching result for the two 220 bytes template files specified at 220Tpl1 and 220Tpl2. The matching result can be retrieved by calling the property Tpl220MatchResult. Please refer to Section 6.22 for details. Parameters

Parameter Description Support Options

Example

220Tpl1 1st 220 bytes template file path N/A “C:\\Temp\\220Tpl1.220”

220Tpl2 2nd 220 bytes template file path N/A “C:\\Temp\\220Tpl2.220”

Sample Code

FPLite.Create220Tpl(“c:\\Temp\\fing1.bmp”,”c:\\Temp\\220Tpl1.220”, 1); … FPLite.Create220Tpl(“c:\\Temp\\fing2.bmp”,”c:\\Temp\\220Tpl2.220”, 6); … FPLite.Verify220Tpl(“c:\\Temp\\220Tpl1.220”, “c:\\Temp\\220Tpl2.220”); FPLite. Tpl220MatchResult;

7.13 Verify220TplBuffer( 220TplBuff1, 220TplBuff2)

Description This method is used to compute the 1:1 matching result for the two 220 bytes template buffers specified at 220TplBuff1 and 220TplBuff2. The matching result can be retrieved by calling the property Tpl220MatchResult. Please refer to Section 6.22 for details. Parameters

Parameter Description Support Options

Example

220TplBuff1 1st 220 bytes template buffer N/A 220Buff1

220TplBuff2 2nd 220 bytes template buffer N/A 220Buff2

Sample Code

FPLite.OutputFileMode = 0; FPLite.OutputSaveFormat = “RAW”; FPLite.GetMemoryBuffer(“RAW”,RawBuff1); FPLite.Create220TplBuffer(RawBuff1,1); FPLite.GetMemoryBuffer(“220TPL”,220Buff1); … FPLite.Create220TplBuffer(RawBuff2,6); FPLite.GetMemoryBuffer(“220TPL”,220Buff2); … FPLite.Verify220TplBuffer(220Buff1, 220Buff2);

Page 31: FPCaptureExpressLite SDK Programmer's Guide

7 - Methods 25 Proprietary

FPLite. Tpl220MatchResult;

7.14 InitScannerExternal()

Description This method is used to initialize the scanner externally. This method has to use with the property bInitKillScannerExternal. Please refer to Section 6.23 for details. Parameters None Sample Code

FPLite.InitScannerExternal();

7.15 TerminateScannerExternal()

Description This method is used to de-initialize the scanner externally. This method has to used with the property bInitKillScannerExternal and the method InitScannerExternal(). Please refer to Section 6.23 and Section 7.14 for details. Parameters None Sample Code

FPLite.TerminateScannerExternal();

7.16 SetRecaptureHotKey( FSKEY, KEYCODE)

Description This method will set up the hot key for restarting the rolled capture. When rolled capture failure occurs, 2 hot keys will be available to either recapture the rolled image or abort the existing capture. The 2 parameters FSKEY and KEYCODE are used to set the recapture hot key parameters in decimal value. By default, FSKEY=2, KEYCODE=121. Therefore, the default hot key for recapturing rolled image is ‘CTRL’ + ’F10’ key; Parameters

Parameter Description Support Options Example

Page 32: FPCaptureExpressLite SDK Programmer's Guide

7 - Methods 26 Proprietary

FSKEY Specifies keys that must be pressed in combination with the key specified by the KEYCODE parameter in decimal value

1=’ALT’, 2=’CTRL’, 4=’SHIFT’ or 8=’Windows key’, or combination of the above.

2

KEYCODE Specifies the virtual-key code of the hot key in decimal value

Please refer to Appendix C for the whole list of key code.

121

Sample Code Pressing ‘ALT’ + ‘F10’ as the re-capture hot key:

FPLite.SetRecaptureHotKey(2,121);

7.17 SetCancelHotKey( FSKEY, KEYCODE)

Description This method will setup the hot key for aborting the rolled capture. When rolled capture failure occurs, 2 hot keys will be available to either recapture the roll image or abort the existing capture. The 2 parameters FSKEY and KEYCODE are used to set the cancel hot key parameters in decimal value. By default, FSKEY=2, KEYCODE=113. Therefore, the default hot key for aborting rolled image capture is ‘CTRL’ + ’F2’ key; Parameters

Parameter Description Support Options Example

FSKEY Specifies keys that must be pressed in combination with the key specified by the KEYCODE parameter in decimal value

1=’ALT’, 2=’CTRL’, 4=’SHIFT’ or 8=’Windows key’, or combination of the above.

2

KEYCODE Specifies the virtual-key code of the hot key in decimal value

Please refer to Appendix C for the whole list of key code.

113

Sample Code Pressing ‘ALT’ + ‘F2’ as the Cancel hot key:

FPLite.SetCancelHotKey(2,113);

Page 33: FPCaptureExpressLite SDK Programmer's Guide

7 - Methods 27 Proprietary

7.18 ConvertType9ToEFTS( InFilePath, OutFilePath)

Description This method is used to convert the Type9 template into EFTS minutia template by specifying the whole full path of both the Type 9 template and the EFTS template. Parameters

Parameter Description Support Options

Example

InFilePath Input Type 9 file name and path N/A “c:\\Temp\\Finger.t9”

OutFilePath Output EFTS file name and path N/A “c:\\Temp\\Finger.mnt”

Sample Code

FPLite.ConvertType9ToEFTS(“c:\\Temp\\Finger.t9”,”c:\\Temp\\Finger.mnt”);

7.19 ConvertType9ToEFTSBuffer( Type9TplBuffer)

Description This method is used to convert the Type9 template buffer into EFTS minutia template buffer. An EFTS template buffer will be retrieved by calling the method GetMemoryBuffer defined in Section 7.6 with parameter ‘T9_TO_MNT’. Parameters

Parameter Description Support Options

Example

Type9TplBuffer Input Type 9 file buffer N/A “T9Buffer”

Sample Code

FPLite.OutputFileMode = 0; FPLite.OutputSaveFormat = “BMP_EFTS_TYPE9”; FPLite.GetMemoryBuffer(“BMP”,BmpBuff); FPLite.GetMemoryBuffer(“EFTS”,EFTSBuff); FPLite.GetMemoryBuffer(“TYPE9”,TYPE9Buff); … FPLite.ConvertType9ToEFTSBuffer(TYPE9Buff); FPLite.GetMemoryBuffer(“T9_TO_MNT”,ConvertedMNTBuff);

7.20 ConvertBMPBufferToEFTSBuffer( BMPBuffer)

Description

Page 34: FPCaptureExpressLite SDK Programmer's Guide

7 - Methods 28 Proprietary

This method is used to convert the Bmp image buffer into EFTS minutia template buffer by specifying the Bmp image buffer. An EFTS template buffer will be retrieved by calling the method GetMemoryBuffer defined in Section 7.6 with parameter ‘BMP_TO_MNT’. Parameters

Parameter Description Support Options

Example

BMPBuffer Bmp image buffer N/A “BmpBuffer”

Sample Code

FPLite.OutputFileMode = 0; FPLite.OutputSaveFormat = “BMP_WSQ”; FPLite.GetMemoryBuffer(“BMP”,BmpBuff); FPLite.GetMemoryBuffer(“WSQ”,WSQBuff); … FPLite.ConvertBMPBufferToEFTSBuffer(BmpBuff); FPLite.GetMemoryBuffer(“BMP_TO_MNT”,Converted_MNT_Buff1); …

Page 35: FPCaptureExpressLite SDK Programmer's Guide

8 - Multi-Language Support 29 Proprietary

8 Multi-Language Support

This section provides detailed information about the multi-language support contained in this SDK. The file “Expresslite_language.cfg” has been added to the SDK for supporting multiple languages. The file should always be saved in the same folder as the dll file. Users can modify the sentences to their own language. The following 7 categories are in the Expresslite_language.cfg file:

Category Item Default Sentence Display Scenario

SCANNER_ERR_CODE DIRTY_SENSOR Please Clean the scanner screen and Capture again!

During Roll Capture error occurs

SCANNER_ERR_CODE CG4_CONTRAST Please moisturize the finger and Capture again!

During Roll Capture error occurs

SCANNER_ERR_CODE CG4_TOOFAST Finger was rolled too fast! Please Capture again!

During Roll Capture error occurs

SCANNER_ERR_CODE CG4_TOOSLOW Finger was rolled too slow! Please Capture again!

During Roll Capture error occurs

SCANNER_ERR_CODE CG4_ROLLBACK Finger was not rolled completely! Please Capture again!

During Roll Capture error occurs

SCANNER_ERR_CODE CG4_SLIDING Finger was shifted while rolling! Please Capture again!

During Roll Capture error occurs

SCANNER_ERR_CODE CG4_SHIFT Finger was shifted while rolling! Please Capture again!

During Roll Capture error occurs

SCANNER_ERR_CODE CG4_CENTER Finger was not centered! Please Capture again!

During Roll Capture error occurs

SCANNER_ERR_CODE CG4_DRYFINGER Finger is too dry. Please Capture again!

During Roll Capture error occurs

SCANNER_ERR_CODE CG4_WETFINGER Finger is too wet. Please Capture again!

During Roll Capture error occurs

Page 36: FPCaptureExpressLite SDK Programmer's Guide

8 - Multi-Language Support 30 Proprietary

Category Item Default Sentence Display Scenario

SCANNER_ERR_CODE CG4_LOWQUALITY Finger could not be recognized! Please Capture again!

During Roll Capture error occurs

SCANNER_ERR_CODE CG4_LIFTFINGER Please lift the finger and Capture again!

During Roll Capture error occurs

SCANNER_ERR_CODE CG4_GENERAL An unknown error occurs during capture! Please Capture again!

During Roll Capture error occurs

HOT_KEY_INFO HOT_KEY_MSG Press 'Ctrl'+'F10' to Capture Image. Press 'Ctrl'+'F2' to Cancel Capture.

During Roll Capture error occurs

FINGER_QUAL_CHECK NO_FINGER No finger Message Guide for Flat Capture

FINGER_QUAL_CHECK TOO_LEFT Image is too left, move finger >>>

Message Guide for Flat Capture

FINGER_QUAL_CHECK TOO_RIGHT Image is too right, move finger <<<

Message Guide for Flat Capture

FINGER_QUAL_CHECK TOO_HIGH Image is too high, move finger LOWER...

Message Guide for Flat Capture

FINGER_QUAL_CHECK TOO_LOW Image is too low, move finger HIGHER...

Message Guide for Flat Capture

FINGER_QUAL_CHECK TOO_LIGHT Image is too light, press HARDER...

Message Guide for Flat Capture

FINGER_QUAL_CHECK GOOD_FINGER Good... Message Guide for Flat Capture

FINGER_QUAL_CHECK ONE_FINGER Only 1 finger detected Message Guide for Flat Capture

FINGER_QUAL_CHECK NO_FINGER No Fingerprint Message Guide for Flat Capture

FINGER_QUAL_CHECK BAD_IMAGE Bad Fingerprint image. Message Guide for Flat Capture

Page 37: FPCaptureExpressLite SDK Programmer's Guide

8 - Multi-Language Support 31 Proprietary

Category Item Default Sentence Display Scenario

FINGER_QUAL_CHECK 2_FINGER_FOUND 2 Good Finger images found.

Message Guide for Flat Capture

FINGER_QUAL_CHECK AMPUTATE1_FINGER 2 fingers detected. Please try again.

Message Guide for Flat Capture

DIALOG_TITLE TOP_TITLE Finger Print Scanner Dialog

Main Screen Dialog Title

ICON_CFG HAND_ICON RLFingPos Main Screen icon display

FINGER_DESCRIPTION RIGHT-THUMB RIGHT-THUMB Finger DisplayCombo Box is enabled

FINGER_DESCRIPTION RIGHT-INDEX RIGHT-INDEX Finger DisplayCombo Box is enabled

FINGER_DESCRIPTION RIGHT-MIDDLE RIGHT-MIDDLE Finger DisplayCombo Box is enabled

FINGER_DESCRIPTION RIGHT-RING RIGHT-RING Finger DisplayCombo Box is enabled

FINGER_DESCRIPTION RIGHT-LITTLE RIGHT-LITTLE Finger DisplayCombo Box is enabled

FINGER_DESCRIPTION LEFT-THUMB LEFT-THUMB Finger DisplayCombo Box is enabled

FINGER_DESCRIPTION LEFT-INDEX LEFT-INDEX Finger DisplayCombo Box is enabled

FINGER_DESCRIPTION LEFT-MIDDLE LEFT-MIDDLE Finger DisplayCombo Box is enabled

FINGER_DESCRIPTION LEFT-RING LEFT-RING Finger DisplayCombo Box is enabled

FINGER_DESCRIPTION LEFT-LITTLE LEFT-LITTLE Finger DisplayCombo Box is enabled

AMPUTATE_DESCRIPTION NOAMPUTATE No Amputated Finger Amputate Combo Box is enabled

Page 38: FPCaptureExpressLite SDK Programmer's Guide

8 - Multi-Language Support 32 Proprietary

Category Item Default Sentence Display Scenario

AMPUTATE_DESCRIPTION RIGHTAMPUTATE Right Side Finger Amputated

Amputate Combo Box is enabled

AMPUTATE_DESCRIPTION LEFTAMPUTATE Left Side Finger Amputated

Amputate Combo Box is enabled

AMPUTATE_DESCRIPTION BOTHAMPUTATE Both Fingers Amputated Amputate Combo Box is enabled

AMPUTATE_WINDOW AMPUTATE_HEADING Both Fingers Amputate Confirmation

Amputate Combo Box is enabled

AMPUTATE_WINDOW AMPUTATE_WARNING Are you sure both fingers amputated? If click ‘Yes’, No finger capture is required.

Amputate Combo Box is enabled

POPUP_WINDOW YES_TEXT Yes Amputate Combo Box is enabled

POPUP_WINDOW NO_TEXT No Amputate Combo Box is enabled

POPUP_WINDOW OK_TEXT Ok Amputate Combo Box is enabled

POPUP_WINDOW CANCEL_TEXT Cancel Amputate Combo Box is enabled

POPUP_WINDOW IGNORE_TEXT Ignore Amputate Combo Box is enabled

POPUP_WINDOW ABORT_TEXT Abort Amputate Combo Box is enabled

POPUP_WINDOW RETRY_TEXT Retry Amputate Combo Box is enabled

Note: The ICON_CFG category is used for configuring the finger icon logo. It could be RLFingPos, DIFingPos, or DEFingPos.

Page 39: FPCaptureExpressLite SDK Programmer's Guide

Appendix A - Error Code Definitions 33 Proprietary

Appendix A Error Code Definitions

Code Description

-101 Failed to convert BSTR2strVectorFromBstr

-102 Failed to convert BSTR2strSafeArrayAccessData

-103 Failed to allocate heap

-104 Failed to read image file

-105 Failed to write image file

-106 The image file does not exist

-107 Failed to extract minutiae from file

-108 Failed to decode image

-109 Failed to allocate image buffer

-110 Failed to convert to MMF format

-111 Failed to get NFIQ score

-112 Failed to create 378 template

-113 Failed to create file for 378

-114 Failed to capture set of roll parameter

-115 Failed to initialize the scanner

-116 Failed to connect the scanner

-117 Failed to set roll mode on the scanner

-118 The current scanner is not supported

-119 Failed to convert image to WSQ

-120 Failed to write minutiae file

-121 Failed to allocate memory

-122 Failed to load BMP file

-123 Failed to capture image result

-124 Failed to set capture correctly

-125 Failed to set capture mode

-126 There is a capture calibration failure

-127 Failed to set finger position

-128 Failed to set transaction number

-129 Failed to set destination path

-130 Failed to set auto-capture

-131 Failed to set roll mode

Page 40: FPCaptureExpressLite SDK Programmer's Guide

Appendix A - Error Code Definitions 34 Proprietary

Code Description

-132 Failed to set prompt text

-133 Failed to set display arrow

-134 Failed to set display combo box

-135 Failed to save output format

-136 An invalid incoming file path has been entered

-137 An invalid supported file format has been entered

-138 Failed to extract EFS minutiae

-139 Failed to set the timing scenario string

-140 Error: encfile1

-141 Error: encfile2

-142 Error: null image buffer

-143 Failed to compute NFIQ

-144 Error wsq file not exist

-145 Failed to open file

-146 fread does not match

-147 Failed to convert WSQ to raw

-148 Invalid output file path

-149 Invalid password error

-150 Expiration error

-151 More than one application is using the DLL at the same time

-152 Error specifying the number of finger to detect

-153 Error in cutting image or image segmentation

-154 Error in specifying the image segmentation

-155 The number of fingers defined in the property “FingerNumToDetect” does not match with the finger actually detected by the CSD450 scanner

-156 Fail to create output file name

-157 Error in specifying the segmented finger position under the property “RightSideSegmentFingerPosition” or “LeftSideSegmentFingerPosition”

-158 The retrieved buffer does not exist

-159 Error in specifying the output file mode

-160 Error in specifying the image height that will be segmented

-161 Error in specifying the image width that will be segmented

-162 Error in setting system path

-163 Error in creating 220 bytes Template

-164 Invalid Handle

Page 41: FPCaptureExpressLite SDK Programmer's Guide

Appendix A - Error Code Definitions 35 Proprietary

Code Description

-165 Timeout Error

-166 Data Buffer Error

-167 Error in creating 220 bytes template buffer

-168 Invalid bmp format

-169 Invalid bmp resolution

-170 VerifyInit Error

-171 VerifyMatch Error

-172 Fpmatch Init Error

-173 Error in computing NFIQ from Buffer

-174 Error creating 378 Template Buffer

-175 Mnt buffer error

-176 220 Template Buffer error

-177 Error in setting up hot key

-178 Error to set amputated combo box

-179 Error in Capture Start

-180 Error in setting the property “bLengthenValidationTime”

-181 Error in setting the property “bInvisibleFignerLogo”

-182 Error in loading Type 9 Template

-183 Error in Writing Type 9 Template

-184 Error in Type 9 Conversion

-185 Error in writing Type 9 Template buffer

-186 Error in converting Type 9 buffer to EFTS buffer

-187 Error in Type 9 Buffer Conversion

-188 Error in converting Bmp buffer to EFTS buffer

-189 Error in Extract and Output EFTS Buffer

-190 Error in Terminate Scanner External

-191 Error in setting scanner model

-998 Capture abort suddenly

-999 Password error

Figure A-1 Error Code Definitions

Page 42: FPCaptureExpressLite SDK Programmer's Guide

Appendix C - Troubleshooting 36 Proprietary

Appendix B Output File Naming Conventions

For CSD200/CSD300/CSD450 1-finger capture:

• TransNo+FingPos+.File Extension (original file)

Assuming TransNo=Trans002B, FingPos=1 e.g. Tran002B1.bmp

For CSD450 1-finger capture and bImageSegmentation=1 case, 2 files are generated as output:

• TransNo+FingPos+.File Extension (original file)

• TransNo+FingPos+”Segment”.File Extension (Segmented file)

e.g. Tran002B1.bmp and Tran002B1Segment.bmp

For CSD450 2-finger capture, bImageSegmentation=1, RightSideSegmentFingerPosition=1, LeftSideSegmentFingerPosition=6, 3 files are generated as output:

• TransNo+.File Extension (original 2-finger image file)

• TransNo+“Segment”+RightSideSegmentFingerPosition+.File Extension (right side segmented file)

• TransNo+“Segment”+LeftSideSegmentFingerPosition+.File Extension (left side segmented file)

e.g. Tran002B.bmp, Tran002BSegment1.bmp and Tran002BSegment6.bmp

Appendix C Troubleshooting

Issue Solution

License Activation Error (-999)

Perform one of the following actions:

• If you have a received a production license error (the following value, -999, has been returned in the ErrCode property), please refer to the Software License Activation and Control System Administrator Guide.

• If you have received a trial license error (the following value, -999, has been returned in the ErrCode property), please refer to the Trial Version License Activation Quick Reference Guide.

Multiple Instance Error (-151)

Please do not use more than one application that calls the FPCaptureExpressLite SDK at the same time. Doing so will cause an error (the following value, -151, has been returned in the ErrCode property). In this case, close all instances until there is only one instance of the application running.

Figure C-1 Troubleshooting

Page 43: FPCaptureExpressLite SDK Programmer's Guide

Appendix D - Key Code List 37 Proprietary

Appendix D Key Code List

Keyboard Button Name Key Code (Decimal Value)

BACK 8

TAB 9

CLEAR 12

RETURN 13

SHIFT 16

CONTROL 17

MENU 18

PAUSE 19

CAPITAL 20

ESCAPE 27

CONVERT 28

NONCONVERT 29

ACCEPT 30

MODECHANGE 31

SPACE 32

PRIOR 33

NEXT 34

END 35

HOME 36

LEFT 37

UP 38

RIGHT 39

DOWN 40

SELECT 41

PRINT 42

EXECUTE 43

SNAPSHOT 44

INSERT 45

DELETE 46

HELP 47

0 - 9 48 - 57

A - Z 65 - 90

Page 44: FPCaptureExpressLite SDK Programmer's Guide

Appendix D - Key Code List 38 Proprietary

Keyboard Button Name Key Code (Decimal Value)

NUMPAD0 96

NUMPAD1 97

NUMPAD2 98

NUMPAD3 99

NUMPAD4 100

NUMPAD5 101

NUMPAD6 102

NUMPAD7 103

NUMPAD8 104

NUMPAD9 105

MULTIPLY 106

ADD 107

SEPARATOR 108

SUBTRACT 109

DECIMAL 110

DIVIDE 111

F1 112

F2 113

F3 114

F4 115

F5 116

F6 117

F7 118

F8 119

F9 120

F10 121

F11 122

F12 123

F13 124

F14 125

F15 126

F16 127

F17 128

F18 129

Page 45: FPCaptureExpressLite SDK Programmer's Guide

Appendix D - Key Code List 39 Proprietary

Keyboard Button Name Key Code (Decimal Value)

F19 130

F20 131

F21 132

F22 133

F23 134

F24 135

NUMLOCK 144

SCROLL 145