Start » Filter Reference » Geometry 2D

Geometry 2D

Geometry 2D Angle Metrics

Icon Name Description / Applications Modules
AngleBetweenDirections

Measures the rotation angle from first to second direction.

FoundationLite
AngleBetweenLines

Measures the smaller and the larger angle between two lines.

FoundationLite
AngleBetweenSegments

Measures the angle between two segments with one of four possible metrics.

FoundationLite
AngleBetweenThreePoints

Measures the angle defined by three consecutive points.

FoundationLite
AngleBetweenVectors

Measures the angle between two vectors.

FoundationLite
NormalizeAngle

Normalizes an angle to the range <x, x+90) or <x, x+180) or <x, x+360).

FoundationLite

Geometry 2D Basics

Icon Name Description / Applications Modules
CreateArc

Creates an arc from an aligned point, radius, and angle range.

FoundationLite
CreateCircle

Creates a circle from an aligned point and radius.

FoundationLite
CreatePointGrid

Creates a grid of points.

FoundationLite
CreateRandomPointArray

Creates array of random points inside given box.

FoundationLite
CreateRectangle

Creates a rectangle from an aligned point.

FoundationLite
CreateRing

Creates a ring from an aligned point, inner and outer radius, and angle range.

FoundationLite
CreateSegment

Produces a segment of given parameters.

FoundationLite
CreateVector

Produces a vector of given length and direction.

FoundationLite
RandomPoint

Creates random point inside given box.

FoundationLite
WKT_LoadLineString

Loads path from WKT text format.

FoundationLite
WKT_LoadMultiLineString

Loads multiple paths from WKT text format.

FoundationLite
WKT_LoadMultiPoint

Loads multiple points from WKT text format.

FoundationLite
WKT_LoadMultiPolygon

Loads multiple polygons from WKT text format.

FoundationLite
WKT_LoadMultiPolygon_AsRegion

Loads multiple polygons from WKT text format as region.

FoundationLite
WKT_LoadPoint

Loads point from WKT text format.

FoundationLite
WKT_LoadPolygon

Loads polygon from WKT text format.

FoundationLite
WKT_LoadPolygon_AsRegion

Loads polygon from WKT text format as region.

FoundationLite

Geometry 2D Constructions

Icon Name Description / Applications Modules
CircleTangents

Computes circle tangent lines passing through a point.

FoundationLite
CircleThroughPoints

Computes a circle passing through three noncollinear points.

FoundationLite
CreateCoordinateSystemFromPoint

Creates a coordinate system with the specified origin.


Most often used to define an object alignment from results of 1D Edge Detection or Blob Analysis.

FoundationLite
CreateCoordinateSystemFromRectangle

Creates a coordinate system from a rectangle.


Most often used to define an object alignment from a filter like RegionBoundingRectangle.

FoundationLite
CreateCoordinateSystemFromSegment

Creates a coordinate system with the origin on a given segment.

FoundationLite
CreateCoordinateSystemFromTwoPoints

Creates a coordinate system with two points on its axes.


Most often used to define an object alignment from results of two 1D Edge Detection scans, each of which locates one side of a rectangular object.

FoundationLite
CreateCoordinateSystemFromVector

Creates a coordinate system from a vector.


Both vectors and coordinate systems can represent object translations. This operation does a conversion.

FoundationLite
EllipseThroughFourPoints

Computes an ellipse passing through four noncollinear points.

FoundationLite
EllipseThroughThreePoints

Computes an ellipse passing through three noncollinear points.

FoundationLite
LineThroughPoint

Computes a line passing through a point with given angle.

FoundationLite
LineThroughPoints

Computes a line passing through two distinct points.

FoundationLite
ProjectPointOnCircle

Projects a point onto a circle.

FoundationLite
ProjectPointOnLine

Projects a point onto a line.

FoundationLite
ProjectPointsOnCircle

Projects points onto a circle.

FoundationLite
ProjectPointsOnLine

Projects points onto a line.

FoundationLite
SplitRectangle

Splits the rectangle into two along the direction.

FoundationLite
VectorBetweenPoints

Computes a vector representing distance from one point to another.

FoundationLite

Geometry 2D Distance Metrics

Icon Name Description / Applications Modules
CircleToCircleDistance

Measures the distance between two circles.

FoundationLite
PointSequenceDistances

Measures the distances between consecutive points of a point sequence.

FoundationLite
PointToArcDistance

