StripeScanParams
Description
This structure contains parameters of stripe scanning process. Instance of this structure should be customized and passed as a parameter to stripe scanning related functions.
Structure fields and default values (if defined) are described below:
- ProfileInterpolationMethod ProfileInterpolation = Quadratic4 - Selects the method of sub-pixel precise edge detection
- real SmoothingStdDev = 0.6f - Parameter for gaussian smoothing of the brightness profile
- real MinMagnitude = 5.0f - Minimum acceptable edge strength
- real MaxInnerEdgeMagnitude - Maximum strength of edges appearing between the two ends of a stripe
- Polarity StripePolarity - Specifies the type of stripes to be detected (Bright, Dark or Any)
- real MinStripeWidth - Minimum acceptable stripe width in pixels
- real MaxStripeWidth - Maximum acceptable stripe width in pixels
struct StripeScanParams
{
ProfileInterpolationMethod ProfileInterpolation;
real SmoothingStdDev;
real MinMagnitude;
real MaxInnerEdgeMagnitude;
Polarity StripePolarity;
real MinStripeWidth;
real MaxStripeWidth;
explicit StripeScanParams
(
ProfileInterpolationMethod ProfileInterpolation_ = Quadratic4,
real SmoothingStdDev_ = 0.6f,
real MinMagnitude_ = 5.0f
) :
ProfileInterpolation(ProfileInterpolation_),
SmoothingStdDev(SmoothingStdDev_),
MinMagnitude(MinMagnitude_)
{}
ProfileInterpolationMethod ProfileInterpolation( void ) const { return ProfileInterpolation; };
real SmoothingStdDev( void ) const { return SmoothingStdDev; };
real MinMagnitude( void ) const { return MinMagnitude; };
real MaxInnerEdgeMagnitude( void ) const { return MaxInnerEdgeMagnitude; };
Polarity StripePolarity( void ) const { return StripePolarity; };
real MinStripeWidth( void ) const { return MinStripeWidth; };
real MaxStripeWidth( void ) const { return MaxStripeWidth; };
bool operator == ( const avl::StripeScanParams& rhs ) const
{
return ProfileInterpolation == rhs.ProfileInterpolation &&
SmoothingStdDev == rhs.SmoothingStdDev && MinMagnitude == rhs.MinMagnitude &&
MaxInnerEdgeMagnitude == rhs.MaxInnerEdgeMagnitude && StripePolarity == rhs.StripePolarity &&
MinStripeWidth == rhs.MinStripeWidth && MaxStripeWidth == rhs.MaxStripeWidth
;
}
bool operator != ( const avl::StripeScanParams& rhs ) const
{
return !(operator==(rhs));
}
};
