Morpho Identix - SDK Guide - Rev B
Morpho Identix - SDK Guide - Rev B
SDK Guide
Rev. B
© 2017 IDEMIA, All rights reserved | www.idemia.com
Table of contents
Chapter 1: Introduction ........................................................................................................ 3
Document history.............................................................................................................. 3
The Morpho Identix SDK is comprised of authentication software and libraries that perform
identification, data extraction and authentication on scanned documents. The SDK supports multiple
hardware platforms. Sample code is included for custom development.
Document history
Date Revision Comments
02/18/2015 03 Changed part number to Agile PLM part number for release.
Once you have the standard application configured and running on your development machine, copy
the ECAT_Sample directory to a convenient location on your system. Next, set the permissions for all
the files in the directory. The copies you just created are likely to have their permissions set to Read
Only; in the Properties dialog for the containing folder or for the files one at a time, uncheck the box
for Read Only.
In order to be sure that you’re starting development with the same environment that you now have
working, update your copy of the ECAT_Sample. Copy all of the files from:
C:\Program Files (x86)\MorphoTrust USA\Credential Authentication
to your copy of ECAT_Sample, to the \bin subdirectory – replacing the contents.
Using Visual Studio, open the ECAT_Sample.sln, then open your app.config in the editor, as shown
in the figure below.
Next, load your new copy of the standard Morpho Identix configuration, which you know is working,
from your \bin directory, as shown in the following figure:
NOTE: The screen shot is just an example, use the \bin directory under your ECAT_Sample copy.
Overview
The following diagram shows the significant components of your application at run time.
Windows 7 PC
Application
Configuration
(XML File)
Identix DocAuth Transaction
Logging
Process Logging Transaction Controller (SQL Server)
(Text File)
Identix DocAuth
Common Tests Identix DocAuth authentication engine(s)
Test Matrix
B5000
events &
authentication
Image-based results
Authent ication
PENTA M500
File
events and event s and
Images
images images
iA-thenticate
(authentication engine)
Identix Document Authentication is configured via its sections within your .NET application’s config file
and with help of the Identix Document Authentication configuration editor UI tool.
The Identix Document Authentication C# code in your application is fairly simple – create a controller
object, optionally handle some events, start it up and run.
The Identix Document Authentication Document class is used as a common model for communicating
information between Identix Document Authentication and the application. Each document object
contains credential information, images, authentication tests and data fields, either from a scan
transaction or loaded from files.
As your application handles Identix Document Authentication scanning events it can access and
process/display information in a Document object which gets populated throughout the scanning
transaction.
Your application can load its own Document object from files or scanner devices and pass it in to
Identix Document Authentication for analysis.
Once your application has an Identix Document Authentication authenticated Document object, this
object can be passed via the Identix Document Authentication API to the standard Identix Document
Authentication Document Reviewer interactive form. This allows the operator to examine the
document’s images, data and authentication tests.
Applications use Identix Document Authentication in two basic modes, scanning or analysis,
described in the following sections.
Operators
Windows PC
Identix Document Authentication is event driven and notifies the application whenever changes occur
during the document capture cycle. A document object contains information about the scan, which
includes document data, test results and images.
Identix Document Authentication is device independent. All events and data are normalized
by Identix Document Authentication to the extent that they are supported by the device.
Authentication tests include those performed by the capture device as well as common tests
performed by Identix Document Authentication (e.g. age, expiration, watermark, etc).
Analysis Mode – Application drives Identix Document Authentication to
analyze image data
Identix Document Authentication’s C# API can be used in an active non-hardware, non-event driven
mode via the Analyze method call. The application can create a document object, populate it with one
or more credential images and pass it to the E_CAT API for analysis. The document object is returned
populated with document information, test records and data fields obtained by analyzing and
authenticating the provided images.
Identix Document Authentication’s Analyze API is available as a hosted web service. The Document
object is serializable and is used to communicate with services in the Identix Document Authentication
enterprise architecture.
Operators
Windows PC
Other Platforms
Transaction
Repository
(SQL Server)
Files,
Images,
Cameras,
Identix DocAuth
... Reporting
Local or hosted Identix DocAuth
transaction repository and web
reporting portal
Common Document Model
A compound class that contains:
Document attributes such as name, address, date of birth, issuer, expiration date, etc.
A record for each authentication test performed, providing the test name, pass/fail, and risk
score (if available from the Identix Document Authentication platform).
All Identix Document Authentication components interact based on this common model for an
authenticated document. These elements are easily passed to UI controls, simplifying UI
development.
Document
Image information
DocumentImageCollection Images new DocumentImageCollection() List of Images
Field
Type Name Default
//Examiner Personal
LastName,
FirstName,
Sex,
BirthPlace,
Birthdate,
Age,
Type Name Default
Address,
City,
State,
PostalCode,
Height,
Weight,
HairColor,
EyeColor,
PhoneNumber,
SSN,
FlightNumber,
PassengerNumber,
UserField1,
UserField2,
UserField3,
// Examiner-Barcode/Magstripe
MiddleName,
StateCode,
PhotoFile,
// Examiner MRZ
MRZ1,
MRZ2,
MRZ3,
// SmartCard
Issuer,
OptionalData,
FingerprintFile,
FullName,
// OCR
DOE, //exp for Visa's
Unknown
}
MRZ,
Barcode1D,
Barcode2D,
MagStripe,
SmartCard,
OCR,
Viz,
Unknown
}
Test
Type Name Default
if (!m_DADC.Startup())
{
string sErr = m_DADC.Messages[0] != null ? m_DADC.Messages[0] :
"Error initializing the platform";
Logger.Error(mCaption, sErr);
Message(sErr, true);
this.Close();
return;
}
Logger.Information(mCaption, "DADC Initialized");
}
{
Ready,
Starting,
Stopped,
Stopping,
Busy,
Error,
Unknown
}
Online,
Offline
}
Document Document() The current Document object reference. This contains data, images
and tests related to the current transaction. The application can
reference this as soon as a DocumentAuthenticated status event is
posted by Identix Document Authentication.
List<DocServer> Platforms() The list of Document Authentication Platforms (DAP) that are
configured in the current Identix Document Authentication
installation.
SetPlatform(string platform) The application can set the active platform within Identix Document
Authentication to a particular DAP, typically for use with a
subsequent call to Analyze.
Analyze() After setting up some image data within the current Identix Document
Authentication Document object and optionally setting the DAP
platform, the application can call the Analyze method. This will
initiate the DAP to perform authentication on the images within the
Document object. The call to Analyze returns asynchronously to the
application. The DocumentAuthenticated and DocumentComplete
events are generated back to the application as analysis completes
by the DAP. The application can then show the reviewer and/or post
process the Identix Document Authentication results. Not all DAPs
support this method.
SkipScan() The active DAP is commanded to skip a scan, if it has requested action.
SkipReverse() The active DAP is commanded to skip a reverse side test, if it has requested
action.
Case:
SelectJurisdiction TBD
DocumentComplete All images and data are available. Display document detail.
DocumentScanRequest event:
if (mDocument != null)
{
// Merge back in the images
foreach (DocumentImage docImage in mAnalyzeDocument.Images)
{
DocumentImage newImage = new DocumentImage(docImage);
mDocument.Images.Add(newImage);
}
mAnalyzeDocument = null;
// Complete
TransactionAuthenticated();
CompleteTransaction();
}
else
{
Reset();
}
}
catch (Exception ex)
{
Logger.Error(mCaption, ex.Message);
}
}