Measures the distance between a point and an arc.

FoundationLite
PointToCircleDistance

Measures the distance between a point and a circle.

FoundationLite
PointToLineDistance

Measures the distance between a point and a line.

FoundationLite
PointToLineDistance_Oriented

Measures the signed distance between a point and a line with direction.

FoundationLite
PointToPointDistance

Measures the distance between two points.

FoundationLite
PointToRectangleDistance

Measures the distance between point and rectangle.

FoundationLite
PointToSegmentDistance

Measures the distance between a point and a segment.

FoundationLite
SegmentToSegmentDistance

Measures the distance between two segments.

FoundationLite

Geometry 2D Features

Icon Name Description / Applications Modules
ArcCircle

Computes the circle containing an arc.

FoundationLite
ArcEndpoints

Computes two endpoints of an arc.

FoundationLite
ArcLength

Computes the length of an arc.

FoundationLite
ArcMidpoint

Computes the midpoint of an arc.

FoundationLite
CircleArea

Computes the area of a circle.

FoundationLite
CircleBoundingBox

Computes the smallest box containing a circle.

FoundationLite
CircleBoundingRectangle

Computes the smallest rectangle containing a circle.

FoundationLite
CircleCharacteristicPoint

Returns a characteristic point (e.g. the top-left) of a box containing the input circle.

FoundationLite
CirclePerimeterLength

Computes the length of a circle perimeter.

FoundationLite
CircleSection

Computes an arciform section of the circle perimeter.

FoundationLite
EllipseArea

Computes the area of an ellipse.

FoundationLite
EllipseBoundingBox

Computes the smallest box containing an ellipse.

FoundationLite
EllipseBoundingRectangle

Computes the smallest rectangle containing an ellipse.

FoundationLite
EllipseBoundingRectangle_FixedAngle

Computes the smallest rectangle with the given orientation angle containing an ellipse.

FoundationLite
LineNormalVector

Computes the normal vector of a line.

FoundationLite
LineOrientation

Computes the orientation angle of a line as angle in the range from 0 to 180.

FoundationLite
PointsBoundingBox

Computes the smallest box containing an array of points.

FoundationLite
PointsBoundingBox_OrNil

Computes the smallest box containing an array of points; returns NIL if the array is empty.

FoundationLite
PointsBoundingCircle

Computes the smallest circle containing an array of points.

FoundationBasic
PointsBoundingCircle_OrNil

Computes the smallest circle containing an array of points; returns NIL if the array is empty.

FoundationBasic
PointsBoundingEllipse

Computes the smallest ellipse containing an array of points if such ellipse exists.

FoundationBasic
PointsBoundingParallelogram

Computes the smallest parallelogram containing an array of points.

FoundationPro
PointsBoundingRectangle

Computes the smallest rectangle containing an array of points.

FoundationLite
PointsBoundingRectangle_FixedAngle

Computes the smallest rectangle with the given orientation angle containing an array of points.

FoundationLite
PointsBoundingRectangle_FixedAngle_OrNil

Computes the smallest rectangle with the given orientation angle containing an array of points; returns NIL when the array is empty.

FoundationLite
PointsBoundingRectangle_OrNil

Computes the smallest rectangle containing an array of points; returns NIL when the array is empty.

FoundationLite
PointsCaliperDiameter

Computes the longest and the shortest width of the input points measured as distance between parallel lines containing all of them.

FoundationBasic
PointsConvexHull

Computes the smallest convex shape that contains the given array of points.

FoundationLite
PointsDiameter

Finds the longest segment connecting two points from a given array.

FoundationLite
PointsMassCenter

Computes the central point of the input points.

FoundationLite
PointsMassCenter_OrNil

Computes the central point of the input points; returns NIL if the array is empty.

FoundationLite
PointsMedian

Computes the geometric median of the input points.

FoundationLite
PointsOrientation

Computes the orientation of a set of 2D points.

FoundationLite
RectangleArea

Computes the area of a rectangle.

FoundationLite
RectangleBoundingBox

Computes the smallest box containing a rectangle.

FoundationLite
RectangleBoundingCircle

Computes the smallest circle containing a rectangle.

FoundationLite
RectangleCenter

Computes the center point of a rectangle.

FoundationLite
RectangleCharacteristicPoint

Returns a characteristic point (e.g. the top-left) of the input rectangle.

FoundationLite
RectangleCharacteristicPoints

