NIST Biometric Evaluation Framework
Software components for biometric technology evaluations
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
BiometricEvaluation::Finger::AN2KView Class Reference

A class to represent single finger view and derived information. More...

#include <be_finger_an2kview.h>

Inherits BiometricEvaluation::View::AN2KView.

Inherited by BiometricEvaluation::Finger::AN2KViewFixedResolution.

Public Member Functions

std::vector< AN2KMinutiaeDataRecordgetMinutiaeDataRecordSet () const
 Obtain the set of minutiae records. More...
 
Finger::PositionSet getPositions () const
 Obtain the set of finger positions. More...
 
Finger::Impression getImpressionType () const
 Obtain the finger impression code. More...
 
- Public Member Functions inherited from BiometricEvaluation::View::AN2KView
 AN2KView (const std::string filename, const RecordType typeID, const uint32_t recordNumber)
 Construct an AN2K view from a file. More...
 
 AN2KView (Memory::uint8Array &buf, const RecordType typeID, const uint32_t recordNumber)
 Construct an AN2K view from a buffer. More...
 
 ~AN2KView ()
 
std::vector< Finger::AN2KMinutiaeDataRecordgetMinutiaeDataRecordSet () const
 Obtain the set of minutiae records. More...
 
RecordType getRecordType () const
 Obtain the ANSI-NIST record type. More...
 
- Public Member Functions inherited from BiometricEvaluation::View::View
std::shared_ptr< Image::ImagegetImage () const
 Obtain the image used for the biometric view in the format contained in the record (JPEG, etc.) More...
 
Image::Size getImageSize () const
 Obtain the image size. More...
 
Image::Resolution getImageResolution () const
 Obtain the image resolution. More...
 
uint32_t getImageColorDepth () const
 Obtain the image color depth in bits-per-pixel. More...
 
Image::CompressionAlgorithm getCompressionAlgorithm () const
 Obtain the compression algorithm used on the image. More...
 
Image::Resolution getScanResolution () const
 Obtain the image scan resolution. More...
 

Static Public Member Functions

static Finger::Position convertPosition (int an2kFGP)
 Convert a compression algorithm indicator from an AN2K finger image record. More...
 
static Finger::PositionSet populateFGP (FIELD *field)
 Read the finger positions from an AN2K record. More...
 
static Finger::Impression convertImpression (const unsigned char *str)
 Convert an impression code from a string. More...
 
static Finger::FingerImageCode convertFingerImageCode (const char *str)
 Convert an finger image code from a string. More...
 
- Static Public Member Functions inherited from BiometricEvaluation::View::AN2KView
static DeviceMonitoringMode convertDeviceMonitoringMode (const char *dmm)
 Convert a device monitoring mode indicator from an AN2K record. More...
 
static Image::CompressionAlgorithm convertCompressionAlgorithm (const uint16_t recordType, const unsigned char *an2kValue)
 Convert a compression algorithm indicator from an AN2K finger image record. More...
 

Protected Member Functions

 AN2KView (const std::string filename, const RecordType typeID, const uint32_t recordNumber)
 Construct an AN2K finger view from a file. More...
 
 AN2KView (Memory::uint8Array &buf, const RecordType typeID, const uint32_t recordNumber)
 Construct an AN2K finger view from a buffer. More...
 
void addMinutiaeDataRecord (Finger::AN2KMinutiaeDataRecord &mdr)
 Add a minutiae data record to the AN2KMinutiaeDataRecord set. More...
 
void setPositions (Finger::PositionSet &ps)
 Add a position set to the collection of position sets. More...
 
void setImpressionType (Finger::Impression &imp)
 Mutator for the impression type. More...
 
- Protected Member Functions inherited from BiometricEvaluation::View::AN2KView
Memory::AutoBuffer< ANSI_NISTgetAN2K () const
 Obtain the complete ANSI/NIST record set. More...
 
RECORDgetAN2KRecord () const
 Obtain a pointer to the single ANSI/NIST record. More...
 
- Protected Member Functions inherited from BiometricEvaluation::View::View
 View ()
 
 ~View ()
 
void setImageSize (const BiometricEvaluation::Image::Size &imageSize)
 Mutator for the image size. More...
 
void setImageColorDepth (uint32_t imageColorDepth)
 Mutator for the image color depth. More...
 
void setImageResolution (const BiometricEvaluation::Image::Resolution &imageResolution)
 Mutator for the image resolution. More...
 
void setScanResolution (const BiometricEvaluation::Image::Resolution &scanResolution)
 Mutator for the image scan resolution. More...
 
void setImageData (const BiometricEvaluation::Memory::uint8Array &imageData)
 Mutator for the image data. More...
 
void setCompressionAlgorithm (const Image::CompressionAlgorithm &ca)
 Mutator for the compression algorithm. More...
 

Additional Inherited Members

- Public Types inherited from BiometricEvaluation::View::AN2KView
enum class  RecordType : uint16_t {
  Type_1 = 1 , Type_2 = 2 , Type_3 = 3 , Type_4 = 4 ,
  Type_5 = 5 , Type_6 = 6 , Type_7 = 7 , Type_8 = 8 ,
  Type_9 = 9 , Type_10 = 10 , Type_11 = 11 , Type_12 = 12 ,
  Type_13 = 13 , Type_14 = 14 , Type_15 = 15 , Type_16 = 16 ,
  Type_17 = 17 , Type_99 = 99
}
 The type of AN2K record. More...
 
