8#ifndef OCEAN_CV_DETECTOR_BULLSEYES_BULLSEYE_H
9#define OCEAN_CV_DETECTOR_BULLSEYES_BULLSEYE_H
34class OCEAN_CV_DETECTOR_BULLSEYES_EXPORT
HalfRay
50 inline bool isValid()
const;
56 inline bool areIntensitiesValid()
const;
62 static inline const Vector2& invalidTransitionPoint();
79 bool isIntensityValid[3] = {
false,
false,
false};
92class OCEAN_CV_DETECTOR_BULLSEYES_EXPORT
Diameter
103 inline bool areHalfRaysValid()
const;
109 inline bool areIntensitiesValid()
const;
114 bool isSymmetryValid =
false;
146 Bullseye(
const Vector2& position,
const Scalar& radius,
const unsigned int grayThreshold,
const unsigned int pyramidLayer = 0u);
218 static constexpr Scalar invalidRadius();
224 static constexpr unsigned int invalidGrayThreshold();
235 unsigned int grayThreshold_ = invalidGrayThreshold();
241 unsigned int pyramidLayer_ = 0u;
254 return (
unsigned int)(-1);
266 return invalidPoints;
Definition of a bullseye composed of a location and a radius.
Definition Bullseye.h:131
bool isValid() const
Returns whether this bullseye is valid.
static constexpr Scalar invalidRadius()
Returns an invalid bullseye radius.
Definition Bullseye.h:247
Bullseye()=default
Creates an invalid bullseye object.
Bullseye scaled(const Scalar scaleFactor) const
Returns a scaled copy of this bullseye.
Bullseye(const Vector2 &position, const Scalar &radius, const unsigned int grayThreshold, Diameters &&diameters, const unsigned int pyramidLayer=0u)
Creates a new bullseye object with diameter data from radial consistency checking.
Bullseye(const Vector2 &position, const Scalar &radius, const unsigned int grayThreshold, const unsigned int pyramidLayer=0u)
Creates a new bullseye object by a given position and radius.
const Diameters & diameters() const
Returns the diameter data from radial consistency checking.
Diameters diameters_
The diameter data from radial consistency checking.
Definition Bullseye.h:238
bool hasDiameters() const
Returns whether this bullseye has diameter data from radial consistency checking.
unsigned int pyramidLayer() const
Returns the pyramid layer at which this bullseye was detected.
static constexpr unsigned int invalidGrayThreshold()
Returns an invalid bullseye threshold.
Definition Bullseye.h:252
static Vector2 invalidPosition()
Returns an invalid bullseye position.
const Vector2 & position() const
Returns the (center) position of the bullseye.
Scalar radius() const
Returns the radius of the bullseye.
unsigned int grayThreshold() const
Returns the threshold that was used for the detection of this bullseye.
Structure to hold diameter results (positive + negative half-rays).
Definition Bullseye.h:93
Diameter()=default
Default constructor.
HalfRay halfRayNegative
Negative direction half-ray (angle a + PI)
Definition Bullseye.h:120
HalfRay halfRayPositive
Positive direction half-ray (angle a)
Definition Bullseye.h:117
bool areHalfRaysValid() const
Returns whether both half-rays found all 3 transition points.
Definition Bullseye.h:292
bool areIntensitiesValid() const
Returns whether all intensity checks passed in both half-rays.
Definition Bullseye.h:297
Structure to hold a single half-ray result from radial consistency checking.
Definition Bullseye.h:35
std::array< Vector2, 3 > TransitionPoints
Array of 3 transition points along the half-ray: [0] B->W (center to first ring), [1] W->B (first to ...
Definition Bullseye.h:39
bool isValid() const
Returns whether this half-ray found all 3 transition points.
Definition Bullseye.h:269
HalfRay()=default
Default constructor.
bool areIntensitiesValid() const
Returns whether all intensity check points have the expected values.
Definition Bullseye.h:287
static const Vector2 & invalidTransitionPoint()
Returns an invalid transition point.
Definition Bullseye.h:257
bool isIntensityValid[3]
Flags indicating whether each intensity check passed: [0] white ring, [1] black ring,...
Definition Bullseye.h:79
static const TransitionPoints & invalidTransitionPoints()
Returns an invalid array of transition points.
Definition Bullseye.h:263
TransitionPoints transitionPoints
Transition points for this half-ray.
Definition Bullseye.h:73
static constexpr T minValue()
Returns the min scalar value.
Definition Numeric.h:3259
static constexpr T pi2()
Returns 2*PI which is equivalent to 360 degree.
Definition Numeric.h:932
float Scalar
Definition of a scalar type.
Definition Math.h:129
std::vector< Bullseye > Bullseyes
Definition of a vector holding bullseyes.
Definition Bullseye.h:245
std::vector< HalfRay > HalfRays
Definition of a vector holding half-rays.
Definition Bullseye.h:86
std::vector< Diameter > Diameters
Definition of a vector holding diameters.
Definition Bullseye.h:124
The namespace covering the entire Ocean framework.
Definition Accessor.h:15