Computes rectangle's characteristic points.

FoundationLite
RectangleCorners

Computes the four corner points of a rectangle.

FoundationLite
RectanglePerimeterLength

Computes the perimeter length of a rectangle.

FoundationLite
RectangleSides

Returns segments representing the sides of the input rectangle.

FoundationLite
SegmentBisector

Computes a line passing through the center of a segment at a right angle.

FoundationLite
SegmentCenter

Computes the center point of a segment.

FoundationLite
SegmentLength

Computes the length of a segment.

FoundationLite
SegmentLine

Computes the line passing through a segment.

FoundationLite
SegmentNormalVector

Computes an unitary vector perpendicular to the segment.

FoundationLite
SegmentOrientation

Computes the orientation of a segment.

FoundationLite
SegmentVector

Returns the vector [x2 - x1, y2 - y1].

FoundationLite
VectorDirection

Computes the direction angle of a vector as an angle in range the from 0 to 360.

FoundationLite
VectorLength

Computes the length of a vector.

FoundationLite
VectorsMedian

Computes the geometric median of the input vectors.

FoundationLite

Geometry 2D Fitting

Icon Name Description / Applications Modules
AdjustPointArrays

Aligns a point array to match best the input point array.

FoundationPro
DetectPointSegments

Detect points that lie along multiple segments.

FoundationPro
FitArcToPath

Approximates path by an arc using the selected outliers suppression method and considering path's start and end.

FoundationBasic
FitArcToPoints

Approximates points with an arc using the selected outliers suppression method.

FoundationBasic
FitCircleToPoints

Approximates points with a circle using selected outliers suppression method.

FoundationBasic
FitLineToPoints

Approximates points with a line using the Least Squares method.

FoundationBasic
FitLineToPoints_LTE

Approximates points with a line using Least Trimmed Error algorithm.


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.

FoundationBasic
FitLineToPoints_M

Approximates points with a line using selected M-estimator for outlier suppression.


Finding a locally optimal line. Good enough when the number of outliers is small.

FoundationBasic
FitLineToPoints_RANSAC

Approximates points with a line using a RANSAC algorithm.


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

FoundationBasic
FitLineToPoints_TheilSen

Approximates points with a line using TheilSen algorithm, optionally with Siegel's improvement.


Finds a well matching line, ignoring up to 29.3% (TheilSen) or 50.0% (Siegel) outliers. Outliers do have some influence on accuracy.

FoundationBasic
FitSegmentToPoints

Approximates points with a segment using selected outliers suppression method.


Finding a locally optimal segment. Good enough when the number of outliers is small.

FoundationBasic
FitSegmentToPoints_LTE

Approximates points with a segment using Least Trimmed Error algorithm.


Brute-force finding of a segment that best matches a subset of the input points. Very efficient against outliers, but possibly slow for bigger subsets.

FoundationBasic
FitSegmentToPoints_RANSAC

Approximates points with a segment using a RANSAC algorithm.


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

FoundationBasic
FitSegmentToPoints_TheilSen

Approximates points with a segment using TheilSen algorithm, optionally with Siegel's improvement.


Finds a well matching segment, ignoring up to 29.3% (TheilSen) or 50.0% (Siegel) outliers. Outliers do have some influence on accuracy.

FoundationBasic
FitSegmentToRegion

Approximates a region with a segment using selected outliers suppression method.


Finding a locally optimal segment. Good enough when the number of outliers is small.

FoundationBasic
LocateMultiplePointPatterns

Finds occurrences of a pattern in a 2D cloud of (feature) points.


Can be used to find entire objects after finding their characteristic points with tools such as Template Matching or DL_LocatePoints.

FoundationPro
LocateSinglePointPattern

Finds an occurrence of the pattern in the input points.


Can be used to find an entire object after finding its characteristic points with tools such as Template Matching or DL_LocatePoints.

FoundationPro

Geometry 2D Interpolations

Icon Name Description / Applications Modules
AverageAngle

Computes the average of the input angles using points on a unit circle.

FoundationLite
AveragePoint

Computes the middle point of two input points.

FoundationLite
LerpAngles

Linearly interpolates between two angles in the direction of minimum turn.

FoundationLite
LerpPaths

Linearly interpolates between two paths.

FoundationLite
LerpPoints

Linearly interpolates between two points.

FoundationLite
LerpSegments

Linearly interpolates between two segments.

FoundationLite
LerpVectors

