Up | CircleFinder2D - 165 | EasyOCR - 78 | PolygonMatch2 - 84 | GCPS -110 | HeightMap3D - 111 | ImageExtrema - 129 | PCA3D - 140 | CameraPose3D - 148 | MonoPose3D - 149 | ImagePicker3D - 145 | ExternalCoordinates3D - 157 | MaMa3D - 152 | CircleSegmentor - 153 | PolygonMatch3 - 160

Release Notes


CircleFinder2D - 165

This tool is the superior successor of RadialArcFinder made to solve one of the fundamental challenges in Machine Vision to locate round objects.  

Ten years of knowledge and practical experience is built into CircleFinder2D.

More than ten years after releasing RadialArcFinder a ransac based circlefinder with subpixel accuracy we have been working hard to create a new tool that meets the challenges our Scorpion 3D Stinger technology. The challenge is when we doubling the accuracy of a feature in 2D we also double the 3D depth resolution. With CircleFinder2D we have seen 2-4 times the accuracy in depth resolution in challenging 3D picking Robot Vision applications by just replacing RadialArcFinder by CircleFinder2D.

This means that we can solve more application or lower the cost of existing solutions.

The tool finds an arc or circle by using a radial trace comb.
The trace lines radiates from a center point. On each trace line gradient points are collected. The circle is calculated using all the collected points. It is possible to set radius constraints thus selecting the right circle. The best circle is chosen based on user specified cost function.

A challenge with ransac based tools is to generate independant samples to be able to find the best solution. With the user defined MultiSearch multiple search for edge points can be be specified.  More of less all the parameters of the CircleFinder2D can be iterated: origin, fitted points, traceline width, steps and search count. When a solution is found with acceptable cost function the search can be terminated to optimize the system solution speed.

  • Accurate – Dual Pass doubles accuracy be two step edge location
  • Accurate – locates circles based on sub-.pixel edge detection
  • Robust – Extensive set of contraints to improve ransac point / solution selection
  • Perspective – EllipseFit fits circles with perspective properly
  • Flexible – Option to set minimuym number of points to %
  • Fast – Multiple CircleFinder2D can be processed in parallel using the Scorpion Tool Threading All the search results are available for investigation to understand the circle fitting process.
  • Advanced – The results can be used for validation and verification in 3D space increasing the accuracy and robustness of a Scorpion 3D Stinger system.

The CircleGauger tool is used when you need to gauge a circle in detail. The CircleSegmentor tool finds multiple circles in a scene.


Reference - Reference system selection

Trace lines - the tool's region of interest

  • Center-x - center x of radial trace line
  • Center-y - center y of radial trace line
  • Sector angle - staring angle
  • Sector width - width in degrees
  • Angle step - in degrees - a higher number reduces the number of trace lines
  • Nominal radius - ROI center
  • Start point - inner ROI offset from nominal radius
  • End point - outer ROI offset from nominal radius
  • Trace line width (pixels) - default 0
  • Trace step (pixels) - default 1

Note: A trace line width equal 3 means that each point of the trace line is calculated using the pixel value. It is recommended to increase the traceline width to improve edge detection in low contrast conditions

Point & Click Clipboard Support

The ROI can be managed by the buttons

  • Paste - paste the ROI from the image to the scorpion clipboard
  • Copy - copy the ROI to the image from the scorpion clipboard

Point & Click Clipboard Support

The first point of the line defines the origo of the radial tracecomb. The second point defines the tracecomb. To edit length and width of tracecomb used the tool's fields.

One point will change origo of the radial tracecomb.


Trace line samples dialog - a helper window to set trace line filter parameters and thresholds

  • Middle - show the middle trace line
  • Middle+edges - shows the first, middle and last traceline
  • Selection - show the selected trace lines
  • Line indices - traceline selection
    • example: 2,3,12-15
    • example: 1 3 5 7


  • Show trace line popup - activates a modeless traceline window

Example tracelines - Middle+edges is selected



  • Smooth base - 3 is normally a good value
  • Smooth counter - 1 default - given i pixels
    • The smoothing increasing with higher values
  • Differentiation
    • 0 - give threshold
    • 1 - 1. order differentiation - the derivative - default normally used
    • 2 - 2. order differentiation
  • Mode - Peaks are default. Threshold is only used when Differentiation is set to 0.

Edge Detection

  • Polarity - Dark to light | Light to dark | All transitions
  • Threshold - value lower values means more sensitivity
  • Edge filter - Largest gradient | All points | First point | Last point
    • The filter is used to reduce the number of edge points found
  • Remove points close than - used to reduce to the number of edge points - can speed up execution speed
    • Value is specified in pixels of reference coordinates

Arc Fit

  • Fit tolerance - points outside tolerance is not accepted
    • Tolerance given in pixels or reference coordinates
    • More information - Line fit.
  • Goodness (points) - minimum number of points fitted to circle to be accepted

Arc search parameters

  • Max search count - Number of iterations to find a circle
  • Match Select - Most points | Best match | First match
    • Most points - the most robust circle section criteria
    • Best match - picks the circle with the best fit
    • First match - picks the first circle accepted by Arc Fit criteria

String result

  • Create string result with edge points coordinates - result generated when active




  • Min - minimum radius to accept circle
  • Max - maximum radius to accept circle

Note : Constraints can be active and the constraint can be inverted


  • Min - minimum gradient to accept circle
  • Max - maximum gradient to accept circle

Note : Constraints can be active and the constraint can be inverted



Center (x,y)

Coordinates of the circle’s center point


The circle radius




RMS-value of the line-fit; average deviation (the lower, the better)

Circle coverage





The center of the circle


The found circle

Edge points

The found edge points


Fitted points


Region Of Interest

Trace lines

Trace lines

ExecuteCmd support
- more information executeCmd



Return values


Set Object=ROI;Value=<center/baseline> ok,res Sets the tool's ROI. See Copy/paste ROIs for details.
Get Object=ROI ok,<baseline> Current ROI baseline

Scorpion Vision Version XII : Build 646 - Date: 20170225
Scorpion Vision Software® is a registered trademark of Tordivel AS.
Copyright © 2000 - 2017 Tordivel AS.