Back to Aurora Vision Library website

You are here: Start » Function Reference » Geometry 2D » Geometry 2D Fitting » FitLineToPoints_RANSAC


Header: AVL.h
Namespace: avl
Module: FoundationBasic

Approximates points with a line using a RANSAC algorithm.

Applications: Finds a well matching line, but for handling outliers requires a distance threshold that may be difficult to set.


void avl::FitLineToPoints_RANSAC
	const atl::Array<avl::Point2D>& inPoints,
	atl::Optional<const avl::Range&> inRange,
	atl::Optional<int> inMaxOutlierCount,
	float inMaxInlierDistance,
	atl::Optional<int> inIterationCount,
	atl::Conditional<avl::Line2D>& outLine


Name Type Range Default Description
Input value
inPoints const Array<Point2D>&
Input value
inRange Optional<const Range&> NIL Determines which array points take part in fitting process
Input value
inMaxOutlierCount Optional<int> 0 - 0 Determines how many outlier points can be present to end the search
Input value
inMaxInlierDistance float 0.0 - 3.0f Distance from the output line for a point to be considered an inlier
Input value
inIterationCount Optional<int> 1 - 42 Number of iterations; Auto means that all point pairs will be used
Output value
outLine Conditional<Line2D>&


List of possible exceptions:

Error type Description
DomainError Empty array of points in FitLineToPoints_RANSAC.
DomainError Range exceeds the input point array in FitLineToPoints_RANSAC.