Linearly interpolates between two vectors.

FoundationLite
LerpVectors_Radial

Linearly interpolates between two radial vectors.

FoundationLite
MedianAngle

Computes the median angle of the input angles.


This is a substitute for arithmetic average which cannot be done well for angles. For example the average of 1 and 359 is incorrectly 180 (we think 0).

FoundationLite

Geometry 2D Intersections

Icon Name Description / Applications Modules
CircleCircleIntersection

Computes common points of two circles.

FoundationLite
LineArcIntersection

Computes the common points of an arc and a line.

FoundationLite
LineCircleIntersection

Computes common points of a circle and a line.

FoundationLite
LineLineIntersection

Computes a common point of two lines.

FoundationLite
LineSegmentIntersection

Computes a common point of a line and a segment.

FoundationLite
SegmentArcIntersection

Computes the common points of an arc and a segment.

FoundationLite
SegmentArrayIntersections

Computes a common points or segment of any segments from the set.

FoundationLite
SegmentCircleIntersection

Computes the common points of a circle and a segment.

FoundationLite
SegmentSegmentIntersection

Computes a common point of two segments.

FoundationLite
TestRectangleIntersectsWith

Tests if two rectangles intersect.

FoundationLite

Geometry 2D Normalizations

Icon Name Description / Applications Modules
NormalizeRectangleOrientation

Changes orientation of the given rectangle according to parameters.

FoundationLite
NormalizeSegmentOrientation_ByBaseOrientation

Changes orientation of the given segment according to base orientation.

FoundationLite
NormalizeSegmentOrientation_ByCoordinate

Changes orientation of the given segment according to coordinates along selected axis.

FoundationLite
NormalizeSegmentOrientation_ByPointDistance

Changes orientation of the given segment according to distance to the given point.

FoundationLite
RemoveInvalidPoints

Removes invalid points from an array (i.e. points with NaN or INF coordinates).

FoundationLite
ReorientRectangle

Changes orientation of the given rectangle by multiple of 90 degrees.

FoundationLite

Geometry 2D Relations

Icon Name Description / Applications Modules
CreatePointGraph

Creates a graph of points that lie close to each other.

FoundationPro
FindClosestPoints

For each given point, finds the closest point among the given point set.

FoundationLite
TestPointArrayInBox

Tests which points lie inside a box.

FoundationLite
TestPointArrayInRectangle

Tests which points lie inside a rectangle.

FoundationLite
TestPointInBox

Tests whether a point lies in a box.

FoundationLite
TestPointInCircle

Tests whether a point lies inside a circle.

FoundationLite
TestPointInRectangle

Tests whether a point lies in a rectangle.

FoundationLite

Geometry 2D Spatial Transforms

Icon Name Description / Applications Modules
AlignArc

Moves an arc from a local coordinate system to the absolute one.


Required when there is an arc defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

FoundationLite
AlignCircle

Moves a circle from a local coordinate system to the absolute one.


Required when there is a circle defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

FoundationLite
AlignCoordinateSystem

Moves a nested coordinate system from its local coordinate system to the absolute one.


This filter is required e.g. when we first locate an object and then we locate its parts within it.

FoundationLite
AlignLine

Moves a line from a local coordinate system to the absolute one.


Required when there is a line defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

FoundationLite
AlignPoint

Moves a point from a local coordinate system to the absolute one.


Required when there is a point defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

FoundationLite
AlignPointArray

Moves an array of points from a local coordinate system to the absolute one.


Required when there are points defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

FoundationLite
AlignRectangle

Moves a rectangle from a local coordinate system to the absolute one.


Required when there is a rectangle defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

FoundationLite
AlignSegment

Moves a segment from a local coordinate system to the absolute one.


Required when there is a segment defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

FoundationLite
InflateRectangle

Enlarges a rectangle by a given margin.

FoundationLite
InvertCoordinateSystem

Inverts a coordinate system.

FoundationLite
PointAlongArc

Transforms a point to a coordinate system in which the 'axis' arc is vertical or horizontal.


Usually used to revert an ImageAlongArc transformation.

FoundationLite
PointAlongPath

Transforms a point to a coordinate system in which the 'axis' path is vertical or horizontal.


Usually used to revert an ImageAlongPath transformation.

FoundationLite
RescaleArc

Changes radius of an arc and translates its center in relation to a reference point.

FoundationLite
RescaleCircle

Changes radius of a circle and translates its center in relation to a reference point.

