MBARK Open Source Release Build Instructions

Multimodal Biometric Application Resource Kit

Public Release Documentation

31 July 2006 Version

This living document describes some of the details about the structure and nature of the MBARK Open Source 

Release.

License

This software was developed at the National Institute of Standards and Technology (NIST) by employees of the 

Federal Government in the course of their official duties. Pursuant to title 17 Section 105 of the United States 

Code. This software is not subject to copyright protection and is in the public domain. NIST assumes no 

responsibility whatsoever for use by other parties of its source code or open source server, and makes no 

guarantees, expressed or implied, about its quality, reliability, or any other characteristic.

Disclaimer

Specific hardware and software products identified in this open source project were used in order to perform 

technology transfer and collaboration. In no case does such identification imply recommendation or 

endorsement by the National Institute of Standards and Technology, nor does it imply that the products and 

equipment identified are necessarily the best available for the purpose.

Required Software

To download the latest MBARK source tree from the NIST Image Group Open Source Server (NIGOS), you will 

need a Perforce client. Instructions specific on how to obtain and use a Perforce client with NIGOS may be found 

at http://www.itl.nist.gov/iad/894.03/nigos/nigos.html.

To build MBARK you will need:

Visual Studio 2003, and

SyncFusion Essential Studio (http://www.syncfusion.com/).

MBARK makes use of code-generation. While it may not be required to simply build MBARK, changes to certain 

data may require running:

CodeSmith 3.0 (http://www.codesmithtools.com).

At the time this document was written, SyncFusion and CodeSmith provide evaluation versions of their 

software.
Specific hardware and software products identified in this open source project were used in order to perform technology transfer and collaboration. In no 

case does such identification imply recommendation or endorsement by the National Institute of Standards and Technology, nor does it imply that the 

products and equipment identified are necessarily the best available for the purpose.

With the exception of the virtual sensor, all example sensor projects require the libraries provided by the various 

vendors’ SD Ks. Proprietary device drivers, SD Ks, and requisite libraries m ust be obtained from the original 

manufacturer.

Manifest

The main MBARK directory is divided into the following subdirectories

FxCop. According to the FxCop homepage (http://www.gotdotnet.com/team/fxcop/) FxCop is “a code 

analysis tool that checks .NET managed code assemblies for conformance to the Microsoft .NET 

Framework Design Guidelines.” This directory contains FxCop project files and an accompanying FxCop

custom dictionary.

Library Builders. This folder contains batch files that generate static .NET interop libraries from various 

vendors’ libraries to reduce the negative effects of the default Visual Studio 2003 behavior of creating 

dynamic interop DLLs at design time. Everything that is needed to build these static interop libraries is 

contained in this folder, with exception of the vendor libraries themselves. The batch files in this 

directory need to be built from a Visual Studio 2003 Command Prompt.

Security. This folder contains a dummy strong key used to digitally sign the MBARK libraries.

Solution. This folder contains the MBARK source code.

Third-Party Libraries. This folder is the expected destination of non-MBARK libraries. Libraries generated 

by the batch files in the Library Builders 

The Solution subdirectory is further divided into the following subdirectories. The first set of projects are needed 

for building a basic M BARK dem onstration application, w hich uses “virtual” sensors. U sing the Virtual Sensor 

Controller allows for getting a flavor of the capabilities of MBARK without requiring sensors from any particular 

manufacturer. To build the Virtual Sensor Controller, use Solution/Virtual Sensor Controller.sln solution.

Infrastructure. A library providing base functionality to all other MBARK assemblies, such as common 

controls as well as utility functions.

Sensors. A library providing base sensor-related and data-acquisition functionality. The core 

functionality of MBARK is found in this assembly.

VirtualSensor. Exam ple “virtual” sensors that allow for developm ent and experim entation w ith M BARK 

source code while not requiring any particular third-party hardware.

VirtualSensorController. Example application that integrates multiple virtual sensors.

The following projects are not part of any particular solution. They include vendor-specific examples, or are 

more utility oriented.

BioAPI. Contains a C# wrapper to BioAPI. This project is only a minor modification of H . Kaiser Yang’s

excellent C# wrapped Biometric API project (http://sourceforge.net/projects/boiapi-dt).

Code Generation. CodeSmith templates used to generate code for MBARK. 

ConfigurationFileWriter. Automatically generates the XML configuration files needed by the 

BaseSensorController.

CrossMatch. Example sensor interface for a CrossMatch ID 500, Crossmatch ID 700, or CrossMatch 

LScan Guardian 10-print scanner.
Specific hardware and software products identified in this open source project were used in order to perform technology transfer and collaboration. In no 

case does such identification imply recommendation or endorsement by the National Institute of Standards and Technology, nor does it imply that the 

products and equipment identified are necessarily the best available for the purpose.

CrossMatchVerifier300. Example sensor interface for a CrossMatch Verfier 300 single fingerprint 

scanner (optical).

LGIris. Example sensor interface to a LG IrisAccess 300 iris camera.

OlympusCamera. Example sensor interface to a wide variety of Olympus digital cameras.

OlympusCameraServer. Standalone remoting server that allows the cameras to be hosted on a remote 

machine.

SmithsHeimann. Example sensor interface to a Smiths-Heimann LS/2 slap 10-print scanner.

SmithsHeimannACCO1394. Example sensor interface to a Smiths-Heimann ACCO 1394 single fingerprint 

scanner.

SmithsHeimannSharedLibrary. Contains functionality common to the SmithsHeimann and 

SmithsHeimannACCO1394 libraries.

StandaloneSensorController. Simple sensor controller application.

More Information

For more information about MBARK, contact mbark@nist.gov. However, note that this software is provided as is

and is not a commercially supported product. All product names and trademarks are owned by their respective 

companies.