Back to FabImage Library website
You are here: Start » Function Reference » Geometry 2D » Geometry 2D Fitting » FitLineToPoints_LTE

FitLineToPoints_LTE
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | FoundationBasic |
Approximates points with a line using Least Trimmed Error algorithm.
Applications: Brute-force finding of a line that best matches a subset of the input points. Very efficient against outliers, but possibly slow for bigger subsets.
Syntax
C++
C#
void fil::FitLineToPoints_LTE ( const ftl::Array<fil::Point2D>& inPoints, ftl::Optional<const fil::Range&> inRange, int inSeedSubsetSize, ftl::Optional<int> inEvalSubsetSize, fil::Line2D& outLine, ftl::Optional<ftl::Array<fil::Point2D>&> outLTInliers = ftl::NIL, ftl::Optional<float&> outLTError = ftl::NIL, int& diagIterationCount = ftl::Dummy<int>() )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() |
inPoints | const Array<Point2D>& | Input points | ||
![]() |
inRange | Optional<const Range&> | NIL | Determines which array points take part in fitting process | |
![]() |
inSeedSubsetSize | int | 2 - 10 | 3 | Number of points in one combination for getting a sample line |
![]() |
inEvalSubsetSize | Optional<int> | 3 - ![]() |
NIL | Number of closest points used for evaluation of a sample line, or Auto if seed points are to be used |
![]() |
outLine | Line2D& | Fitted line | ||
![]() |
outLTInliers | Optional<Array<Point2D>&> | NIL | Inlying points of the best LTE line | |
![]() |
outLTError | Optional<float&> | NIL | The Least Trimmed Error | |
![]() |
diagIterationCount | int& | Number of combinations considered |
Optional Outputs
The computation of following outputs can be switched off by passing value ftl::NIL
to these parameters: outLTInliers, outLTError.
Read more about Optional Outputs.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Empty array of points in FitLineToPoints_LTE. |
DomainError | Range exceeds the input point array in FitLineToPoints_LTE. |