FoundationLite
RescaleLine

Changes the distance of a line to a reference point.

FoundationLite
RescalePoint

Changes the distance of a point to a reference point.

FoundationLite
RescalePointArray

Changes the distances of points from an array to a reference point.

FoundationLite
RescaleRectangle

Changes the corners and the dimensions of a rectangle.

FoundationLite
RescaleSegment

Lengthens or shortens a segment relatively.

FoundationLite
RescaleVector

Lengthens or shortens a vector relatively preserving its direction.

FoundationLite
ResizeArc

Changes radius of an arc.

FoundationLite
ResizeArc_Delta

Changes radius of an arc by adding a value.

FoundationLite
ResizeCircle

Changes radius of a circle.

FoundationLite
ResizeCircle_Delta

Changes radius of a circle by adding a value.

FoundationLite
ResizeRectangle

Changes dimensions of a rectangle.

FoundationLite
ResizeRectangle_Delta

Changes dimensions of a rectangle by adding some values.

FoundationLite
ResizeRectangle_Relative

Changes dimensions of a rectangle relatively.

FoundationLite
ResizeSegment

Lengthens or shortens a segment to a new length preserving its orientation and center point.

FoundationLite
ResizeSegment_Delta

Changes length of a segment by adding a value preserving its orientation and center point.

FoundationLite
ResizeVector

Lengthens or shortens a vector preserving its direction.

FoundationLite
ResizeVector_Delta

Extends length of a vector by adding a value preserving its direction.

FoundationLite
ReverseArc

Inverts the direction of the arc.

FoundationLite
ReverseSegment

Swaps the two endpoints of a segment.

FoundationLite
RotateAngle

Adds two angles.

FoundationLite
RotateAngle_Toward

Changes the input direction in the direction of minimum rotation toward the target direction.

FoundationLite
RotateArc

Rotates an arc clockwise around center point.

FoundationLite
RotateCircle

Rotates a circle clockwise around a center point.

FoundationLite
RotateCoordinateSystem

Rotates a coordinate system around a center point.

FoundationLite
RotateLine

Rotates a line clockwise around a center point.

FoundationLite
RotatePoint

Rotates a point clockwise around a center point.

FoundationLite
RotatePointArray

Rotates an array of points clockwise around a center point.

FoundationLite
RotateRectangle

Rotates a rectangle clockwise around a center point.

FoundationLite
RotateSegment

Rotates a segment clockwise around a center point.

FoundationLite
RotateVector

Rotates a vector clockwise.

FoundationLite
SplitPointsByLine

Separates the points being on one side of the input line from the others.

FoundationLite
SplitSegment

Splits a segment into several parts of equal length.

FoundationLite
TranslateArc

Translates an arc by a vector.

FoundationLite
TranslateCircle

Translates a circle by a vector.

FoundationLite
TranslateCoordinateSystem

Translates a coordinate system by a vector.

FoundationLite
TranslateLine

Translates a line by a vector.

FoundationLite
TranslatePoint

Translates a point by a vector.

FoundationLite
TranslatePointArray

Translates an array of points by a vector.

FoundationLite
TranslatePoint_Toward

Translates a point towards another point by a specified distance.

FoundationLite
TranslateRectangle

Translates a rectangle by a vector.

FoundationLite
TranslateSegment

Translates a segment by a vector.

FoundationLite
TrimLine

Creates a segment contained in a box from a line.

FoundationLite
TrimLineToRectangle

Creates a segment contained in a rectangle from a line.

FoundationLite
TrimPath

Creates a path contained in a box from another path.

FoundationLite
TrimPathArray

Creates an array of paths contained in a box from another array of paths.

FoundationLite
TrimPathArrayToRectangle

Creates an array of paths contained in a rectangle from another array of paths.

FoundationLite
TrimPathToRectangle

Creates a path contained in a rectangle from another path.

FoundationLite
TrimPointArray

Removes points not contained in a box from an array.

FoundationLite
TrimPointArrayToRegion

Trims an array of points to a region.

FoundationLite
TrimSegment

Creates a segment contained in a box from another segment.

FoundationLite
TrimSegmentToCircle

Creates a segment contained in a circle from another segment.

FoundationLite
TrimSegmentToPolygon

Finds all subsegments that are inside a given polygon.

FoundationBasic
TrimSegmentToRectangle

Creates a segment contained in a rectangle from another segment.

FoundationLite