NIST Biometric Evaluation Framework
Software components for biometric technology evaluations
be_iris_incitsview.h
Go to the documentation of this file.
1/*
2 * This software was developed at the National Institute of Standards and
3 * Technology (NIST) by employees of the Federal Government in the course
4 * of their official duties. Pursuant to title 17 Section 105 of the
5 * United States Code, this software is not subject to copyright protection
6 * and is in the public domain. NIST assumes no responsibility whatsoever for
7 * its use by other parties, and makes no guarantees, expressed or implied,
8 * about its quality, reliability, or any other characteristic.
9 */
10
11#ifndef __BE_IRIS_INCITSVIEW_H__
12#define __BE_IRIS_INCITSVIEW_H__
13
14#include <string>
15#include <vector>
16
17#include <be_iris.h>
18#include <be_image.h>
20#include <be_view_view.h>
21
22namespace BiometricEvaluation
23{
24 namespace Iris
25 {
38 class INCITSView : public View::View {
39 public:
44 typedef struct {
45 uint8_t score;
46 uint16_t vendorID;
47 uint16_t algorithmID;
49 typedef std::vector<QualitySubBlock> QualitySet;
50
51 static const uint16_t RANGE_UNASSIGNED = 0;
52 static const uint16_t RANGE_FAILED = 1;
53 static const uint16_t RANGE_OVERFLOW = 65535;
54
55 static const uint16_t ROLL_ANGLE_UNDEF = 65535;
56 static const uint16_t ROLL_UNCERTAIN_UNDEF = 65535;
57 static const uint16_t COORDINATE_UNDEF = 0;
58
65 uint8_t getCertificationFlag() const;
66
73 std::string getCaptureDateString() const;
74
83
90 uint16_t getCaptureDeviceVendor() const;
91
98 uint16_t getCaptureDeviceType() const;
99
107 Iris::INCITSView::QualitySet &qualitySet) const;
108
116
124
137 &horizontalOrientation,
139 &verticalOrientation,
141 &compressionHistory
142 ) const;
143
153 uint16_t getCameraRange();
154
164 uint16_t &rollAngle,
165 uint16_t &rollAngleUncertainty);
166
186 uint16_t &irisCenterSmallestX,
187 uint16_t &irisCenterSmallestY,
188 uint16_t &irisCenterLargestX,
189 uint16_t &irisCenterLargestY,
190 uint16_t &irisDiameterSmallest,
191 uint16_t &irisDiameterLargest
192 );
193
194 protected:
195
196 static const uint32_t ISO2011_STANDARD = 1;
197 static const uint32_t BASE_FORMAT_ID = 0x49495200;
198 /* 'I''I''R' 'nul' */
199 static const uint8_t CAPTURE_DATE_LENGTH = 9;
200
202
223 const std::string &filename,
224 const uint32_t viewNumber);
225
244 const Memory::uint8Array &buffer,
245 const uint32_t viewNumber);
246
255
275 virtual void readHeader(
277 const uint32_t formatStandard);
278
293 virtual void readIrisView(
295
296 private:
298 uint8_t _certFlag;
299
301 _captureDeviceTechnology;
302
304 _qualitySet;
305
307 _eyeLabel;
309 _imageType;
310 Iris::Orientation _horizontalOrientation;
311 Iris::Orientation _verticalOrientation;
312 Iris::ImageCompression _compressionHistory;
313
314 uint16_t _cameraRange;
315 uint16_t _rollAngle;
316 uint16_t _rollAngleUncertainty;
317
318 uint16_t _irisCenterSmallestX;
319 uint16_t _irisCenterSmallestY;
320 uint16_t _irisCenterLargestX;
321 uint16_t _irisCenterLargestY;
322 uint16_t _irisDiameterSmallest;
323 uint16_t _irisDiameterLargest;
324
325 uint16_t _captureDeviceVendor;
326 uint16_t _captureDeviceType;
327 uint8_t _captureDate[CAPTURE_DATE_LENGTH];
328 std::string _captureDateString;
329 };
330 }
331}
332#endif /* __BE_IRIS_INCITSVIEW_H__ */
333
A class to represent single iris view and derived information.
uint8_t getCertificationFlag() const
Obtain the certification flag.
virtual void readIrisView(Memory::IndexedBuffer &buf)
Read the common iris representation information from an INCITS record.
Iris::CaptureDeviceTechnology getCaptureDeviceTechnology() const
Obtain the capture device technology.
void getIrisCenterInfo(uint16_t &irisCenterSmallestX, uint16_t &irisCenterSmallestY, uint16_t &irisCenterLargestX, uint16_t &irisCenterLargestY, uint16_t &irisDiameterSmallest, uint16_t &irisDiameterLargest)
Obtain the iris center information.
void getQualitySet(Iris::INCITSView::QualitySet &qualitySet) const
Obtain the set of quality sub-blocks.
uint16_t getCaptureDeviceType() const
Obtain the capture device type.
Memory::uint8Array const & getIIRData() const
Obtain a reference to the iris image record data buffer.
Iris::ImageType getImageType() const
Obtain the iris image type.
std::string getCaptureDateString() const
Obtain the capture date as a string.
INCITSView(const std::string &filename, const uint32_t viewNumber)
Construct the common components of an INCITS iris view from records contained in files.
std::vector< QualitySubBlock > QualitySet
uint16_t getCameraRange()
Obtain the camera range.
void getRollAngleInfo(uint16_t &rollAngle, uint16_t &rollAngleUncertainty)
Obtain the roll angle information.
Iris::EyeLabel getEyeLabel() const
Obtain the eye label type.
virtual void readHeader(BiometricEvaluation::Memory::IndexedBuffer &buf, const uint32_t formatStandard)
Read the common iris image record header from an INCITS record, excepting the format identifier and v...
INCITSView(const Memory::uint8Array &buffer, const uint32_t viewNumber)
Construct an INCITS iris view from a record contained in a buffer.
uint16_t getCaptureDeviceVendor() const
Obtain the capture device vendor.
void getImageProperties(BiometricEvaluation::Iris::Orientation &horizontalOrientation, BiometricEvaluation::Iris::Orientation &verticalOrientation, BiometricEvaluation::Iris::ImageCompression &compressionHistory) const
Obtain the iris image properties.
Wrap a memory buffer with an index.
A class to represent single biometric element view.
Definition: be_view_view.h:31
Orientation
Iris horizontal orientation classification codes.
Definition: be_iris.h:65
ImageCompression
Iris image compression type.
Definition: be_iris.h:75
CaptureDeviceTechnology
Capture device technology identifiers.
Definition: be_iris.h:35
ImageType
Iris image type classification codes.
Definition: be_iris.h:54
This software was developed at the National Institute of Standards and Technology (NIST) by employees...
Representation of an iris quality block.