enum class  DeviceMonitoringMode {
  Controlled , Assisted , Observed , Unattended ,
  Unknown , NA
}
 The level of human monitoring for the image capture device. More...
 
- Static Public Attributes inherited from BiometricEvaluation::View::AN2KView
static const double MinimumScanResolutionPPMM
 Constants to define the minimum resolution used for fingerprint images in an AN2k record. More...
 
static const double HalfMinimumScanResolutionPPMM
 
static const int FixedResolutionBitDepth = 8
 The defined bit-depth for fixed-resolution images. More...
 

Detailed Description

A class to represent single finger view and derived information.

A base Finger::AN2KView object represents an ANSI/NIST Type-3/4/5/6 record, and can return the image as well as the other information associated with that image, such as the minutiae from the corresponding Type-9 record.

For these types of records, the image resolution and scan resolution are identical. For compressed images, applications can compare the image resolution and size taken from the Type-3/4/5/6 record to that returned by the Image object directly.

Definition at line 43 of file be_finger_an2kview.h.

Constructor & Destructor Documentation

◆ AN2KView() [1/2]

BiometricEvaluation::Finger::AN2KView::AN2KView ( const std::string  filename,
const RecordType  typeID,
const uint32_t  recordNumber 
)
protected

Construct an AN2K finger view from a file.

The file must contain the entire AN2K record, not just the finger image and/or minutiae records.

Parameters
[in]filenameThe name of the file containing the AN2K record.
[in]typeIDThe type of AN2K finger view: Type-3/Type-4/etc.
[in]recordNumberWhich finger record to read as there may be multiple finger views of the same type within a single AN2K record.
Exceptions
Error::ParameterErrorAn invalid parameter was passed in.
Error::DataErrorAn error occurred when parsing the AN2K record.
Error::FileErrorAn error occurred when reading the file.

◆ AN2KView() [2/2]

BiometricEvaluation::Finger::AN2KView::AN2KView ( Memory::uint8Array buf,
const RecordType  typeID,
const uint32_t  recordNumber 
)
protected

Construct an AN2K finger view from a buffer.

The buffer must contain the entire AN2K record, not just the finger image and/or minutiae records.

Parameters
[in]bufThe buffer containing the AN2K record.
[in]typeIDThe type of AN2K finger view: Type-3/Type-4/etc.
[in]recordNumberWhich finger record to read as there may be multiple finger views of the same type within a single AN2K record.
Exceptions
Error::ParameterErrorAn invalid parameter was passed in.
Error::DataErrorAn error occurred when parsing the AN2K record.

Member Function Documentation

◆ convertPosition()

static Finger::Position BiometricEvaluation::Finger::AN2KView::convertPosition ( int  an2kFGP)
static

Convert a compression algorithm indicator from an AN2K finger image record.

Parameters
[in]an2kFGPA finger position code as defined by the AN2K standard.
Exceptions
Error::DataErrorThe position code is invalid.

◆ populateFGP()

static Finger::PositionSet BiometricEvaluation::Finger::AN2KView::populateFGP ( FIELD field)
static

Read the finger positions from an AN2K record.

An AN2K finger image record can have multiple values * for the finger position. Pull them out of the position field and return them as a set.

Exceptions
Error::DataErrorThe data contains an invalid value.

◆ convertImpression()

static Finger::Impression BiometricEvaluation::Finger::AN2KView::convertImpression ( const unsigned char *  str)
static

Convert an impression code from a string.

◆ convertFingerImageCode()

static Finger::FingerImageCode BiometricEvaluation::Finger::AN2KView::convertFingerImageCode ( const char *  str)
static

Convert an finger image code from a string.

Parameters
[in]strThe character string containing the image code.
Returns
A FingerImageCode value.
Exceptions
Error::DataErrorThe string contains an invalid image code.

◆ getMinutiaeDataRecordSet()

std::vector< AN2KMinutiaeDataRecord > BiometricEvaluation::Finger::AN2KView::getMinutiaeDataRecordSet ( ) const

Obtain the set of minutiae records.

Because it is possible to have more than one Type-9 record associated with a finger view, this method returns a set of objects, each one representing a single Type-9 record.

Returns
The vector of minutiae data records.

◆ getPositions()

Finger::PositionSet BiometricEvaluation::Finger::AN2KView::getPositions ( ) const

Obtain the set of finger positions.

An AN2K finger image record contains a set of possible finger positions. This method returns that set as read from the image record. Any minutiae record (Type-9) associated with this image will have its own set of positions.

◆ getImpressionType()

Finger::Impression BiometricEvaluation::Finger::AN2KView::getImpressionType ( ) const

Obtain the finger impression code.

Returns
The finger impression code.

◆ addMinutiaeDataRecord()

void BiometricEvaluation::Finger::AN2KView::addMinutiaeDataRecord ( Finger::AN2KMinutiaeDataRecord mdr)
protected

Add a minutiae data record to the AN2KMinutiaeDataRecord set.

Parameters
[in]mdrThe minutiae data record to be added.

◆ setPositions()

void BiometricEvaluation::Finger::AN2KView::setPositions ( Finger::PositionSet ps)
protected

Add a position set to the collection of position sets.

Parameters
[in]psThe position set to be added.

◆ setImpressionType()

void BiometricEvaluation::Finger::AN2KView::setImpressionType ( Finger::Impression imp)
protected

Mutator for the impression type.

Parameters
[in]impThe impression type for this finger view.

The documentation for this class was generated from the following file: