Enrollment
28.2.0
Theme:
Default
Robot
Toggle main menu visibility
Loading...
Searching...
No Matches
IrisSegment.h
Go to the documentation of this file.
1
9
10
#pragma once
11
12
#include "enrollment/Export.h"
13
#include "
enrollment/Image/Image.h
"
14
#include "
enrollment/Image/ImageAttribute.h
"
15
#include "
enrollment/Iris/Iris.h
"
16
#include "
enrollment/Serialization/Writer.h
"
17
#include <memory>
18
#include <vector>
19
20
// cppcoreguidelines-non-private-member-variables-in-classes,misc-non-private-member-variables-in-classes: This is not a
21
// problem because we are using them only as read only.
22
// cppcoreguidelines-avoid-const-or-ref-data-members: We design te API with const member variables instead of
23
// implementing getter methods. This is nicely transformed in C# to properties. Usually our objects are immutable by
24
// intention to have no problem in multithreaded applications.
25
// NOLINTBEGIN(cppcoreguidelines-non-private-member-variables-in-classes,misc-non-private-member-variables-in-classes,cppcoreguidelines-avoid-const-or-ref-data-members)
26
namespace
inno
27
{
31
*/
32
class
IrisSegment :
public
Serializable
33
{
34
public
:
36
const
std::shared_ptr<Iris>
iris
;
38
const
Rectangle
pupilRoundingBox
;
40
const
Rectangle
irisRoundingBox
;
42
const
bool
isInside
;
43
47
*/
48
void
WriteTo
(
Writer
& writer)
const
final
49
{
50
writer.Write(
"ir"
, *
iris
);
51
writer.Write(
"pc"
,
pupilRoundingBox
);
52
writer.Write(
"ic"
,
irisRoundingBox
);
53
writer.Write(
"i"
,
static_cast<
int
>
(
isInside
));
54
}
55
56
IrisSegment
() =
delete
;
57
virtual
~IrisSegment
() =
default
;
58
IrisSegment
(
const
IrisSegment
&) =
delete
;
59
IrisSegment
(
IrisSegment
&&) =
delete
;
60
IrisSegment
& operator=(
IrisSegment
&) =
delete
;
61
IrisSegment
& operator=(
IrisSegment
&&) =
delete
;
62
63
private
:
64
static
std::shared_ptr<IrisSegment> Create(std::shared_ptr<Iris> i,
bool
inside,
Rectangle
pc,
Rectangle
ic)
65
{
66
return
std::shared_ptr<IrisSegment>(
new
IrisSegment
(std::move(i), inside, std::move(pc), std::move(ic)));
67
}
68
69
IrisSegment(std::shared_ptr<Iris> i,
bool
inside, Rectangle pc, Rectangle ic)
70
: iris(std::move(i))
71
, pupilRoundingBox(std::move(pc))
72
, irisRoundingBox(std::move(ic))
73
, isInside(inside)
74
{
75
}
76
77
friend
class
IrisDetector;
78
};
79
}
// namespace inno
80
// NOLINTEND(cppcoreguidelines-non-private-member-variables-in-classes,misc-non-private-member-variables-in-classes,cppcoreguidelines-avoid-const-or-ref-data-members)
ImageAttribute.h
Image.h
Iris.h
Writer.h
IrisSegment
It describes Iris segmented from original IrisCapture (one that contain this IrisSegment) with IrisDe...
Definition
IrisSegment.h:32
IrisSegment::iris
const std::shared_ptr< Iris > iris
Detected Iris image in original Iris capture.
Definition
IrisSegment.h:35
IrisSegment::irisRoundingBox
const Rectangle irisRoundingBox
Provides rounding box for iris in image.
Definition
IrisSegment.h:39
IrisSegment::WriteTo
void WriteTo(Writer &writer) const final
Function serializes Iris segment.
Definition
IrisSegment.h:47
IrisSegment::pupilRoundingBox
const Rectangle pupilRoundingBox
Provides rounding box for pupil in image.
Definition
IrisSegment.h:37
IrisSegment::isInside
const bool isInside
true when rounding circle around iris of detected Iris is completely inside of original capture
Definition
IrisSegment.h:41
Rectangle
It holds rectangle vertexes, width, height.
Definition
ImageAttribute.h:357
Writer
Provides interface for serialization of all classes.
Definition
Writer.h:164
Iris
IrisSegment.h
Generated by
1.17.0