RidgeScanParams3D
Description
This structure contains parameters of surface ridge scanning process. Instance of this structure should be customized and passed as a parameter to surface ridge scanning related functions.Structure fields and default values (if defined) are described below:
- ProfileInterpolationMethod ProfileInterpolation = Quadratic4 - Selects the method of sub-pixel precise surface ridge detection
- float SmoothingStdDev = 0.6f - Parameter for gaussian smoothing of the height profile
- float RidgeWidth = 5.0f - Expected thickness of the ridge
- float RidgeMargin = 2.0f - Thickness of a sampling area outside of the ridge, on both of its sides
- RidgeOperator RidgeOperator - Selects the function used to combine the height on the left and on the right side of the ridge
- float MinMagnitude = 5.0f - Minimum acceptable surface ridge strength
- SurfaceRidgePolarity RidgePolarity - Specifies the type of surface ridges to be detected
struct RidgeScanParams3D
{
ProfileInterpolationMethod ProfileInterpolation;
float SmoothingStdDev;
float RidgeWidth;
float RidgeMargin;
RidgeOperator RidgeOperator;
float MinMagnitude;
SurfaceRidgePolarity RidgePolarity;
explicit RidgeScanParams3D
(
ProfileInterpolationMethod ProfileInterpolation_ = Quadratic4,
float SmoothingStdDev_ = 0.6f,
float RidgeWidth_ = 5.0f,
float RidgeMargin_ = 2.0f,
float MinMagnitude_ = 5.0f
) :
ProfileInterpolation(ProfileInterpolation_),
SmoothingStdDev(SmoothingStdDev_),
RidgeWidth(RidgeWidth_),
RidgeMargin(RidgeMargin_),
MinMagnitude(MinMagnitude_)
{}
ProfileInterpolationMethod ProfileInterpolation() const { return ProfileInterpolation; };
float SmoothingStdDev() const { return SmoothingStdDev; };
float RidgeWidth() const { return RidgeWidth; };
float RidgeMargin() const { return RidgeMargin; };
RidgeOperator RidgeOperator() const { return RidgeOperator; };
float MinMagnitude() const { return MinMagnitude; };
SurfaceRidgePolarity RidgePolarity() const { return RidgePolarity; };
bool operator == ( const avl::RidgeScanParams3D& rhs ) const
{
return ProfileInterpolation == rhs.ProfileInterpolation &&
SmoothingStdDev == rhs.SmoothingStdDev &&
RidgeWidth == rhs.RidgeWidth &&
RidgeMargin == rhs.RidgeMargin &&
RidgeOperator == rhs.RidgeOperator &&
MinMagnitude == rhs.MinMagnitude &&
RidgePolarity == rhs.RidgePolarity;
}
bool operator != ( const avl::RidgeScanParams3D& rhs ) const
{
return !(operator==(rhs));
}
};
