StripeScanParams3D
Description
This structure contains parameters of surface stripe scanning process. Instance of this structure should be customized and passed as a parameter to surface 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
- float SmoothingStdDev = 0.6f - Parameter for gaussian smoothing of the height profile
- float MinMagnitude = 5.0f - Minimum acceptable surface edge strength
- float MaxInnerEdgeMagnitude - Maximum strength of surface edges appearing between the two ends of a surface stripe
- SurfaceStripePolarity StripePolarity - Specifies the type of surface stripes to be detected
- float MinStripeWidth - Minimum acceptable stripe width
- float MaxStripeWidth - Maximum acceptable stripe width
struct StripeScanParams3D
{
ProfileInterpolationMethod ProfileInterpolation;
float SmoothingStdDev;
float MinMagnitude;
float MaxInnerEdgeMagnitude;
SurfaceStripePolarity StripePolarity;
float MinStripeWidth;
float MaxStripeWidth;
explicit StripeScanParams3D
(
ProfileInterpolationMethod ProfileInterpolation_ = Quadratic4,
float SmoothingStdDev_ = 0.6f,
float MinMagnitude_ = 5.0f
) :
ProfileInterpolation(ProfileInterpolation_),
SmoothingStdDev(SmoothingStdDev_),
MinMagnitude(MinMagnitude_)
{}
ProfileInterpolationMethod ProfileInterpolation() const { return ProfileInterpolation; };
float SmoothingStdDev() const { return SmoothingStdDev; };
float MinMagnitude() const { return MinMagnitude; };
float MaxInnerEdgeMagnitude() const { return MaxInnerEdgeMagnitude; };
SurfaceStripePolarity StripePolarity() const { return StripePolarity; };
float MinStripeWidth() const { return MinStripeWidth; };
float MaxStripeWidth() const { return MaxStripeWidth; };
bool operator == ( const avl::StripeScanParams3D& 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::StripeScanParams3D& rhs ) const
{
return !(operator==(rhs));
}
};
